For AI agents: the complete documentation index is available at https://a3s-lab.github.io/Flow/en/llms.txt, the full documentation bundle is available at https://a3s-lab.github.io/Flow/en/llms-full.txt, and this page is available as Markdown at https://a3s-lab.github.io/Flow/en/index.md.
A3S FLOW AI Native Workflow Engine

A3S FlowAI Native Workflow Engine

Put Agent tasks, tool calls, human approval, and child workflows on one graph. Every decision and result enters event history. After a process exits, a worker changes, or a run waits for days, execution continues from the last committed position.

Customer support workflowValidated Autosaved
Workflow Start
Workflow
support.triage

Set the workflow ID, accepted input, and execution entry.

0 inputs · 2 outputs · 7 settings
Run Step
Task
risk.review

Run one registered task, retry when needed, and save its result.

2 inputs · 2 outputs · 5 settings
Condition
Rule
result.risk < 0.7

Evaluate a condition and choose the true or false path.

2 inputs · 2 outputs · 4 settings
matchedotherwise
82%
Ready to runReady to run
ENGINE · COMPONENTS · CLI · SKILL

How one node catalog reaches the editor, CLI, and runtime

Flow 1.1 exposes 18 public nodes. Each manifest declares fields, ports, defaults, and runtime binding. React and Vue render from that contract, while the CLI and Skill create and validate documents against it. Only a valid graph reaches the durable engine.

Node manifestsFields, ports, defaults, runtime binding
React and VueNode cards, configuration forms, hooks
CLI and SkillCreate, connect, validate, digest
Graph compilerScopes, cycles, ports, stable order
Durable engineEvents, scheduling, recovery, workers
01DURABLE ENGINE

After process exit, execution continues from committed events

Workflow code reads committed history and returns the next durable decision. Step results, timers, hooks, signals, and child-run state all enter one event stream.

External calls stay inside host tasks. Flow may deliver the same task again, so the host can derive idempotency from the run, node, and attempt identity. If a process exits after the call succeeds, redelivery can recover the original result.

Read the execution model
How one recovery proceedsrun_01J8K4 · seq 18
Read history

Read committed facts in event order.

history.read(run_id)Events 1 through 18 committed
02FRONTEND COMPONENTS

Node cards and configuration forms read the same manifest

Eighteen public nodes cover entry, conditions, tasks, waits, approval, child workflows, run outcomes, and child-canvas containers. Every manifest declares fields, defaults, ports, runtime binding, and durable identity.

React cards and panels consume manifests directly, and the Vue hook manages the same node object. The CLI, Skill, and documentation query that catalog as well, so a field change does not require another hand-written schema.

Open the node workbench
Task executionflow.step
Run Step
Handler
task.run

Run one registered task, retry when needed, and save its result.

2 inputs · 2 outputs · 5 settings
Configuration panel
Run Step

Run one registered task, retry when needed, and save its result.

Step handler
task.run
Step input
A3SFlowExpressionInput
Maximum attempts
IntInput
Retry delay (ms)
IntInput
03AI WORKLOADS

Stable identity constrains Agent task retries

Model calls, MCP tools, business APIs, and human approval enter through host tasks or wait nodes. The host still owns credentials and permissions. Flow stores each decision and confirmed result.

Agent task

The host runs inference or a multi-step Agent and commits the result under stable step identity.

StepCompleted

Tool call

A task invokes a local tool, MCP, or business service and retries with the original input.

StepAttempted

Human approval

A hook suspends the run behind a one-time receipt boundary without holding a worker.

HookReceived

Child workflow

The parent records the request and coordinates independent history, outcome, and cancellation.

ChildWorkflowResolved
04DEVELOPER SURFACES

The same graph works in the browser, scripts, and coding agents

Web editors use the node card and configuration panel directly. Scripts and coding agents query the same manifests through the CLI or Skill. Once nodes are created, one validation and compilation path checks the graph and produces its digest.

React components and hook

One hook holds node configuration and presentation state shared by the card and panel.

Read the React guide
react
import { A3SFlowDagNodePreview,
  A3SFlowDagNodeConfigurationPanel,
  useA3SFlowNode } from '@a3s-lab/flow-ui/react';

const { node, setNode } = useA3SFlowNode({
  id: 'agent-task', type: 'flow.step'
});
05RUNTIME PATH

A workflow definition passes four stages before execution

The authoring graph is checked for fields, ports, scopes, and cycles before compilation into a stable plan. Runtime commands append event history, while schedulers and workers advance only work whose conditions are ready.

01Authoring18 manifests, node cards, configuration panels
02GraphDAG validation, container scopes, semantic digest
03RuntimeTasks, waits, hooks, signals, child runs
04HistoryEvents, snapshots, recovery, sequence conflicts
Memory, JSONL, SQLite, PostgreSQLEmbedded process or shared task queue
START WITH A REAL RUN

Verify the runtime boundary with one real task

The quick start runs a task, appends events, and reads the terminal snapshot. Once the result matches expectations, add durable storage, node components, and production workers.

Build a workflowUnderstand execution