CRM Campaigns
Create, manage, and run outbound calling campaigns through the Talkturo CRM API — add contacts, monitor real-time dashboard stats, start and stop campaigns, and retrieve call logs and AI insights.
curl -X POST "https://app.talkturo.com/api/crm/campaigns" \
-H "Content-Type: application/json" \
-H "Cookie: sb-session=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.example_session_token" \
-d '{
"name": "Q3 renewal outreach",
"assistant_id": "ast_9c41f8e2-7e93-4f8e-8d6c-2c9bdf8b9a33",
"schedule": {
"timezone": "America/Los_Angeles",
"start_at": "2026-08-13T16:00:00Z"
}
}'
{
"success": true,
"campaign": {
"id": "cmp_6df44cc0-5e10-4b0d-a3f5-ec6116f8c7d1",
"name": "Q3 renewal outreach",
"status": "draft",
"assistant_id": "ast_9c41f8e2-7e93-4f8e-8d6c-2c9bdf8b9a33",
"schedule": {
"timezone": "America/Los_Angeles",
"start_at": "2026-08-13T16:00:00Z"
}
}
}
curl -X GET "https://app.talkturo.com/api/crm/campaigns/cmp_6df44cc0-5e10-4b0d-a3f5-ec6116f8c7d1/dashboard" \
-H "Cookie: sb-session=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.example_session_token"
{
"success": true,
"stats": {
"total_calls": 240,
"answered": 118,
"failed": 21,
"in_progress": 7
}
}
curl -X POST "https://app.talkturo.com/api/crm/campaigns/cmp_6df44cc0-5e10-4b0d-a3f5-ec6116f8c7d1/run" \
-H "Content-Type: application/json" \
-H "Cookie: sb-session=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.example_session_token" \
-d '{
"action": "start"
}'
{
"success": true,
"status": "running"
}
Manage outbound CRM campaigns
Use the CRM Campaigns endpoints to create outbound calling campaigns, attach contacts, monitor live progress, and start or stop execution. All CRM campaign endpoints require an authenticated session cookie and are intended for browser-based or same-origin application requests.
Authenticate these endpoints with a valid Talkturo session cookie. These routes do not accept API key authentication.
Endpoint summary
| Method | Path | Purpose |
|---|---|---|
GET | /api/crm/campaigns | List campaigns |
POST | /api/crm/campaigns | Create a campaign |
GET | /api/crm/campaigns/[id] | Retrieve one campaign |
PATCH | /api/crm/campaigns/[id] | Update a campaign |
DELETE | /api/crm/campaigns/[id] | Delete a campaign |
GET | /api/crm/campaigns/[id]/contacts | List campaign contacts |
POST | /api/crm/campaigns/[id]/contacts | Add contacts to a campaign |
GET | /api/crm/campaigns/[id]/dashboard | Retrieve real-time campaign stats |
POST | /api/crm/campaigns/[id]/run | Start or stop a campaign |
GET | /api/crm/outbound-assistants | List assistants available for outbound calls |
GET | /api/crm/calls | List CRM call logs |
GET | /api/crm/intelligence | Retrieve AI insights |
Campaign object
Campaign responses return a campaign object or a campaigns array. The exact shape can include additional campaign fields beyond the core fields listed here.
Unique campaign identifier.
Campaign name.
Current campaign status.
Identifier of the outbound assistant assigned to the campaign.
List campaigns
Retrieve a paginated list of CRM campaigns.
Request
Page number returned by the list endpoint. The response includes the current page value.
Response fields
Returns true when the request succeeds.
List of campaign objects.
Total number of campaigns available for the current query.
Current page number.
Create a campaign
Create a new outbound campaign by name, and optionally assign an outbound assistant or schedule metadata.
Body parameters
Campaign name.
Assistant to use for outbound calls.
Campaign scheduling configuration. The endpoint accepts a schedule object when you want to attach scheduling metadata during creation.
Response fields
Returns true when the campaign is created.
Created campaign object.
Get a campaign
Retrieve one campaign by ID.
Path parameters
Campaign ID.
Response fields
Returns true when the campaign is found.
Requested campaign object.
Update a campaign
Update one or more campaign fields.
Path parameters
Campaign ID.
Body parameters
Updated campaign name.
Updated outbound assistant ID.
Updated scheduling configuration.
Response fields
Returns true when the update succeeds.
Updated campaign object.
Delete a campaign
Delete a campaign by ID.
Path parameters
Campaign ID.
Response fields
Returns true when the campaign is deleted.
Deletion result message.
Manage campaign contacts
Attach contacts to a campaign and retrieve the current campaign contact list.
List campaign contacts
Retrieve contacts already associated with a campaign.
Path parameters
Campaign ID.
Response fields
Returns true when the request succeeds.
Contacts attached to the campaign.
Add campaign contacts
Add contacts to an existing campaign.
Path parameters
Campaign ID.
Body parameters
List of contacts to add. The endpoint accepts contact payloads for campaign association.
Response fields
Returns true when contacts are added.
Updated contact list or added contact records.
The repository confirms that GET and POST are available on /api/crm/campaigns/[id]/contacts, but it does not expose the exact contact request schema on this page. Use the response from your CRM contacts endpoints as the source for contact IDs and payload shape.
Retrieve real-time dashboard stats
Read live execution metrics for a campaign dashboard.
Path parameters
Campaign ID.
Response fields
Returns true when dashboard stats are available.
Campaign dashboard metrics object.
Total calls recorded for the campaign.
Calls answered by recipients.
Calls that failed.
Calls currently in progress.
Start or stop a campaign
Control campaign execution by sending a run action.
Path parameters
Campaign ID.
Body parameters
Response fields
Returns true when the action is accepted.
Resulting campaign status, such as running or stopped.
Related CRM endpoints
These endpoints are commonly used alongside campaign operations.
List outbound assistants
Retrieve assistants that can be assigned to outbound campaigns.
Returns true when the request succeeds.
Assistants available for outbound calling.
GET /api/crm/outbound-assistants
List CRM call logs
Retrieve CRM call history for campaign analysis and operational debugging.
Returns true when the request succeeds.
CRM call log entries.
GET /api/crm/calls
Retrieve AI insights
Retrieve AI-generated CRM intelligence and insights.
Returns true when the request succeeds.
Insight records generated from CRM activity.
GET /api/crm/intelligence
Common workflow
Most campaign integrations follow the same path:
List outbound assistants
Call GET /api/crm/outbound-assistants and select the assistant you want to use for outbound calls.
Create the campaign
Create a campaign with POST /api/crm/campaigns. A successful response returns success: true and a new campaign.id.
Add contacts
Attach contacts with POST /api/crm/campaigns/[id]/contacts. After the request succeeds, the response includes a contacts array.
Start the run
Send POST /api/crm/campaigns/[id]/run with action set to start. The response returns status: running when execution begins.
Monitor progress
Poll GET /api/crm/campaigns/[id]/dashboard to track total_calls, answered, failed, and in_progress while the campaign runs.