> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zelto.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Twilio

> Connect a Twilio account to add carrier-level telephony traces to calls that run on Twilio.

Twilio is not a voice-agent provider, and connecting it does not bring calls
into Zelto. It is an **enrichment** connection: most voice platforms —
[Vapi](/docs/integrations/vapi), [Retell](/docs/integrations/retell),
[ElevenLabs](/docs/integrations/elevenlabs), [LiveKit](/docs/integrations/livekit)
— place their PSTN legs over Twilio, and Twilio sees a layer of the call they
never report. Connect your Twilio account and Zelto attaches that layer to calls
you are already ingesting.

Keep your voice provider connected. Twilio sits alongside it.

## What it adds

For each call Zelto can match to a Twilio call, the connection adds:

* **Ring time and post-dial delay** — how long the callee's phone rang before
  anyone answered, and how long the carrier took to start ringing at all.
* **Who hung up** — whether the caller, the callee, or the platform ended the
  call. A transcript that stops mid-sentence looks the same either way; this
  says which it was.
* **Packet loss and jitter** — the media-quality counters for each edge of the
  call, so "the agent kept talking over the customer" can be separated from "the
  audio was breaking up".
* **Carrier and country of the callee** — which network the number lives on and
  where it is, useful when failures cluster on one carrier or one country.

These land on the call alongside everything else Zelto records — see
[Traces](/docs/traces) and [Conversations](/docs/conversations).

## Before you connect

<Warning>
  Twilio's quality and disconnect data comes from **Voice Insights Advanced
  Features**, which is off by default. Enable it in the Twilio Console under
  **Voice → Settings → Voice Insights** before connecting, or the connection will
  succeed and find nothing to read.
</Warning>

## Connect

1. Open **Settings → Integrations → Twilio** and click **Connect**.
2. Give the connection a label (e.g. `Production`) so you can tell multiple
   Twilio accounts apart.
3. Paste your **Account SID** and **Auth Token**. Both are on the Twilio Console
   dashboard under **Account Info**. Zelto validates the pair against the Twilio
   account before saving, then stores it encrypted.

You can connect multiple Twilio accounts to one organization — useful when
different agents or regions bill to different subaccounts.

## What Zelto reads

Zelto reads three read-only resources, per call, and nothing else:

| Resource                                                                                                       | What it is for                                 |
| -------------------------------------------------------------------------------------------------------------- | ---------------------------------------------- |
| [Call](https://www.twilio.com/docs/voice/api/call-resource)                                                    | direction, status, duration, price             |
| [Voice Insights Call Summary](https://www.twilio.com/docs/voice/voice-insights/api/call/call-summary-resource) | quality, post-dial delay, who hung up, carrier |
| [Call Events](https://www.twilio.com/docs/voice/api/call-event-resource)                                       | the SIP-level sequence of the call             |

Zelto never places calls, never modifies your Twilio configuration, and never
reads call recordings from Twilio.

## Limits worth knowing

* **It only applies going forward.** Voice Insights is not retroactive: calls
  placed before the feature was enabled on your Twilio account never get a
  summary, no matter when you connect. Calls already in Zelto are not enriched
  in hindsight.
* **Twilio keeps 30 days.** Past that window Twilio stops serving the summary,
  so enrichment has to happen while the call is recent. What Zelto already
  captured is kept.
* **No MOS score.** Twilio does not compute a Mean Opinion Score for this call
  topology, so Zelto does not show one. Packet loss and jitter are what is
  available.
* **A summary takes a few minutes.** Twilio finishes processing roughly 10–30
  minutes after a call ends, so enrichment trails the call itself.

## Connection status & disconnecting

The Twilio card lists each connected account. **Disconnect** removes that
account's stored credentials. Enrichment stops for future calls; everything
already attached to past calls is kept, and your voice provider connection is
untouched.

## Related

* [Vapi](/docs/integrations/vapi) · [Retell](/docs/integrations/retell) ·
  [ElevenLabs](/docs/integrations/elevenlabs) · [LiveKit](/docs/integrations/livekit) —
  the providers whose calls Twilio can enrich.
* [Traces](/docs/traces) — where per-call telemetry shows up.
* [Conversations](/docs/conversations) — the call record itself.
* [Connect a voice provider](/docs/guides/connect-a-voice-provider) — start here
  if no calls are reaching Zelto yet.
