Skip to main content
This quickstart builds a workflow that calls a contact with one of your agents, ends successfully when the call completes, and retries up to three times with a 2-minute gap when the contact is busy or doesn’t answer. You need an existing agent — grab its agent_id from the dashboard or the List Agents API.
1

Create the workflow

Create the container with the Create Workflow API. It starts with an empty draft at revision 0:
2

Save the definition

Save the graph with the Save Draft API. expected_revision is the revision you last read — 0 for a fresh workflow — and each save returns the next one.The graph: start routes to the agent call. A completed call ends as reached; a busy or unanswered call goes to the retry node, which re-runs the call up to 3 times, 2 minutes apart, before giving up as unreachable. Anything unhandled falls through to the workflow-wide on_no_match ending.
A stale expected_revision returns 409 revision_conflict with the current_revision — re-read the draft and retry. This protects you when several editors (or the dashboard canvas) touch the same draft.
3

Validate

Check the graph without mutating anything using the Validate API. Issues with severity error block publish; warnings do not.
4

Publish

Freeze the draft as version 1 with the Publish API. Publishing opens a fresh draft at revision 0 for future edits:
5

Run one contact

Run a contact through the latest published version with the Run Workflow API. This places a real call.
reference_id is the contact’s identity: running it again returns 409 duplicate_run with the existing execution_id, so the call is safely retryable. To run many contacts at once, use a campaign instead.
6

Poll the execution

Follow the contact with the Get Execution API until status is terminal (completed, failed, cancelled or aborted):
termination_reason is the label of the end node the contact reached, and nodes replays the exact path through your graph.

Next Steps

Nodes

Add extraction, API and WhatsApp steps to the sequence

Conditions and variables

Branch on extracted values, API responses and arithmetic

Campaigns

Run this workflow over a CSV of contacts

Workflow APIs

The full API reference