
Call Center AI
https://github.com/microsoft/call-center-ai- Category
- AI Agents
- Rank
- No. 1014Tools index
- Pricing
- Open Source
- Type
- AGENT
- Builder
- microsoft
- GitHub
- 6.6k stars
- Latest release
- v17.4.2
- Date
About
Microsoft's reference architecture for placing AI-powered phone calls — your bot dials out (or callers dial in) and an LLM drives the conversation.
What it does
It coordinates live speech, language handling, model responses, SMS, and human transfer around a configurable call workflow. Each conversation can populate typed claim fields, reminders, next actions, summaries, and a browsable report.
Why it's ranked here
This is a substantial reference implementation, not a thin telephony demo. It connects real-time audio, structured data capture, retrieval, persistence, monitoring, and agent fallback. The explicit proof-of-concept status keeps it from being a production-ready choice.
What's good
The design preserves useful business output beyond a transcript: validated claim data, reminders, summaries, satisfaction signals, and recommended next actions. Readiness checks cover cache, storage, search, and SMS. Calls can resume after disconnections, while jittered retries improve Twilio HTTP reliability.
Tradeoffs
Deployment brings a large Azure footprint, including communication, speech, translation, search, queues, storage, Cosmos DB, Redis, Event Grid, monitoring, and model resources. The project requires Python 3.13 and several command-line tools. Its own documentation says it is not intended for production.
How to use it well
Use it as an engineering starting point for testing structured, low-to-medium-complexity phone workflows such as claims intake or support triage. Start in Codespaces, customize prompts and claim fields, then validate latency, escalation, privacy, and failure recovery. It does not replace production hardening or operational ownership.
Technical notes+
app/main.py exposes a FastAPI service with REST call endpoints, HTML reports, health probes, WebSocket media handling, Azure Communication Services callbacks, and queue consumers. app/models/call.py validates dynamic claim data and stores messages, reminders, synthesis, and next actions. app/helpers/http.py shares an asynchronous HTTP session and adds jittered Twilio retries. pyproject.toml requires Python 3.13, declares Azure, FastAPI, Redis, Twilio, telemetry, and testing dependencies, and supports uv installation. Makefile provides static checks, Pytest execution, multi-architecture container builds, Bicep deployment, logs, tunnels, and confirmed teardown.
Observed
- License
- Apache-2.0
- Primary language
- Python
- Runtime
- Python 3.13 or newer
- Interfaces
- REST API, WebSocket media stream, HTML reports, telephony callbacks, and SMS webhook
- Packaging and install
- Python project installed with uv; pre-built container image and GitHub Codespaces quick start are available
- Platform support
- Azure deployment using Container Apps, Communication Services, Cognitive Services, Azure OpenAI, Cosmos DB, Event Grid, Storage, AI Search, Redis, and Application Insights
- Verification surface
- Ruff, Pyright, Bicep linting, and Pytest are wired into Make targets
Read from README.md, Makefile, pyproject.toml, app/main.py, app/models/call.py, app/models/next.py, app/helpers/http.py, app/models/claim.py, app/models/error.py, app/helpers/cache.py, app/helpers/config.py, app/models/message.py, app/helpers/logging.py, app/models/reminder.py.
What it can do
Make outbound AI-powered phone calls
Phone number and conversation parameters → Automated phone conversation
Receive and handle inbound phone calls
Incoming phone call → AI-driven conversation response
Generate conversational responses using LLM
Caller's speech and conversation context → Natural language responses
Convert speech to text
Caller's voice audio → Text transcription
Convert text to speech
AI-generated text responses → Synthesized voice audio
Manage call flow and conversation state
Conversation history and current context → Updated conversation state and next actions
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.