Get a workflow
Get one workflow, optionally with its definition.
GET
https://api.centerfy.ai/webhooks/inbound/workflows/:id Headers
| Header | Required | Value | Description |
|---|---|---|---|
x-api-key | Yes | your sub-account API key (cfy_…) | Authenticates the request; or use Authorization: Bearer <key>. |
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | Yes | The workflow id. |
Query parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
include | string | No | — | Set to definition to also return the workflow’s definition (trigger_config and workflow_data). |
Example
curl -X GET "https://api.centerfy.ai/webhooks/inbound/workflows/{id}" \
-H "x-api-key: $CENTERFY_API_KEY" import { CenterfyClient } from "@centerfy/sdk";
const centerfy = new CenterfyClient({ apiKey: process.env.CENTERFY_API_KEY! });
const result = await centerfy.workflows.get("<workflowId>");
console.log(result); centerfy workflows get <workflowId> MCP tool: centerfy_workflows_get (see MCP server)
Response
{
"status": "success",
"workflow": {
"id": "5a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d",
"name": "New lead follow-up",
"description": "Text and call new leads within 5 minutes",
"folder_id": null,
"folder_name": null,
"trigger_type": "contact_created",
"trigger_types": [
"contact_created"
],
"is_active": true,
"deactivated_at": null,
"created_at": "2026-09-20T10:00:00.000Z",
"updated_at": "2026-10-01T08:30:00.000Z",
"definition": {
"trigger_config": {
"type": "contact_created"
},
"workflow_data": {
"nodes": [],
"edges": []
}
}
}
}Errors
404— if the workflow is not in this sub-account or has been deleted.
Notes
definition is only present with include=definition.