Skip to content

Workflows

List workflow triggers

List the schedules, polling triggers, internal-event triggers, and webhooks the live deployment serves, including disabled ones, with their failure counts. Requires workspace read access. Schedules and polling triggers disable themselves after 100 consecutive failures; a `webhook` trigger's failures happen at the sender, so its `failedCount` stays 0. Empty while the workflow is not deployed. Returns one page; `nextCursor` is always null. OAuth scope: `api:read`.

GET/api/v2/workflows/{workflowId}/triggers

List the schedules, polling triggers, internal-event triggers, and webhooks the live deployment serves, including disabled ones, with their failure counts. Requires workspace read access. Schedules and polling triggers disable themselves after 100 consecutive failures; a webhook trigger's failures happen at the sender, so its failedCount stays 0. Empty while the workflow is not deployed. Returns one page; nextCursor is always null.

OAuth scope: api:read.

Authentication

Send a personal or workspace API key in X-API-Key. See key types and access; operations that reject workspace keys say so in their description.

Send X-API-Key in the request header.

Alternatively

Send a Sim OAuth access token in Authorization: Bearer. See OAuth authentication and scopes.

Authorization: Bearer YOUR_ACCESS_TOKEN

Required scopes: api:read

OAuth flows
json
{
  "authorizationCode": {
    "authorizationUrl": "https://www.sim.ai/api/auth/oauth2/authorize",
    "tokenUrl": "https://www.sim.ai/api/auth/oauth2/token",
    "refreshUrl": "https://www.sim.ai/api/auth/oauth2/token",
    "scopes": {
      "api:read": "Read your workspaces, workflows, files, tables, and logs",
      "api:write": "Read, create, change, run, and delete resources in your workspaces",
      "offline_access": "Stay signed in without asking again"
    }
  }
}

OAuth scope: api:read.

Path parameters

workflowIdstringRequired

Unique workflow identifier.

minLength
1

Responses

200

The live deployment's triggers.

object

Every trigger the live deployment serves.

2 fields
dataarrayRequired

Items in the current page.

Schema details
Array itemobject

Health and enablement of one trigger the live deployment serves.

12 fields
blockIdstringRequired

Trigger block in the deployed workflow.

kindstringRequired

How the trigger fires: schedule on a cron, polling when Sim polls the source, event on an event raised inside Sim, webhook when an external sender delivers to its URL.

enum
["schedule","polling","event","webhook"]
providervalueRequired

Trigger provider, e.g. gmail or github; null for schedules.

Schema details

Any of

Option 1string
Option 2null
enabledbooleanRequired

Whether the trigger currently fires.

statusstringRequired

disabled after a manual disable or an automatic one following repeated failures. completed applies only to schedules that have no runs left.

enum
["active","disabled","completed"]
failedCountintegerRequired

Consecutive failures since the last success; the trigger disables itself at 100. Always 0 for webhook and event triggers.

minimum
0
maximum
9007199254740991
lastFailedAtvalueRequired

ISO 8601 timestamp of the most recent counted failure, or null.

format
date-time
Schema details

Any of

Option 1string
Option 2null
nextRunAtvalueRequired

ISO 8601 timestamp of the next scheduled run; null when disabled and for non-schedules.

format
date-time
Schema details

Any of

Option 1string
Option 2null
lastRanAtvalueRequired

ISO 8601 timestamp of the last scheduled run; null for non-schedules.

format
date-time
Schema details

Any of

Option 1string
Option 2null
cronExpressionvalueRequired

Cron expression of a schedule; null for non-schedules.

Schema details

Any of

Option 1string
Option 2null
timezonevalueRequired

IANA timezone the cron expression runs in; null for non-schedules.

Schema details

Any of

Option 1string
Option 2null
urlvalueRequired

Delivery URL of a webhook trigger; null for other kinds and for providers on a shared endpoint.

Schema details

Any of

Option 1string
format
uri
Option 2null

Additional properties are not allowed.

nextCursorvalueRequired

Always null. This list has no cursor or limit parameters; see the operation for inventory limits.

Schema details

Any of

Option 1string
Option 2null

Additional properties are not allowed.

Response example 1

json
{
  "data": [
    {
      "blockId": "blk_01J8ZK3QW4M6X2R9T7B5C0V4",
      "kind": "schedule",
      "provider": null,
      "enabled": false,
      "status": "disabled",
      "failedCount": 100,
      "lastFailedAt": "2026-08-09T18:04:11.000Z",
      "nextRunAt": null,
      "lastRanAt": "2026-08-09T18:04:00.000Z",
      "cronExpression": "0 * * * *",
      "timezone": "UTC",
      "url": null
    }
  ],
  "nextCursor": null
}

Response headers

X-RateLimit-Limitinteger

Maximum requests allowed in the current window.

minimum
0
maximum
9007199254740991
X-RateLimit-Remaininginteger

Requests remaining in the current window.

minimum
0
maximum
9007199254740991
X-RateLimit-Resetstring

ISO 8601 timestamp when the current rate-limit window resets.

format
date-time
pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
Was this helpful?
Suggest an edit