Private preview of the new site. Not live.

phone.setVoiceAi

Set up the shop's own voice AI agent to answer calls: provider (elevenlabs or grok) and the agent's SIP address. Doing Work answers each call, says it is an AI assistant and that the call is transcribed, then connects the agent with a token for this call only (SIP header X-DW-Token). The agent's tools are at tools_base. For ElevenLabs, give the post-call webhook secret so call summaries and spoken stops come back. share_job_status false hides job status from callers. Then set the route to voice_ai with phone.setRoute. Owner only.

WhoAgents can call this
RESTPOST /v1/phone/voice-ai
MCP toolphone_setVoiceAi
Writesyes, send an Idempotency-Key
AreaShop

When to use it

Set up the shop's own voice AI agent to answer calls: provider (elevenlabs or grok) and the agent's SIP address. Doing Work answers each call, says it is an AI assistant and that the call is transcribed, then connects the agent with a token for this call only (SIP header X-DW-Token).

What to tell the owner

Say what you did in plain words and what happens next.

Input

FieldTypeRequired
shop_idstring (uuid)yes
providerstring (one of elevenlabs, grok)yes
sip_uristringyes
webhook_secretstringno
share_job_statusbooleanno

Example

POST https://doingwork.work/v1/phone/voice-ai
content-type: application/json
Idempotency-Key: 3f1c...

{
  "shop_id": "00000000-0000-4000-8000-000000000000",
  "provider": "elevenlabs",
  "sip_uri": "..."
}

Output

JSON. The response shape isn't published yet; read the fields you need and ignore the rest. Errors are {code, message, status}.

Errors

CodeStatusWhat to do
invalid_input, invalid_token, rate_limitedCan happen on any call. See errors.