Partially update a workflow. Only the fields you provide are changed.
Overview
The Update Workflow endpoint performs a partial update (PATCH) on a workflow. Omit fields you don’t want to change. Use it to toggle the enabled flag, promote a draft from DRAFT to PUBLISHED, or replace the workflow definition.
To modify the workflow definition as a draft without touching the live version, use Upsert Workflow Draft instead.
Authentication
Requires a valid API key. No special permission scope is needed beyond a valid key.
Key Features
- Partial Updates: Only the fields you provide are changed
- Enable/Disable: Toggle whether the workflow runs
- Status Transitions: Promote from
DRAFT to PUBLISHED
- No Credit Cost: This endpoint is free to use
# Enable a workflow
curl -X PATCH "https://api.trigify.io/v1/workflows/wf_abc123" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "enabled": true }'
# Publish a draft
curl -X PATCH "https://api.trigify.io/v1/workflows/wf_abc123" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "status": "PUBLISHED" }'
Path Parameters
| Parameter | Type | Description |
|---|
id | string | The unique workflow ID |
Request Body
All fields are optional. Omit any field you don’t want to change.
| Field | Type | Description |
|---|
name | string | Workflow name (1-255 characters) |
description | string | Free-form workflow description |
workflow | object | Workflow definition (JSON) with trigger, actions, and edges. See Create Workflow for the full shape |
enabled | boolean | Whether the workflow is active |
status | string | Workflow status. One of DRAFT or PUBLISHED |
The linked saved search (social_saved_search_id) cannot be changed via this endpoint. To replace the link, delete and recreate the workflow with a different search_id.
Example Response
{
"message": "Workflow updated successfully",
"success": true,
"data": {
"id": "wf_abc123",
"name": "Enrich and notify (v2)",
"description": "Enrich profiles and post them to Slack",
"workflow": {
"trigger": { "kind": "workflows/new-post", "inputs": {} },
"actions": [
{ "id": "agent-1", "kind": "generic_agent", "name": "Summarise Post" },
{ "id": "slack-1", "kind": "slack_send_channel_message", "name": "Send Summary" }
],
"edges": [
{ "from": "$source", "to": "agent-1" },
{ "from": "agent-1", "to": "slack-1" }
]
},
"enabled": true,
"status": "PUBLISHED",
"social_saved_search_id": "ss_xyz456",
"created": "2026-04-01T10:00:00.000Z",
"updated": "2026-04-14T11:30:00.000Z"
}
}
Response Fields
The response matches the shape of Get Workflow:
| Field | Type | Description |
|---|
message | string | Human-readable status message |
success | boolean | true on success |
data | object | The updated workflow |
Credit Usage
This endpoint is free and does not consume credits.