Draw your agent's call flow in the no-code Call Builder, then drive CallShift from your stack or from Claude: a REST API, tools your agents call mid-call, an end-of-call webhook and a Claude skill.
01 Four ways in
From your code, your no‑code flows or Claude.
What the app does, your systems can do too, and Claude can do it for you.
REST API
43 endpoints, one API key.
Agents and their tools, campaigns, contacts, calls, phone numbers, SIP trunks, webhooks and entities: create and duplicate agents, give them tools, launch campaigns, add contacts, and read every call back with its summary, transcript and outcome.
HTTP tools let the agent look up a booking, check an order or create a ticket in your systems mid-conversation, and send the caller an SMS or an email. Make them in the builder or through the API, then attach them to any agent.
End-of-call webhook
Every call lands in your stack.
When a call ends, a JSON payload goes to your endpoint: caller, summary, transcript, outcome flags, your qualification criteria and the contact's own fields. Plug it into your CRM, Make or n8n.
Claude skill
Or just ask Claude.
Our skill drives the API for you, in plain language: list and duplicate agents, review a campaign's ROI, add contacts, assign SIP numbers, wire up webhooks. Dalia steers its whole operation from Claude.
Most agents start in the no-code Call Builder. Everything you build there is in the API too.
Call flow
Draw it, link it.
Drop in a greeting, skill blocks, transfers and an end message. Conditions such as known contact, first-time or returning caller, and inbound or outbound decide the path.
Tools
Give the agent hands.
HTTP endpoints, a web lookup, SMS, email and calendar booking, called by the agent during the call.
Templates
Start from one.
Appointment scheduler and appointment confirmation, in five languages, or a blank flow.
Testing
Talk to it, then iterate.
Call your agent from the browser, or have it call your phone. Edits go live at once, so duplicate an agent to try a new version.
The whole agent, call flow and tools included, can be created, edited and duplicated through the API. Roles (admin, member, viewer) keep the workspace safe.
03 In practice
One request launches the calls.
1Add contacts to a campaign: each one is created or updated by phone number, and a call is queued for it.
2If the campaign is active, the calls start right away, within your lines and calls per second.
3When a call ends, your webhook receives the outcome, and any call can be read back through the API.
Authentication: an API key created in the app, sent as a Bearer token. Every endpoint, with its fields and errors, is in the API reference.
Drop our skill into Claude and drive your whole environment in plain language: list and duplicate agents, review a campaign's ROI, add contacts, assign SIP numbers, wire up webhooks. It talks to our API for you.
Manages your CallShift agents, campaigns and calls through the API, with a disposable key
Reviews your agent against 140 voice AI best practices: prompt structure, turn-taking, STT and TTS, tools, outbound compliance, cost control
Architecture advice: which family fits your prompt size, with the simulator for the numbers
Grab it here
Free · works in Claude and Claude Code · EN, FR, ES
Add it in Claude under Settings → Capabilities → Skills, or drop it in your Claude Code skills folder.
Example conversation with Claude and the CallShift skill
ClaudeCallShift skill
Create an agent inspired by my website www.example.com. Its goal is to help callers.
POST /v1/agents“Example · Reception”, its prompt written from your site
PATCH /v1/agents/7f3c…Best practices: AI disclosure in the welcome, turn-taking
Your agent “Example · Reception” is ready. It answers questions about your services, opening hours and prices, and opens each call by saying it is an AI assistant.
Give me the link to test it.
GET /v1/agents/7f3c…Ready for a test call
Here it is: app.callshift.ai/agents/7f3c… Click “Try it out” and talk to it right from your browser.
Connect my line +44 20 7946 0123 via SIP trunk so I can test it with my phone.
POST /v1/phones/sipYour number, on its own authenticated SIP trunk
PATCH /v1/phones/2b91…Answered by Example · Reception
Done: your number now rings your agent. One step on your carrier's side: copy the origination URI, username and password from Phone numbers → Connection details into its settings. Then call your number from your phone.
You: Create an agent inspired by my website www.example.com. Its goal is to help callers.
Claude: web_fetch www.example.com (Services, opening hours, prices, FAQ), POST /v1/agents (“Example · Reception”, its prompt written from your site), PATCH /v1/agents/7f3c… (Best practices: AI disclosure in the welcome, turn-taking). Your agent “Example · Reception” is ready. It answers questions about your services, opening hours and prices, and opens each call by saying it is an AI assistant.
You: Give me the link to test it.
Claude: GET /v1/agents/7f3c… (Ready for a test call). Here it is: app.callshift.ai/agents/7f3c… Click “Try it out” and talk to it right from your browser.
You: Connect my line +44 20 7946 0123 via SIP trunk so I can test it with my phone.
Claude: POST /v1/phones/sip (Your number, on its own authenticated SIP trunk), PATCH /v1/phones/2b91… (Answered by Example · Reception). Done: your number now rings your agent. One step on your carrier's side: copy the origination URI, username and password from Phone numbers → Connection details into its settings. Then call your number from your phone.
More features
Speech-to-Speech AI Voice Agents
Human-like AI voice agents on native speech-to-speech models or STT → LLM → TTS pipelines, chosen call flow by call flow and running in production.