Skip to main content
This guide builds a real, multi-step flow against a live integration: it creates a contact list in Five9, then adds a contact to that list — with the second step reading the first step’s output through an expression. You’ll go end to end: find an action in the catalog, store secrets as a credential, author and activate a definition, trigger it, and inspect the results.
You’ll need an API key (see Authentication) and Five9 admin credentials. Export both:
1

Find your action in the catalog

The catalog is the public registry of platforms, services, and actions you can use in flows. No authentication required. Start from the platform and drill down:
The last call lists actions like:
Each action’s parameters describe what a task must pass, and output_schema describes what it returns. This flow uses two actions: five9__configuration_service__create_list and five9__configuration_service__add_to_list.
2

Create a credential

A credential stores the secrets a task uses to reach an external platform. You supply the platform, the authentication method and the material — there is no service to pick, because one credential serves every compatible Five9 service:
GetDialed verifies the material against Five9 and discovers which Five9 Domain it belongs to, so the create doubles as a liveness check — a 400 means the credentials could not be verified and nothing was stored. The response is the created credential; note its id:
You can re-check a saved credential at any time — after a rotation, for instance:
A passing test returns {"success": true, ...} with the measured latency. A failing one returns success: false and an error code such as AUTH_FAILED — fix the credentials before continuing.
3

Author the definition

A flow definition declares inputs, then steps that run in order. Each step contains one or more tasks; every task names the catalog action it runs (platform_id, service_id, action_id) and the credential it runs with.This definition has two steps. Step 1 creates a Five9 list named after the trigger input. Step 2 adds a contact to it — and gets the list name from step 1’s output, not from the input:
Two kinds of expression are doing the work here:Chaining follows the pattern {{<step_id>.<task_id>.output.<field>}}. When a step has exactly one task, the shorthand {{<step_id>.output.<field>}} also works — that’s what’s used above. See Expressions for the full context reference.Expressions are validated when you create or update a definition — a malformed one is rejected immediately with a 422 and an expression_errors list, so you never discover a typo at runtime.The response includes the new definition’s id (e.g. def_a1b2c3d4).
4

Activate it

Only definitions with "status": "active" can be triggered. The example above sets that at creation, so you’re done.If you’d rather iterate on a draft first, omit status (new definitions default to draft) and activate later with PUT /flows/definitions/{id} — a full replacement, so resend the whole body with "status": "active".
5

Trigger it

Every trigger creates a batch; this one carries a single input_data object, so it produces one execution. To fan the same flow out over many records at once, see Trigger with records.
Triggering a draft or archived definition returns 400 with "Cannot trigger definition with status 'draft'. Only active definitions can be triggered."
6

Inspect the results

Follow the batch until its status reaches completed:
Then list its executions and fetch the one execution’s full detail:
The execution’s result is keyed by step_id, so you can see exactly what each step produced — including the list_name that step 2 consumed:
On failure, status is failed and error carries the message. See Batches and executions for the full lifecycle.

Next steps

Trigger with records

Run this flow once per row of a contact file.

Expressions

The full expression context: inputs, variables, step outputs, defaults.

Execution models

Run tasks immediately, on a schedule, in a time window, or on a signal.

Templates

Start from a pre-built definition instead of a blank page.