Skip to main content

ActionFlow Requirements

What validateFlow and Flow Requirements actually check before a run starts. Missing start node, credentials, model, and required inputs.

ActionFlow requirements

A graph can sit on the canvas with unconnected nodes. Execution only validates nodes reachable from the start node.

Two surfaces report problems:

  1. Flow Requirements (Actionflow Studio bottom bar): missing named connections on connected nodes. Shown only when something is missing. Opens the add-connection modal.
  2. validateFlow: runs before studio, dashboard, API, and webhook enqueue. Invalid graphs return 400 with validation errors.

There is no separate publish/lint pipeline, no browser-version matrix, and no plan-based API rate table in this product surface.

What validateFlow checks

On the connected subgraph:

  1. Flow JSON has nodes and edges arrays, each node has id, type, and data.
  2. At least one start node (Start, Start Scheduled, or Start Subflow).
  3. Other nodes are chained from that start node (execution edges).
  4. Connected nodes are enabled.
  5. Connected nodes that need a credential have a named organization connection.
  6. Connected AI nodes have a service and model.
  7. Connected nodes have required inputs filled, mapped, or supplied as run inputs.

Unconnected nodes are skipped. Type mismatches are not a separate lint catalog: you wire handles in the editor.

Empty required fields are allowed at design time. They become {nodeId}_{inputName} keys on Flow inputs, POST /api/runs, and flow webhooks.

Start node

Use one start node. Multiple start nodes are not a supported graph shape.

Start nodes do not take upstream inputs. Start has no schedule fields. Start Scheduled is a different node. Webhook and API are not start-node types.

Credentials

See Credential management. Flow Requirements lists missing connections. It does not test SMTP, warn 7 days before OAuth expiry, or compare Slack scopes.

Flow status

New ActionFlows are passive. Settings → Set to active is required before dashboard runs, schedules, and inbound webhooks. A webhook POST to a passive flow returns 409 (Flow is passive).

Active-flow count can hit a plan quota. The app then asks you to set another flow to passive or upgrade.

What this is not

These items appear in older marketing copy and are not validateFlow rules:

  • Email / API / Webhook start-node types
  • Circular-graph lint with a "left-to-right only" error
  • 50 MB file schema, 1,000,000 character text caps, or 10,000-item arrays as platform validators
  • Free/Pro/Enterprise request-per-hour tables
  • "Test in Playground" as a requirement gate

File size for artifacts is 25 MB (MAX_ARTIFACT_BYTES). Plan maxFileSizeLimit can also cap uploads. See ActionFlow artifacts.

On this page