Skip to main content
An Automation is a dashboard-managed definition that specifies its agent, wait steps, calling behavior, retry rules, branching, and downstream actions. The REST API lists summaries and creates Automation runs; it does not redefine those behaviors in a request.

Select an active Automation

GET /automations?status=active returns organization-visible summaries with id, name, description, status, and input_fields. Use the returned id as automation_id. The catalog is read-only through this API.

Understand input declarations

In the current API version, input_fields is empty:
When input_fields is empty, omit input from POST /automation-runs or send {} only. Do not send undeclared names.

Start a run

POST /automation-runs accepts one active automation_id and one existing or inline contact reference. It does not accept an agent override, timing override, retry rule, or branch choice. The response is an asynchronous Automation run API resource. Only if a later API response returns a nonempty input_fields declaration may a client send exactly those named fields. The declaration returned by the API is authoritative.

Track and cancel

Retrieve the run until status is terminal. A second active run for the same Automation and contact can return 409 duplicate_active_run with the existing run ID in safe details. Cancellation prevents queued work from starting or marks a nonterminal run cancelled between step boundaries. It does not interrupt a step already executing, and external effects remain best-effort. See Status lifecycles for every API-visible state.