Build a Live Call Transcription Agent on Telnyx Edge Compute Telnyx has released an example application that turns live phone calls into actionable data using its Edge Compute platform. The edge-call-transcription-agent answers inbound calls, streams real-time transcription, stores transcript segments in an Agent SDK actor, and uses Telnyx AI Inference to generate a concise call summary that is sent via SMS after hangup. The TypeScript app demonstrates a pattern of combining live call events, durable state, AI summarization, and post-call notifications in a single edge deployment. Call recordings are useful, but they are usually passive. This example turns a live phone call into something your app can use right away. The edge-call-transcription-agent example answers an inbound call on Telnyx Edge Compute, starts streaming transcription, stores final transcript segments in an Agent SDK actor, summarizes the call after hangup with Telnyx AI Inference, persists the record, and sends the summary by SMS. Code: https://github.com/team-telnyx/telnyx-code-examples/tree/main/edge-call-transcription-agent https://github.com/team-telnyx/telnyx-code-examples/tree/main/edge-call-transcription-agent The app is a TypeScript Edge Compute function with two Agent SDK actors: TranscribeAgent - one actor per call TranscriptRegistry - one shared actor for listing stored transcriptsThe call flow: php call.initiated - record call state - answer call call.answered - speak greeting call.speak.ended - start inbound transcription call.transcription - append transcript segment call.hangup - summarize - store - SMS summary POST /webhooks/voice receives Telnyx Call Control events GET / serves a lightweight dashboard GET /transcripts lists recent stored transcripts GET /transcripts/:call control id fetches one transcript GET /debug/state?call control id=... shows live actor state GET /health/liveness and GET /health/readiness are health checksStreaming transcription arrives as many events. The app needs to remember: An actor per call makes that state easy to hold. The source maps each call control id to one TranscribeAgent , so the transcript can build up across webhook events. After hangup, the actor queues a finalize pipeline: php summarize - store - notify The summary uses Telnyx AI Inference through the Edge Compute binding: this.env.TELNYX.ai.openai.chat.createCompletion { model, messages: { role: "system", content: SUMMARY SYSTEM PROMPT }, { role: "user", content: transcript }, , max tokens: 200, temperature: 0.3, } ; The default model is: zai-org/GLM-5.2 The prompt asks for a concise SMS-friendly summary under 320 characters. Once the summary is ready, the app sends it over Telnyx Messaging: this.env.TELNYX.messages.send { from: this.env.SMS FROM, to: this.env.SMS TO, text: state.summary, } ; Use placeholders in examples and configure real numbers only as private runtime values: SMS FROM=