phone.outboundCalls
Recent AI call attempts for the shop, newest first: purpose, status, why it was refused, each check's result, and transcript_missing when a call reached the AI but no transcript came back (read it with the shop's provider). Owner or office.
| |
|---|
| Who | Agents can call this |
| REST | GET /v1/phone/ai-calls |
| MCP tool | phone_outboundCalls |
| Writes | no |
| Area | Shop |
When to use it
Recent AI call attempts for the shop, newest first: purpose, status, why it was refused, each check's result, and transcript_missing when a call reached the AI but no transcript came back (read it with the shop's provider). Owner or office.
What to tell the owner
Tell them what you found in plain words. Don't read back raw fields.
| Field | Type | Required |
|---|
shop_id | string (uuid) | yes |
Example
GET https://doingwork.work/v1/phone/ai-calls?shop_id=00000000-0000-4000-8000-000000000000
Output
| Field | Type | Always there |
|---|
calls | array | yes |
calls[].call_id | string (uuid) | yes |
calls[].job_id | string (uuid) | yes |
calls[].purpose | string | yes |
calls[].status | string | yes |
calls[].reason | ['string', 'null'] | yes |
calls[].number | ['string', 'null'] | yes |
calls[].gates | object | yes |
calls[].transcript_missing | boolean | yes |
calls[].created_at | string (date-time) | yes |
{
"calls": [
{
"call_id": "00000000-0000-4000-8000-000000000000",
"job_id": "00000000-0000-4000-8000-000000000000",
"purpose": "...",
"status": "...",
"reason": "...",
"number": "...",
"gates": {},
"transcript_missing": true,
"created_at": "..."
}
]
}
Errors
| Code | Status | What to do |
|---|
invalid_input, invalid_token, rate_limited | | Can happen on any call. See errors. |