Core Concepts

Workflow Automation

Deterministic execution of multi-step pipelines including LLM reasoning, HTTP calls, file operations, branching, approvals, agent delegation, and external tool integrations.

How Workflows Work

Workflows are defined as directed graphs of steps and edges. Each step represents a discrete action, which can be an AI agent reasoning task, a system tool execution, a control flow operation, or an external MCP tool call. Edges define execution order and branching paths.

Step-by-Step Execution

Every step is executed in sequence with full input/output validation. If a step fails, the entire workflow lifecycle is managed according to defined error policies.

Structured Data Flow

Each step receives a shared execution context. Outputs from previous steps are automatically injected into later steps using template variables such as {{last}} or {{steps[n].output}}.

Graph-Based Branching

Edges define execution paths. Condition and switch nodes route to different branches. Parallel nodes fan out to concurrent branches joined later by join nodes.

Execution Lifecycle

  1. A workflow is created and stored with its step and edge definitions.
  2. When triggered (manual, scheduler, webhook, or public API), a new task is generated.
  3. The task is picked up by the Step Runner and executed sequentially or in parallel according to the graph.
  4. Each step produces an output that is stored and passed forward.
  5. Execution logs are persisted for inspection and debugging.
  6. The workflow completes with a final status: completed, failed, rejected, or pending approval.

Supported Step Types

The platform supports 13 registered step handlers and 8 built-in tools. Steps are configured in the visual builder or defined as JSON.

LLM Reasoning & Chat
HTTP Request (GET/POST/PUT/DELETE)
Email Automation (SMTP/IMAP)
File System (Read/Write/Append)
Browser Automation (Playwright)
Delay & Control Steps
Document Query (RAG)
Condition (if_true / if_false)
Switch (multi-case routing)
Parallel / Join
Human Approval
Agent Call
MCP Tool Call

Example Definition

workflow.json
{
  "id": "ai-research-agent",
  "name": "AI Research Agent",
  "description": "Automatically research a topic and summarize key findings.",
  "metadata": {
    "steps": [
      {
        "stepId": "research",
        "type": "http",
        "method": "GET",
        "url": "https://api.example.com/search?q={{input.topic}}"
      },
      {
        "stepId": "summarize",
        "type": "llm",
        "prompt": "Summarize these results: {{steps.research.output}}",
        "useMemory": false,
        "memoryTopK": 5
      },
      {
        "stepId": "send_email",
        "type": "email",
        "to": "user@example.com",
        "subject": "Research Summary",
        "body": "{{steps.summarize.output}}"
      }
    ],
    "edges": [
      { "id": "e1", "source": "research", "target": "summarize" },
      { "id": "e2", "source": "summarize", "target": "send_email" }
    ]
  }
}

Data Flow & Templating

Workflow steps communicate through a shared execution context. Each step can reference previous outputs using template variables, enabling powerful data pipelines without writing custom glue code.