Create workflow
<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>
Creates a workflow and starts it running.
The new workflow is active immediately, so a scheduled trigger begins firing on its schedule and an event trigger starts listening as soon as this returns. Create it, then call Toggle workflow status if you want it paused instead.
A workflow's name is unique per app across everything that is not archived. Reusing a name is rejected.
This is only allowed from the app's main branch.
<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time. Send only the fields documented here. Other request fields are not supported and their behavior can change.</Warning>
Path parameters
ID of the app whose workflows you want to work with.
ID of the app whose workflows you want to work with.
Request body
Example request
{
"name": "Email me new signups",
"description": "Sends an email whenever a User record is created.",
"definition": {
"do": [],
"document": {
"dsl": "1.0.0",
"name": "notify",
"version": "1.0.0"
}
},
"trigger": {
"config": {
"cron_expression": "0 9 * * *",
"timezone": "UTC",
"trigger_type": "scheduled"
}
},
"change_summary": "Initial version"
}Response
The created workflow.
Example response
{
"id": "68b1c0d4e7b91d003c45a1f2",
"app_id": "6820f3a4e7b91d003c45a1f2",
"file_key": "email-me-new-signups",
"name": "Email me new signups",
"description": "Sends an email whenever a User record is created.",
"status": "active",
"status_reason": "consecutive_failures",
"current_version_id": "9f2c1a7b3e5d84f60c1b2a9e7d4f8c3b6a5e2d1f0c9b8a7e6d5c4b3a2f1e0d9c",
"trigger": {
"config": {
"cron_expression": "0 9 * * *",
"timezone": "UTC",
"trigger_type": "scheduled"
}
},
"app_type_context": {
"anchor_message_id": "68b1c0d4e7b91d003c45a1f2",
"conversation_id": "0195f2a1-4c3e-7b21-9f0d-2a5c8e1b4d77"
},
"last_run_at": "2026-08-25T09:12:44Z",
"last_run_status": "success",
"total_runs": 48,
"successful_runs": 44,
"failed_runs": 3,
"created_date": "2026-07-02T11:04:00Z",
"updated_date": "2026-08-20T16:31:00Z",
"created_by": "you@example.com",
"definition": {
"do": [],
"document": {
"dsl": "1.0.0",
"name": "notify",
"version": "1.0.0"
}
}
}Changes
Changed in 1 of the 14 revisions of this API.1
- ○
added the non-success response with the status
response-non-success-status-added
This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ○