Phone, messaging and web
Inbound and outbound calls on Twilio, Telnyx or your own Asterisk PBX, plus WhatsApp, SMS, browser calls and a Chat API. One agent answers on all of them.
TurnCall runs real-time AI agents on phone calls, WhatsApp, SMS and the web. Choose your own speech, language and voice providers, deploy on your own infrastructure, and keep full control of your call data.
CallerCan I move my cleaning to Friday?
AgentFriday at 9:30 is open. Shall I book it?
Works with the carriers and AI providers you already use
Define an agent once and run it on every channel, with the models, tools and data it needs to handle a real conversation.
Inbound and outbound calls on Twilio, Telnyx or your own Asterisk PBX, plus WhatsApp, SMS, browser calls and a Chat API. One agent answers on all of them.
Choose each stage per agent, or use one speech-to-speech model. Run models locally with Ollama.
Call transfer, agent handoff and keypad tones built in, plus your own webhook tools and MCP servers.
Upload PDFs and documents and let agents answer from them, with hybrid vector and full-text search.
Model-based turn detection, interruptions, voicemail detection and pronunciation control for brand names.
Summaries, sentiment, success scoring and the structured fields you define, extracted after every call and delivered to your webhook with the transcript and latency.
TurnCall records the timing of every turn in every call, broken down by speech recognition, model and voice. You see exactly where the time goes and which setting to change.
Typical figures with TurnCall's default settings, measured from the moment the caller stops speaking. End-of-turn detection is adjustable per agent, and actual times depend on the providers you choose.
Create agents, connect numbers, place calls and receive events from your own code. TurnCall has no required dashboard, so it fits into the systems you already run.
The TurnCall plugin for Claude Code knows the API, the webhooks and call-init, so it adds calling to your app the way TurnCall expects and leaves your business logic where it belongs.
> /plugin marketplace add kobikis/turncall-skill > /plugin install turncall@turncall-skill Installed turncall@turncall-skill > Call every new lead in our CRM within five minutes, using the sales agent. Example prompts. Claude uses the plugin to pick the right TurnCall endpoints and webhooks, and asks you where your own logic should go.
Reliability, testing and security features for teams running voice agents on live phone lines.
Configure backup speech, model and voice providers. If one fails during a call, the next takes over and the caller still gets an answer.
When a server shuts down, live calls finish first. Readiness probes and a Helm chart are included.
Run scripted or simulated conversations against the real pipeline, in text or audio, and block a release in CI when an agent regresses.
Call a list within each contact's local calling hours, with pacing to your number's rate, retries by outcome and a do-not-call list.
Cap live calls per project, outbound calls per second and messages per minute, enforced across every server.
Signed webhooks, per-call media tokens, encrypted provider credentials and project-scoped API keys with roles.
Answer every call, book and move appointments, and transfer to staff when needed.
Inbound · tools · transferCall customer lists at the right local time, with retries for missed calls and voicemail messages.
Outbound · campaignsResolve common questions from your documentation and hand off to a person with a briefing.
Knowledge base · warm transferAsk qualifying questions, extract structured answers and send them to your CRM after the call.
Analysis · webhooksTurnCall is self-hosted: there is no TurnCall cloud to sign up for. It's a Python service backed by PostgreSQL and Redis that runs wherever you run containers, and you pay your providers directly.
make docker-up && make migratePostgreSQL, Redis and the API for local development. Quickstart
helm install turncall ./charts/turncallAPI, evaluation and campaign workers, with autoscaling on live calls. Kubernetes guide
ghcr.io/kobikis/turncallPublished for every release and every merge to main.
Not today. TurnCall is self-hosted: you run it with Docker Compose or the Helm chart, next to PostgreSQL and Redis, on infrastructure you control.
TurnCall is free and MIT licensed. You pay your phone carrier and your AI providers directly, at their own rates. There is no per-minute platform fee on top.
Twilio and Telnyx numbers, inbound and outbound, and your own Asterisk PBX over ARI (Asterisk 20.18, 22.8, 23.2 or later). WhatsApp Business voice and messages run through the WhatsApp Cloud API.
Processing takes about 800 ms per turn with a speech-to-text, model and voice pipeline, and about 300 ms with a speech-to-speech model. On top of that comes end-of-turn detection, 800 ms by default and adjustable per agent. Every call records its own timings, turn by turn.
Speech-to-text: Deepgram, AssemblyAI, Cartesia, ElevenLabs and OpenAI. Language models: Anthropic, OpenAI, Google Gemini, AWS Bedrock, OpenRouter, Ollama and any OpenAI-compatible endpoint. Voices: Cartesia, ElevenLabs, Deepgram and OpenAI. Speech-to-speech: OpenAI Realtime, GPT-Live-1, Gemini Live and Amazon Nova Sonic 2.
Recordings, transcripts and call records stay in your own database and storage. Audio and text go only to the providers you configure, and you can run the language model on your own hardware with Ollama or any OpenAI-compatible server.
With evals: scripted or simulated conversations that run against the real pipeline, with tools mocked. The turncall eval command exits non-zero when an agent regresses, so it can block a pull request. See the evals guide.
The TurnCall engine is MIT licensed. The optional Agent Builder apps are source-available under FSL-1.1-ALv2.
Follow the quickstart to create an agent, connect a phone number and take your first call. Planning a larger rollout? Write to hello@turncall.io.