Call Bullet

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

  1. GET /workspaces/{id}/agents — name, role, status, is_live (agents:read)
  2. GET /agents/{agent_id} — one agent with number assignments (agents:read)
  3. GET /workspaces/{id}/agent-calls?agent_id=&from=&to= — caller_name, callback_number, caller_request, summary, outcome, urgency, follow_up (agent_calls:read)
  4. GET /workspaces/{id}/campaigns and ?campaign_id=… for contacts with consent and TPS status (campaigns:read)
  5. GET /workspaces/{id}/agent-tasks?status= — tasks, routines and results (agent_tasks:read)

Typical CRM flow

  1. Poll agent-calls every few minutes with from = last sync.
  2. Create or update the contact from callback_number.
  3. Create a follow-up task when outcome is lead or urgency is high.
  4. 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.