Places an outbound call immediately. This is the endpoint to use for a “promote” / “call now” action.
Identifying who to call (choose one):
• lead_id — dials that exact existing Lead. Its number is used as to and its schedule is used to dial. Nothing new is created, so a promote never produces a duplicate lead. This is the recommended option.
• lead_token (a Schedule’s “Leads API Key”) or schedule_id — identifies the Schedule to dial from. You must also pass to (the number to dial).
Schedule / lead distribution routing:
The resolved schedule takes the same code path as POST /api/v1/leads. If it is a lead-distribution (“router”) schedule, the matching distribution is resolved from the submitted data (eg traffic_source_id) and the call is routed to that distribution’s downstream target schedule. If no distribution matches, the request is rejected.
Which lead gets dialed (when using lead_token/schedule_id + to):
• If a live lead is already enrolled in the resolved schedule for that number, it is reused and dialed — no duplicate is created (the “promote” case).
• Otherwise a one-off, offer-owned lead is created and dialed. This places a single call without enrolling the contact into the schedule’s dialing cadence.
Guards enforced before dialing:
• The schedule must be active.
• Account CPS (calls per second) limit.
• DNC / contact suppression rules.
• The same number cannot be dialed more than once every 30 seconds.
• The destination number must be valid.
Returns a serialized Call record on success. Raises errors for an unknown lead_id, an unresolvable or inactive schedule, no matching lead distribution, invalid numbers, suppressed contacts, exceeded CPS, recently-dialed numbers, or duplicate concurrent leads.
curl -X POST "https://[your-subdomain].trackdrive.com/api/v1/schedules/make_call" -H "Authorization: Basic BASE64_ENCODED_PUBLIC_KEY_AND_PRIVATE_KEY" -H "Content-Type: application/json" -d '{
"schedule_id": "123",
"to": "+17195551234",
"data": {
"first_name": "John",
"last_name": "Doe",
"custom_field": "example"
}
}'
| Param name |
Description
Validations
|
|---|---|
|
lead_id Optional |
The TrackDrive ID (UUID) of an existing Lead to dial. When provided, the call uses this exact lead — its number is dialed and its schedule is used — so Validations:
|
|
schedule_id Optional |
The ID of the Schedule to dial from. Must belong to the current company and be active. Use this (or Validations:
|
|
lead_token Optional |
The token for the Schedule where you want lead to originate. Get it from: trackdrive.com/schedules Validations:
|
|
to Optional |
Destination phone number to dial. Must be a valid number and not suppressed. Required unless a Validations:
|
|
data Optional |
Optional hash of additional lead attributes (eg Validations:
|