Skip to content
Pitch2SaleDevelopers
Open the app
Early access: these pages are being written and reviewed. Facts in the header boxes come straight from the product.

Create a workflow

POST
/api/v1/workflows
curl --request POST \
--url https://api.pitch2sale.com/api/v1/workflows \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "description": "example", "trigger": { "type": "manual", "conditions": {} }, "subject_type": "lead", "run_mode": "once", "steps": [], "goals": [ { "type": "reply_received" } ], "communication_window": { "days": [ 1 ], "start_hour": 1, "start_minute": 1, "end_hour": 1, "end_minute": 1, "timezone": "example" }, "blackout_dates": [ "2026-04-15T12:00:00Z" ] }'

Workflows are created inactive; activate one to start enrolling records on its trigger.

Media typeapplication/json
object
name
required
string
>= 1 characters <= 200 characters
description
string
<= 2000 characters
trigger
required
object
type
required
string
Allowed values: manual lead_status_change lead_status_changed custom_activity_created opportunity_stage_changed contact_created call_completed form_submitted tag_added contract_signed invoice_overdue proposal_accepted lead_converted_to_client ticket_created ticket_updated ticket_replied ticket_sla_breached ticket_closed goal.approaching goal.completed goal.missed goal.rolled_over
conditions
object
key
additional properties
subject_type
string
Allowed values: lead contact
run_mode
string
Allowed values: once multiple
steps
Array<object>
default:
object
type
required
string
Allowed values: email sms call_task task wait condition update_lead create_opportunity update_opportunity webhook create_project_from_template assign_account_manager send_survey wait_for_event ab_test ai_summarize add_to_sequence assign_ticket change_ticket_status send_canned_reply escalate_to_user
order
required
integer
delay_seconds
integer
0
config
object
key
additional properties
description
string
""
goals
Array<object>
object
type
required
string
Allowed values: reply_received call_completed meeting_booked opportunity_won
communication_window
object
days
required
Array<integer>
start_hour
required
integer
<= 23
start_minute
required
integer
<= 59
end_hour
required
integer
<= 23
end_minute
required
integer
<= 59
timezone
required
string
blackout_dates
Array<string>

The new workflow

Media typeapplication/json
object
workflow
required
object
_id
required
string
name
required
string
is_active
required
boolean
key
additional properties
any
Examplegenerated
{
"workflow": {
"_id": "example",
"name": "example",
"is_active": true
}
}

Validation failed

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Authentication required or token invalid

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Role permission or token scope missing

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Rate limit exceeded

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}