Connect
- Open Get started → Retell or Settings → Integrations → Retell and click Connect Retell.
- Paste your Retell API key. We use it to fetch agent metadata, recordings, and analyses on demand.
- Import an agent. Zelto starts pulling that agent’s calls automatically.
What gets ingested
Zelto pulls each imported agent’s calls on a recurring schedule. An optional webhook can deliver two Retell events sooner; any others are acknowledged and ignored, and the pull and push paths deduplicate on the Retell call id.
Recordings are persisted to Zelto storage so the player on the
conversation detail page keeps working.
Scheduled sync also links calls to the agent version reported by Retell’s
agent_version, including version 0. If the call list omits it, fetching the
full call for transcript import can fill the missing link, even when no
transcript is available. Existing version links are preserved. An imported call with no
reported version stays unlinked; Zelto does not assign the agent’s latest
version. This captures the version identity, not a historical prompt snapshot:
the agent’s current prompt is never substituted for that version’s prompt.
Every Retell call ingested since September 2026 also carries its call
context as metadata, whichever path it arrived by (webhook or scheduled
pull) — earlier calls keep no context, so a filter on it scopes to recent calls: call_analysis (including your
custom_analysis_data fields), retell_llm_dynamic_variables (as
dynamic_variables), the custom metadata you set on the call, direction,
call_type, disconnection_reason, a transfer flag (true when the call ended
in call_transfer), per-component latency percentiles, cost breakdown and token
usage. Calls placed with Retell’s opt_out_sensitive_data_storage flag keep
only the operational fields (no numbers, variables, or custom metadata), and
SIP header values that look like credentials are stored redacted. It lives
under the retell key, so a metadata filter
such as retell.transfer is true or
retell.call_analysis.custom_analysis_data.<field> equals … scopes the
Conversations list and every Monitor
to exactly those calls.
Zelto also captures the agent’s tool calls — the function calls it makes
mid-call, from Retell’s transcript_with_tool_calls (tool_call_invocation /
tool_call_result) — with their name, arguments, and result. They render inline
in the transcript, feed the AI analysis, and are recorded as queryable
tool-call traces. Nothing to configure.
Traces and logs
New call imports and post-call webhook deliveries also schedule an independent telemetry import. Open Traces to see a call span with timed utterances, tool invocations/results, flow transitions, and per-response latency markers. Logs contains Retell’s timestamped public log records, including multiline errors, linked to the same trace. Your existing Retell API key is used; there is no additional setup. Latency markers preserve Retell’s end-to-end, ASR, LLM, and TTS measurements in milliseconds. They do not invent operation start/end times from those durations. Token usage and cost breakdowns are retained as call-span attributes in Retell’s original units. Stable IDs prevent duplicated traces and logs on retries. Zelto fetches a fresh log URL for each import. Signed URLs and API keys are never saved in traces or job payloads. If Retell no longer has the public log, the available call and transcript spans can still be imported. With PII redaction, only the scrubbed transcript is used and raw public logs are skipped. With sensitive-data storage disabled, only operational call metadata is imported. This is post-call telemetry, not live streaming. Calls at least 89 days old are skipped to fit the 90-day telemetry retention window. Existing calls are not bulk-backfilled by this change. Downloads are limited to 5 MiB from Retell’s verified CDN or documented S3 origin; custom log hosts are not supported.Verify the first call
Place a test call to your Retell agent, then open Conversations — the next provider sync adds it with its transcript, or an optional webhook adds it within seconds. If it doesn’t arrive, the agent’s Connections card shows whether calls are arriving and flags the most recent ingestion error. See Connect a voice provider.Manage Retell from chat
Once your Retell account is connected, Ask Zelto can read and change your Retell account through your own Retell API key:- list_retell_agents — see every agent in your account.
- get_retell_agent — fetch one agent including the current
prompt of its response engine: the
general_promptfor aretell-llmor the sharedglobal_promptfor a conversation flow (when applicable). - list_retell_calls — recent calls for an agent to inspect how it has been performing.
- update_retell_agent_prompt — replace the prompt on the
underlying
retell-llm. Only works for agents whose response engine isretell-llm— conversation-flow agents are not editable through this tool yet. - update_retell_agent — change an agent’s
name,voiceId, orlanguage.
update_*) route through a
confirmation card — nothing is sent to Retell until you click
Confirm.
Control who can use these tools
Each voice integration has a Chat tool access setting in its Manage dialog (Settings → Integrations → Retell → Manage):- Everyone (default) — any member can drive Retell from chat.
- Admins & owners — only owners, admins, and global admins.
- Disabled — the Retell tools disappear from chat for everyone.
Connection status & disconnecting
The card shows the connected account and optional webhook URL. The Disconnect action removes the stored API key and stops pulling new calls; remove an optional webhook from Retell separately to stop its push side.Related
- Connect a voice provider — pick a path and verify ingestion.
- Conversations — where Retell calls land.
- Agents — how Zelto models each agent.
- MCP — manage agents and query your data from your editor.
- Agent versions — release identity, captured configuration, and experiment setup.

