Pipelines
Stage definitions for deals and tickets. One workspace can have many.
Pipelines are scoped per object type. isDefaultpicks which one new records land on when the API caller doesn't specify a pipelineId.
Create a pipeline
Define a new pipeline. Stages are managed through follow-up calls.
Required scopes:
deals.writeRequest body
| Name | Type | Description |
|---|---|---|
namerequired | string | Pipeline display name. |
objectTyperequired | string | DEAL | TICKET. |
isDefault | boolean | Make this the default for its object type. |
displayOrder | integer | Sort order among pipelines. |
Request body
{ "name": "Sales — primary", "objectType": "DEAL", "isDefault": true }Responses
201 CreatedCreated.example { "id": "pl_2k9d4f…", "name": "Sales — primary", "objectType": "DEAL", "isDefault": true, "displayOrder": 0, "stages": [ { "id": "ps_n", "name": "New", "displayOrder": 0 }, { "id": "ps_c", "name": "Contacted", "displayOrder": 1 } ] }
Code samples
curl -X POST https://app.contactfollowup.com/api/pipelines/v2 \
-H "Authorization: Bearer $HEARTHNOTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "name": "Sales — primary", "objectType": "DEAL", "isDefault": true }'List pipelines
List pipelines, optionally filtered by object type.
Required scopes:
deals.readQuery parameters
| Name | Type | Description |
|---|---|---|
objectType | string | DEAL | TICKET. |
Responses
200 OKPipelines.example { "pipelines": [{ "id": "pl_2k9d4f…", "name": "Sales — primary", "objectType": "DEAL", "isDefault": true, "displayOrder": 0, "stages": [ { "id": "ps_n", "name": "New", "displayOrder": 0 }, { "id": "ps_c", "name": "Contacted", "displayOrder": 1 } ] }] }
Code samples
curl -X GET https://app.contactfollowup.com/api/pipelines/v2 \
-H "Authorization: Bearer $HEARTHNOTE_TOKEN" \
-H "Content-Type: application/json"