Remove a contact
Remove a contact from a workflow by cancelling all of its live executions (pending, running, waiting, waiting_for_reply or paused). No further steps run for that contact.
POST
https://api.centerfy.ai/webhooks/inbound/workflows/:id/remove-contact 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. |
Body parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
contact_id | string (uuid) | Yes | — | The contact to remove. |
reason | string | No | — | Recorded with the cancellation (max 500 characters). Defaults to “Contact removed from workflow via API”. |
Request body
{
"contact_id": "3f1c2a9e-7b4d-4c8a-9e2f-1a2b3c4d5e6f",
"reason": "Customer booked a call"
}Example
curl -X POST "https://api.centerfy.ai/webhooks/inbound/workflows/{id}/remove-contact" \
-H "x-api-key: $CENTERFY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contact_id": "3f1c2a9e-7b4d-4c8a-9e2f-1a2b3c4d5e6f",
"reason": "Customer booked a call"
}' import { CenterfyClient } from "@centerfy/sdk";
const centerfy = new CenterfyClient({ apiKey: process.env.CENTERFY_API_KEY! });
const result = await centerfy.workflows.removeContact("<workflowId>", {
"contact_id": "3f1c2a9e-7b4d-4c8a-9e2f-1a2b3c4d5e6f",
"reason": "Customer booked a call"
});
console.log(result); centerfy workflows remove-contact <workflowId> '{"contact_id":"3f1c2a9e-7b4d-4c8a-9e2f-1a2b3c4d5e6f","reason":"Customer booked a call"}' MCP tool: centerfy_workflows_remove_contact (see MCP server)
Response
{
"status": "success",
"removed": 1,
"execution_ids": [
"7c3d4e5f-6a7b-4c8d-8e9f-1a2b3c4d5e6f"
]
}Errors
400— if contact_id is not a UUID.404— if the workflow or contact is not in this sub-account.502— if a cancellation fails; removed and execution_ids then list the executions already cancelled.
Notes
removed is 0 when the contact has no live execution in this workflow.