OpenAgentOpenAgent

Steps & nodes

The node reference: dialogue, knowledge, webhook, notify, transfer, wait, end — plus variable extraction, conditional routes, global nodes, and per-step tools.

View as Markdown

Every step in a workflow is a node of one of these types. Edges between nodes carry labels ("caller wants delivery") that the AI uses to choose the route; webhook nodes can also route mechanically on response values.

Node types

NodeWhat it does
DialogueThe AI speaks for this step — from a per-step prompt, or exact static wording when the words are safety- or brand-critical. Can extract typed variables (below).
KnowledgePins reference material to the step — the menu, the price list, the policy. Only in play on this step, so long documents don't bleed elsewhere.
WebhookCalls any API: method, URL, headers, body with {{variable}} interpolation; response values mapped back into variables via JSON paths; conditional routes on the result (paid → this way, failed → that way). POST /crm/ingest with a Connections key writes a row + deal into the CRM.
Send a notificationEmail, SMS, WhatsApp, or a help-desk ticket — see Notifications.
TransferHands the call to a human number, with context. On chat, hands to the help desk.
Transfer to workflowJumps to another workflow — compose big flows from small ones ("refill requests" as its own flow).
WaitPauses the flow.
EndCloses cleanly with a final line.

Variables

A dialogue step can declare typed variables — {name} (text), {party_size} (number), {is_emergency} (yes/no) — and the AI extracts them from the conversation. Extracted variables flow into every later step: webhook bodies, notification wording, the deal card. Built-ins are always available: the caller's number, the time, the last user message.

Global nodes

A global node listens across the whole flow, not one position in the graph. The canonical one: "caller asks for a person" → transfer. Wherever the conversation is, the escape works. Give every customer-facing flow at least that one.

Per-step tools

Tick a tool on a step and only that step can use it — booking on the booking step, the POS push on the order step, Stripe lookup on the billing step. Tight scope is what keeps tools from firing at the wrong moment.

Static text is a feature, not a fallback

For the shut-off instructions, the allergy disclaimer, the legal line — set the dialogue node to exact wording. The AI reads it verbatim, every time.