Skip to main content
A workflow is a reusable template: how candidates are reached and when. Create it once; every job mandate points at it.

How workflows work

  • Defaults for jobs. default_methods are the checks a mandate runs when it sends no methods of its own. Changing them later affects only mandates that send none; existing mandates keep theirs.
  • Channels and timing. delivery picks WhatsApp, voice call and SMS backup; Record switches all three on by default, as it does in the playground. schedule is required: the daily send window, the days, the time zone and how often to retry.
  • Verification methods. Every workflow answers with verification_methods. Record switches both on for every workflow; you cannot set or change them.
  • Changing. PATCH changes only the fields you send. Send start_time and end_time together; other schedule keys merge, and days is replaced as a whole list.
  • Archiving. DELETE archives the workflow; nothing is erased. It answers 409 WORKFLOW_IN_USE while the workflow still has open mandates.
  • Playground workflows. GET /workflows lists every workflow in your organisation, including ones made in the Record playground. is_external is true for the ones made through the API. You can read all of them, but only change the ones you created through the API; the others answer 403 FORBIDDEN.

Endpoints

Create a workflow

POST /workflows Create the template your jobs run under: how candidates are reached, when, and which checks run by default. Only name and schedule are required. Returns workflow_id. Scope: workflows:write · Idempotency-Key: required
Save data.workflow_id for the next step. Can also return idempotency errors (IDEMPOTENCY_KEY_REQUIRED, IDEMPOTENCY_IN_PROGRESS, IDEMPOTENCY_KEY_REUSED) and the common errors. Full schema

List workflows

GET /workflows List your organisation’s blue-collar workflows (made here or in the playground). Scope: workflows:read or workflows:write
Can also return the common errors. Full schema

Get a workflow

GET /workflows/{workflow_id} Get one workflow by its workflow_id. Scope: workflows:read or workflows:write
Can also return the common errors. Full schema

Update a workflow

PATCH /workflows/{workflow_id} Change only the fields you send (send at least one), for example the send window. Fields not listed below cannot be changed. Scope: workflows:write · Idempotency-Key: optional
Can also return idempotency errors (IDEMPOTENCY_IN_PROGRESS, IDEMPOTENCY_KEY_REUSED) and the common errors. Full schema

Archive a workflow

DELETE /workflows/{workflow_id} Retire a workflow you no longer use. It is archived, not erased. Scope: workflows:write · Idempotency-Key: optional
Can also return idempotency errors (IDEMPOTENCY_IN_PROGRESS, IDEMPOTENCY_KEY_REUSED) and the common errors. Full schema