Skip to main content
Workflows are the central building block of RCB Automation. Each workflow defines an automated process — a series of actions executed when a trigger fires. The Workflows API lets you manage the full lifecycle of workflows programmatically: create new ones, update their configuration, inspect their status, and remove them when they are no longer needed.

List workflows

Retrieve a paginated list of all workflows in your account.
GET /workflows

Query parameters

page
integer
default:"1"
Page number to retrieve. Starts at 1.
per_page
integer
default:"20"
Number of workflows to return per page. Maximum is 100.
status
string
Filter by workflow status. Accepted values: active, draft, paused, archived.

Response fields

data
object[]
Array of workflow objects.
meta
object
Pagination metadata.

Example

curl --request GET \
  --url 'https://api.rcbautomation.com/v1/workflows?status=active&page=1&per_page=10' \
  --header 'Authorization: Bearer rcb_live_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6'
Response
{
  "data": [
    {
      "id": "wf_9kLmNpQrStUv",
      "name": "Weekly sales report",
      "status": "active",
      "created_at": "2026-02-14T09:00:00Z",
      "updated_at": "2026-03-01T14:22:11Z",
      "run_count": 47
    },
    {
      "id": "wf_3xYzAbCdEfGh",
      "name": "New customer onboarding",
      "status": "active",
      "created_at": "2026-01-05T11:30:00Z",
      "updated_at": "2026-01-20T09:45:00Z",
      "run_count": 312
    }
  ],
  "meta": {
    "total": 2,
    "page": 1,
    "per_page": 10
  }
}

Create a workflow

Create a new workflow. Newly created workflows default to draft status and will not run until they are activated and have at least one trigger attached.
POST /workflows

Body parameters

name
string
required
Display name for the workflow. Must be between 1 and 255 characters.
description
string
Optional description of what the workflow does. Supports plain text up to 1,000 characters.
status
string
default:"draft"
Initial status of the workflow. Accepted values: active, draft. Defaults to draft.

Response fields

id
string
Unique identifier assigned to the new workflow.
name
string
Display name of the workflow.
description
string
Description of the workflow, if provided.
status
string
Current status of the workflow.
created_at
string
ISO 8601 timestamp of when the workflow was created.
updated_at
string
ISO 8601 timestamp of the most recent update.
run_count
integer
Total run count. Always 0 for a newly created workflow.

Example

curl --request POST \
  --url https://api.rcbautomation.com/v1/workflows \
  --header 'Authorization: Bearer rcb_live_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Monthly invoice reconciliation",
    "description": "Pulls invoice data from Stripe and writes a summary to Google Sheets each month.",
    "status": "draft"
  }'
Response (201 Created)
{
  "id": "wf_7pQrStUvWxYz",
  "name": "Monthly invoice reconciliation",
  "description": "Pulls invoice data from Stripe and writes a summary to Google Sheets each month.",
  "status": "draft",
  "created_at": "2026-04-20T10:15:00Z",
  "updated_at": "2026-04-20T10:15:00Z",
  "run_count": 0
}

Update a workflow

Update an existing workflow by its ID. All body parameters are optional — only include the fields you want to change.
PUT /workflows/{id}

Path parameters

id
string
required
The unique identifier of the workflow to update.

Body parameters

name
string
Updated display name for the workflow.
description
string
Updated description. Pass an empty string to clear it.
status
string
Updated status. Accepted values: active, draft, paused, archived.

Response fields

The response returns the full updated workflow object with the same fields as the create response.

Example

curl --request PUT \
  --url https://api.rcbautomation.com/v1/workflows/wf_7pQrStUvWxYz \
  --header 'Authorization: Bearer rcb_live_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6' \
  --header 'Content-Type: application/json' \
  --data '{
    "status": "active"
  }'
Response (200 OK)
{
  "id": "wf_7pQrStUvWxYz",
  "name": "Monthly invoice reconciliation",
  "description": "Pulls invoice data from Stripe and writes a summary to Google Sheets each month.",
  "status": "active",
  "created_at": "2026-04-20T10:15:00Z",
  "updated_at": "2026-04-20T10:48:33Z",
  "run_count": 0
}

Delete a workflow

Permanently delete a workflow. This also deletes all triggers associated with the workflow. This action cannot be undone.
DELETE /workflows/{id}
Deleting a workflow permanently removes it and all its associated triggers. Any webhook registrations tied to this workflow’s runs will also stop receiving events.

Path parameters

id
string
required
The unique identifier of the workflow to delete.

Example

curl --request DELETE \
  --url https://api.rcbautomation.com/v1/workflows/wf_7pQrStUvWxYz \
  --header 'Authorization: Bearer rcb_live_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6'
A successful delete returns 204 No Content with no response body.