Why are my campaigns not starting?
# support
d
I've got a campaign that does not begin, it stays stuck in scheduled. The details are: - ID = 8425635f-8fd1-4790-94e2-5155120a26c8 - earliestAt = Dec 19, 2025, 8:03 PM (GMT) - latestAt = Dec 19, 2025, 9:03 PM (GMT) It was created via API and it has been an hour now. There are no webhook logs, error logs, or anything else that would indicate why it is broken? Is there an issue here? In general, campaigns seem to be a particular black-box feature of Vapi - they seem to often not work for hidden reasons - it would be great if we could get some additional visibility/logging on campaigns.
v
To get more visibility into why your campaign is stuck in the "scheduled" state, try fetching its current status and details using the API:
Copy code
bash
curl https://api.vapi.ai/campaign/8425635f-8fd1-4790-94e2-5155120a26c8 \
  -H "Authorization: Bearer <token>"
This will return fields like
status
,
endedReason
, and call counters, which can help pinpoint the issue. Check these fields for clues—if the problem persists, consider sharing the API response with support for deeper investigation ([documentation](https://docs.vapi.ai/api-reference/campaigns/campaign-controller-find-one)). Source: - [Campaign Controller: Get Campaign](https://docs.vapi.ai/api-reference/campaigns/campaign-controller-find-one)
d
Checking via the API, there's no endedReason for any calls, and they are all still status
scheduled
@kyle any idea what is going on here? Now affecting more than one of my customers @Vapi
c
Hi dan_quill, Thanks — I’ll help debug this. Quick checklist and next steps to gather the info we need: 1. Confirm phone number source - Ensure campaign uses a valid provider phone number (e.g., Twilio). Vapi free numbers cannot place outbound calls. See: https://docs.vapi.ai/outbound-campaigns/overview 2. Check campaign details via API - Run the curl you posted to confirm campaign fields:
status
,
endedReason
,
callsCounterScheduled
,
callsCounterQueued
,
callsCounterInProgress
,
schedulePlan
. See: https://docs.vapi.ai/api-reference/campaigns/campaign-controller-find-one 3. Verify concurrency and queueing behavior - Check your org concurrency limit and compare to active calls. Remaining calls will stay queued and retried up to one hour. See: https://docs.vapi.ai/outbound-campaigns/overview 4. Check call-level and system logs - In Vapi dashboard: Observe > Call Logs and Observe > API Logs. If nothing appears for these scheduled calls, that suggests they were never handed off to the transport provider. If you've already checked the above, please paste the JSON response from the campaign GET (hide any tokens/PII) and include: - campaign.status, endedReason, schedulePlan (earliestAt/latestAt) - callsCounter\* fields - sample of a single customer entry (number and numberE164CheckEnabled flag) With that I can pinpoint whether this is: invalid phone number/config, concurrency/queueing behavior, E.164 rejection, or an internal dispatch problem requiring engineering escalation.