Introduction - SuperAI Flows

What you can build

Process documents at scale

Extract data from invoices, contracts, and forms with AI-powered workflows.

Chain API operations

Connect multiple services, handle retries, and manage complex business logic.

Automate business processes

Build durable workflows that handle failures gracefully and resume automatically.

Why developers choose SuperAI Flows

Built for reliability

Enterprise-ready

Core concepts

Flows

A Flow is a workflow definition — a declarative YAML file that specifies tasks, dependencies, and execution logic. Flows are versioned, allowing you to iterate safely. Why developers love our YAML definitions:

Reference task outputs using simple syntax like {{task_name.output.field}}, and the platform handles dependencies, retries, and data flow automatically. See the quickstart for a complete YAML workflow example.

Flow executions

A Flow Execution is a single run of a flow with specific input data. Each execution has a unique ID and tracks status through its lifecycle: queuedrunningcompleted or failed.

Tasks

Tasks are the building blocks of flows. Each task performs a single operation (API call, data transformation, AI inference) and can depend on outputs from previous tasks.

Task executors

Task Executors are pre-built or custom Python functions that define how tasks run. SuperAI provides executors for common operations like HTTP requests, LLM calls, and data processing.

Integration patterns

Synchronous (polling)

Create an execution, poll for completion, retrieve results:

# 1. Create execution
EXEC_ID=$(curl -X POST https://flows.super.ai/api/flow-executions \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"flow_id":"$FLOW_ID","input":{}}' | jq -r .id)

# 2. Check status
curl https://flows.super.ai/api/flow-executions/$EXEC_ID \
  -H "Authorization: Bearer $TOKEN" | jq .status

# 3. Get results
curl "https://flows.super.ai/api/task-executions?flow_execution_id=$EXEC_ID" \
  -H "Authorization: Bearer $TOKEN"

Best for: Testing, prototyping, low-volume workloads.

Asynchronous (webhooks)

Add a Webhook Notification task to receive real-time updates when referenced tasks produce output:

{
  "event_type": "flow_execution.completed",
  "flow_execution_id": "df77dc65-909b-430e-bff1-9e9ecf315a80",
  "status": "completed",
  "timestamp": "2025-01-15T10:32:45Z",
  "data": {
    "task_outputs": {
      "extract_invoice_data": {
        "invoice_number": "INV-0052465571",
        "total_amount": 2435.00
      }
    }
  }
}

Key benefits:

Best for: Production workloads, high-volume processing, event-driven architectures. Configure webhook tasks in the Flow Editor at flows.super.ai.

API design philosophy

Predictable and consistent

Built for forward compatibility

Your integrations won’t break. We follow strict versioning rules. Non-breaking changes (safe, no action required):

Breaking changes (requires migration):

All breaking changes are announced at least 15 days in advance with migration guides.

Client requirements

Your API clients must gracefully handle additional fields in responses. We may add new fields to any response object without advance notice — design your parsers to ignore unknown fields.