Workflows
Trigger-and-action automations: when something happens, do something.
A workflow is a directed graph of triggers and actions over a single object type (CONTACT, COMPANY, DEAL, TICKET). Build the graph in the UI; the API today covers the workflow shell.
Create a workflow
Create a workflow shell. Activate after wiring up its steps in the app UI.
Required scopes:
sequences.manageRequest body
| Name | Type | Description |
|---|---|---|
namerequired | string | Workflow name. |
description | string | Optional description. |
objectTyperequired | string | CONTACT | COMPANY | DEAL | TICKET. |
isActive | boolean | Active flag. Defaults to false. |
Request body
{ "name": "On new contact: tag as lead", "objectType": "CONTACT" }Responses
201 CreatedCreated.example { "id": "wf_5m2j3k…", "name": "On new contact: tag as lead", "description": null, "objectType": "CONTACT", "isActive": true, "createdAt": "2026-05-18T14:00:00Z" }
Code samples
curl -X POST https://app.contactfollowup.com/api/workflows \
-H "Authorization: Bearer $HEARTHNOTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "name": "On new contact: tag as lead", "objectType": "CONTACT" }'List workflows
Every workflow visible to the caller.
Required scopes:
sequences.manageResponses
200 OKWorkflows.example { "workflows": [{ "id": "wf_5m2j3k…", "name": "On new contact: tag as lead", "description": null, "objectType": "CONTACT", "isActive": true, "createdAt": "2026-05-18T14:00:00Z" }] }
Code samples
curl -X GET https://app.contactfollowup.com/api/workflows \
-H "Authorization: Bearer $HEARTHNOTE_TOKEN" \
-H "Content-Type: application/json"