Route Voicemails with Python and Telnyx AI
I built a small Flask example that turns voicemail into a routing workflow. Code: https://github.com/team-telnyx/telnyx-code-examples/tree/main/voicemail-smart-router-python The app accepts either: a voicemail transcript an uploaded voicemail audio file For audio, it transcribes the voicemail first. Then it uses Telnyx AI Inference to classify the message and decide where it should go. Categories The app classifies voicemails into: urgent billing support sales spam routine Each category maps to a route: urgent -> Slack alert billing -> email support -> ticket queue sales -> CRM lead spam -> blocklist + archive routine -> daily digest Run it git clone https://github.com/team-telnyx/telnyx-code-examples.git cd telnyx-code-examples/voicemail-smart-router-python cp .env.example .env pip install -r requirements.txt python app.py Configure .env : TELNYX_API_KEY=your_telnyx_api_key AI_MODEL=zai-org/GLM-5.2 FALLBACK_MODEL=meta-llama/Llama-3.3-70B-Instruct HOST=127.0.0.1 Optional Slack webhook for urgent messages: SLACK_WEBHOOK=https://hooks.slack.com/... Classify a transcript curl -X POST http://localhost:5000/voicemails/transcript \ -H "Content-Type: application/json" \ -d '{ "transcript": "This is an emergency. Our production system is down and we need help immediately.", "caller_number": "+17177247292" }' Example response: { "category" : "urgent" , "confidence" : 1.0 , "priority" : "high" , "reason" : "The caller reports a production system outage requiring immediate attention." , "suggested_action" : "Escalate immediately to the on-call engineering team." , "route" : "slack" , "routed_to" : "#oncall-alerts" , "routing_status" : "delivered" } Process voicemail audio curl -X POST http://localhost:5000/voicemails/process \ -F "file=@voicemail.wav" \ -F "caller_number=+17177247292" For audio, the app calls: POST /v2/ai/audio/transcriptions using: distil-whisper/distil-large-v2 Then it calls: POST /v2/ai/chat/completions to classify the transcript. Routes included POST /voic