Workflow

Create Workflow

Changed on

Create a new standalone automation workflow. New workflows are created in the draft state (disabled). Add triggers and steps, then call POST /workflows/{id}/enable to make it live.

post/workspaces/{workspace_id}/workflows

Request

Path parameters

workspace_idstring required

Request body

Example request

{
  "workflow": {
    "name": "New Lead Nurture"
  }
}

Response

Created

idinteger

Workflow ID

public_idstring nullable

Obfuscated workflow ID

workspace_idinteger

Integer ID of the workspace that owns this workflow

namestring

Human-readable workflow name

status'draft' | 'live' | 'archived'

Derived status. live = enabled with at least one active trigger; archived = archived; otherwise draft.

disabledboolean

True when the workflow is disabled (not executing runs).

archivedboolean

True when the workflow has been archived.

run_type'asynchronous' | 'synchronous' | 'one_time'

How the workflow handles concurrent runs for the same contact. API-created workflows start as asynchronous; change it with Update Workflow.

active_runs_countinteger

Number of currently active (in-progress) runs.

completed_runs_countinteger

Cumulative count of completed runs.

created_atstring date-time

Creation timestamp

updated_atstring date-time

Last update timestamp

Example response

{
  "id": 101,
  "public_id": "WfAbCd",
  "workspace_id": 5001,
  "name": "New Lead Nurture",
  "status": "live",
  "disabled": false,
  "archived": false,
  "run_type": "asynchronous",
  "active_runs_count": 12,
  "completed_runs_count": 340,
  "created_at": "2025-06-01T00:00:00.000Z",
  "updated_at": "2025-06-10T00:00:00.000Z"
}

Changes

    • info

      for the path request parameter workspace_id, the type was generalized from integer to string

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status