AI voice agent API: agents, calls and outcomes
Your AI agents answer and make calls inside Call Bullet. The API lets your CRM see what each agent did — who called, what they wanted and what happens next.
Endpoints
- GET /workspaces/{id}/agents — name, role, status, is_live (agents:read)
- GET /agents/{agent_id} — one agent with number assignments (agents:read)
- GET /workspaces/{id}/agent-calls?agent_id=&from=&to= — caller_name, callback_number, caller_request, summary, outcome, urgency, follow_up (agent_calls:read)
- GET /workspaces/{id}/campaigns and ?campaign_id=… for contacts with consent and TPS status (campaigns:read)
- GET /workspaces/{id}/agent-tasks?status= — tasks, routines and results (agent_tasks:read)
Typical CRM flow
- Poll agent-calls every few minutes with from = last sync.
- Create or update the contact from callback_number.
- Create a follow-up task when outcome is lead or urgency is high.
- Link to the full call with call_id via GET /calls/{call_id}.
Starting calls
Agents place calls only from Call Bullet after consent, TPS screening, certified scripts and spend checks. The API reads results; it never starts calls.
Integrate everything in one prompt
You are integrating Call Bullet (UK numbers, call tracking, outbound calling, SMS and AI voice agents) into my app.
Docs (markdown): https://callbullet.com/developers/api.md · OpenAPI: https://callbullet.com/openapi.json
1. Ask me for a Call Bullet API key (cb_live_…). I create it at https://callbullet.com/integrations → Developer API and pick scopes per product. Store it server-side only as CALL_BULLET_API_KEY.
2. GET /account to learn the key's workspace_ids and permissions. Only build features the key has scopes for.
3. Calls (Inbound + Outbound): sync GET /workspaces/{id}/calls?updated_since=… every few minutes; store call id as external ID; match from_number (E.164) to my contacts; show answered/missed, source and recording links.
4. SMS: follow https://callbullet.com/developers/api/sms — one server function sendSms with Idempotency-Key, delivery badge from GET /sms/messages/{id}, handle 402/422 errors.
5. AI Agents: GET /workspaces/{id}/agent-calls to show what each agent handled (caller_request, outcome, summary) and create follow-up tasks in my app.
6. Usage: GET /workspaces/{id}/usage for a small usage widget.
7. Times are UTC ISO-8601 (display Europe/London), money in GBP pence, respect 429 Retry-After, never log the key.