Skip to main content
A workflow is a directed graph where nodes execute in sequence. Each node performs one action: sending a message, waiting for input, routing logic, running code, or handing off to a human. Workflows run on a trigger, most often an inbound WhatsApp message.
More in Examples.

Node categories

Start node - Entry point
  • Triggers when a message arrives or when the API calls the workflow
  • Every workflow has exactly one Start node
  • Automatically advances to the first connected node
Action nodes - Execute and continue
  • Send messages (text, templates, interactive)
  • Execute functions
  • Call webhooks
  • Set workflow variables
  • Call other workflows
  • Transfer to human agents (handoff)
  • Execute immediately and advance to the next node
Wait nodes - Pause for input
  • Halt execution until the user responds
  • Store the response in {{last_user_input}} or a custom variable
  • Resume when a message arrives
Decide nodes - Route execution
  • Branch to different paths
  • Use AI to interpret intent, or custom function logic
  • The returned label determines which edge to follow
Agent nodes - AI conversations
  • Multi-turn conversations with tool access
  • Can call webhooks and functions
  • Stay at the node until the agent calls complete_task
  • New user messages are injected automatically during the conversation

Execution flow

Execution follows the edges between nodes and continues until:
  • A Wait node pauses for user input
  • An Agent node is reached, staying there until it calls complete_task
  • A Handoff node stops the run and transfers to a human
  • No connected nodes remain, and the workflow completes

Two ways to build

Build in the canvas

Drag nodes, connect them, and publish from the dashboard. No setup required.

Build locally

Pull workflows into a repo, edit them as JSON or TypeScript, and push them back.
Both produce the same workflow. You can start in the canvas and pull it into code later, or push from code and keep editing in the canvas.

Learn more

Step types

Every node type and its configuration

Variables and context

Access user data and workflow state with template variables

Triggers

Start workflows from messages or API calls

Functions

Serverless JavaScript your workflows can call