Retell AI guide: How to build and test a reliable voice agent

Kenneth Pangan
Written by

Kenneth Pangan

Katelin Teen
Reviewed by

Katelin Teen

Last edited September 8, 2026

Expert Verified
Retell AI guide: How to build and test a reliable voice agent

What Retell AI is

Retell positions itself as a voice-AI orchestration layer: it connects speech-to-text, an LLM, and text-to-speech (or a combined speech-to-speech model) and adds the production glue that raw building blocks don't handle well on their own, automatic model fallback, background-noise filtering, echo cancellation, turn-taking, interruption handling, voicemail detection, and call transfer. The docs frame the whole product around one lifecycle: Build, Test, Deploy, Monitor.

Retell AI's documented workflow for building, testing, deploying, and monitoring phone agents, as taken from Retell AI's docs
Retell AI's documented workflow for building, testing, deploying, and monitoring phone agents, as taken from Retell AI's docs

To build, you pick between two agent paradigms: a Conversation Flow agent, a drag-and-drop, node-based builder for structured, deterministic call logic, or a Single or Multi-Prompt agent, which is LLM-prompt-driven and better suited to looser, more conversational calls. Retell is also model-agnostic on both sides of the stack: you choose the LLM (GPT, Claude, or Gemini families) and the voice provider (Retell's own platform voices, ElevenLabs, Cartesia, OpenAI, MiniMax, or Fish) independently, and Retell automatically falls back between providers if one has an outage.

It's built for developers, with an API, SDKs, an MCP server, webhooks, and custom telephony over SIP, but the self-serve tier ships full platform access: templates, call analytics, transcripts, simulation testing, and API access are all included, not gated behind a higher plan. For a feature-by-feature rundown against the rest of the AI voice agent category, see the full Retell AI review.

What you need before building

Before wiring up an agent, get the pieces in place:

  • A Retell account with a phone number, either Retell-provided or your own via custom telephony.
  • A connected Cal.com account, if the agent is booking appointments. Retell's calendar tools work against Cal.com directly; your actual calendar (Google, Outlook, etc.) connects underneath Cal.com, so Retell never needs to sync a separate copy of your schedule.
  • A clear scope for the agent. What it should handle, what it shouldn't, and when it hands off to a person. This is a planning step, not a Retell feature, but skipping it is the single biggest reason agents feel unreliable once they're live.
  • A support channel for the cases the agent can't close, whether that's a live phone transfer, a ticket in Zendesk or Freshdesk, or a Slack alert to a human team.

How to build an appointment-booking voice agent

Here's the workflow I'd follow, based on how Retell's own docs describe the calendar tools.

1. Define the conversation

Map the call before you write a prompt. What does a clean booking conversation look like start to finish? What happens if the requested time is taken, if the caller wants to reschedule, or if they ask something outside the agent's scope? Decide your handoff triggers now, such as a caller asking for a person directly, or a set number of failed attempts, rather than discovering them live. This is the step that turns a vague "book appointments" instruction into an agent you can actually test against, and it's worth spending real time on before touching the builder.

Appointment-booking voice agent flow: check availability, then either confirm the time or offer an alternative slot
Appointment-booking voice agent flow: check availability, then either confirm the time or offer an alternative slot

2. Supply current context with dynamic variables

Retell's dynamic variables inject live, call-specific data into the agent's prompt using {{variable_name}} syntax. For temporal context specifically, Retell provides {{current_time}} (Pacific time by default), {{current_time_[timezone]}} for a named timezone like {{current_time_Australia/Sydney}}, {{current_hour}}, and {{current_calendar}}, which generates a 14-day calendar view. Reference the timezone-specific variable that matches your callers, not the bare default, and the "what does 'next Wednesday' mean today" problem is solved with configuration rather than a custom function written to calculate it yourself.

3. Check calendar availability

Retell's built-in Check Availability tool lists open slots for a Cal.com event type in a given window, pulled live rather than from a synced copy. Set it up by grabbing the numeric event type ID from your Cal.com dashboard URL (the 1234567 in app.cal.com/event-types/1234567) and configuring one tool per event type your agent handles.

4. Book or offer another slot

Chain the Book Appointment tool after a confirmed slot to finalize the reservation, Cal.com sends the confirmation email automatically. For changes, the recommended pattern is to use List Bookings to find the existing booking by the caller's email, Check Availability to confirm a new slot is open, then Reschedule Booking to move it, mapping the booking UID through a dynamic variable so later tools can reference it. If a slot isn't available, the agent offers alternatives from the same availability check instead of failing the call.

5. Test normal and edge cases

Before any of this touches a real caller, test it. The next section covers Retell's testing tools in detail, the short version is: use the Playground for live debugging, then Simulation Testing to grade the agent against written scenarios, with every calendar tool and custom function mocked so a test run doesn't create real bookings.

6. Roll out and monitor

Once testing looks solid, activate the agent for a slice of real traffic before switching it on for everyone, a single phone number, one call type, or a percentage of inbound volume, and watch the results before expanding it. The section below on rolling out and monitoring covers what to actually watch.

Configure knowledge, prompts, and actions

A prompt sets the agent's personality and immediate task, but three separate pieces do the real work, and keeping them separate is what keeps an agent maintainable as it grows:

  • Knowledge base. Retell's Knowledge Base add-on grounds answers in your own content via website crawling or document uploads, so you're not trying to teach the agent everything through prompt engineering. It's billed per minute of use plus a monthly fee per knowledge base after the first ten are free, worth factoring into cost if an agent leans on it heavily.
  • Custom Functions. A custom function calls your own API mid-call and feeds the response back into the conversation, useful for order lookups, ticket creation, or anything that needs authenticated access to your own systems. You configure the endpoint, method, headers (including dynamic variables for auth), and how the agent should behave while it waits for a response.
  • Code Tool. For logic that doesn't need a backend, Retell runs JavaScript directly in a sandboxed environment, good for calculations, formatting, or a low-risk public HTTP lookup via fetch(). If you're already running your own MCP server, Retell's MCP tools are the simpler path instead of writing a new custom function; the docs are explicit that a custom function is the right call only when you don't already have one.

The common failure mode here isn't a Retell limitation, it's cramming everything into one giant prompt instead of using these three surfaces separately. A prompt that tries to hold knowledge, instructions, and API logic all at once is fragile and painful to update; the fix is using the knowledge base for information, the prompt for personality and flow, and functions or tools for anything that touches an external system.

Test the agent with Retell's testing tools

Retell's self-serve tier includes real testing infrastructure, not just a live-call gamble:

  • Playground. An interactive environment to debug the agent live, over text or audio, before anything is exposed to real callers.
  • Simulation Testing. An AI-simulated caller runs through written scenarios, each graded pass or fail against success criteria you define, with dynamic variables to customize conditions. This is where you catch a broken date calculation or a bad handoff before it reaches a customer, not after.
  • A/B Testing. Compare two agent versions against live traffic instead of guessing which prompt or flow performs better.

One caveat worth planning around: Retell's docs are explicit that unmocked custom functions, code tools, and calendar tools call their real endpoints during a simulation, which means an untested run can create actual Cal.com bookings or hit billed API calls. Mock every external action before running scenarios at scale. Simulation Testing also doesn't currently support agents built on a custom LLM, and it grades each scenario as a single pass/fail verdict rather than a per-criterion score, so treat it as a strong first gate rather than the only QA step.

Roll out and monitor it

Resist switching an agent on for everyone the moment simulation results look clean. Start with a small slice, a single number, a specific call type, or a percentage of total volume, and expand from there as real-world performance holds up.

Once live, Retell's monitoring tools cover the operational side: Live Call Monitoring for real-time transcripts and listening, AI QA for automated quality scoring on production calls, Custom Analytics dashboards, and webhooks for real-time call events feeding into your own systems or a CRM (Salesforce, HubSpot, and others sync natively). The metric worth tracking closest is the share of calls the agent closes without a transfer, the phone equivalent of an automation rate in text-based support.

Worth watching alongside performance is the actual cost per minute, since Retell's pricing is composable rather than a flat number. The $0.055/min voice infrastructure charge applies to every call regardless of configuration, and Retell's own pricing calculator lands its default example, a standard voice, a mid-tier LLM, and managed telephony, at $0.115/min, well above the advertised $0.07 floor. That's not a hidden fee; every component is published on the pricing page, but it's worth modeling your actual stack rather than quoting the headline number when estimating cost at volume.

Common implementation mistakes

Going through Retell's docs and setup flow, I found most of the frustration people run into traces back to a handful of avoidable setup choices, not the platform itself:

Three common Retell AI implementation mistakes and their fixes: one giant prompt vs. splitting knowledge, prompt, and actions; unmocked tools in tests vs. mocking every tool first; wrong timezone default vs. setting the caller's timezone
Three common Retell AI implementation mistakes and their fixes: one giant prompt vs. splitting knowledge, prompt, and actions; unmocked tools in tests vs. mocking every tool first; wrong timezone default vs. setting the caller's timezone
  1. Stuffing everything into one prompt. Instructions, business knowledge, and API logic crammed into a single prompt is fragile and hard to maintain. Split them across the knowledge base, the prompt, and actions instead.
  2. Skipping function mocks before simulation. Running Simulation Testing against live calendar tools or custom functions can create real bookings or hit billed endpoints. Mock everything external first.
  3. Ignoring timezone on date variables. {{current_time}} defaults to Pacific time. If your callers are elsewhere, reference {{current_time_[timezone]}} explicitly, or the agent will reason from the wrong local date.
  4. No defined handoff trigger. Without a clear rule for when to transfer to a human, agents tend to loop on requests they can't resolve instead of escalating cleanly. Decide this during planning, not after a bad call.
  5. Estimating cost from the headline rate alone. The $0.07/min floor assumes the cheapest LLM and voice combination. Model your actual stack, LLM, TTS provider, telephony, and any add-ons, before budgeting for volume.

Retell AI versus eesel: different jobs

It's worth being direct about this since the two get compared: Retell and eesel solve different problems. Retell is a platform for building and running phone-call voice agents, the orchestration layer for STT, LLM, and TTS on live calls. eesel is an AI for the helpdesk, trained on your existing knowledge base and past support tickets, working inside tools like Zendesk, Freshdesk, or Front to answer tickets and chats.

eesel's helpdesk dashboard, which works from a team's existing knowledge base and ticket history rather than phone calls
eesel's helpdesk dashboard, which works from a team's existing knowledge base and ticket history rather than phone calls

They're not substitutes for each other. A support team might run a Retell agent on the phone line for appointment booking or order lookups, and separately run eesel on their ticket queue to handle the email and chat volume, both trained on the same underlying knowledge but built for different channels. If a customer's real need is testing AI against their own ticket history before launch rather than building a phone workflow, that's the difference worth knowing before picking either one.

Final practical checklist

Here's what I'd check before turning a voice agent on for real callers:

  • The conversation is mapped, including edge cases and what happens when a slot isn't available
  • Handoff triggers to a human are explicitly defined, not left implicit
  • Date/time dynamic variables reference the correct timezone for your callers, not the Pacific default
  • Cal.com is connected and the event type ID is configured in the Check Availability and Book Appointment tools
  • The knowledge base is scoped to what this agent should actually answer
  • Every custom function, code tool, and calendar tool is mocked before running Simulation Testing
  • Simulation scenarios cover both the happy path and realistic edge cases, not just the ideal call
  • Rollout starts on a slice of traffic, with Live Call Monitoring or AI QA watching the results
  • The real per-minute cost has been modeled against your actual LLM, voice, and telephony choices, not the headline rate

Frequently asked questions

What is Retell AI used for?

Retell AI is a developer platform for building, testing, and deploying AI voice agents that handle real phone calls. It sits on top of speech-to-text, LLM, and text-to-speech models and adds the orchestration a phone call needs: interruption handling, turn-taking, background-noise filtering, and call transfer. Teams use it for inbound support lines, appointment booking, and outbound calling.

How does a Retell AI agent know today's date during a call?

Retell exposes built-in dynamic variables for this, including {{current_time}}, {{current_time_[timezone]}}, and {{current_calendar}}, which inject the live date and time into the agent's prompt. By default {{current_time}} reports Pacific time, so if your callers are in another region you need to reference the timezone-specific variable, not the default, or the agent will reason from the wrong local time.

Can a Retell AI agent book appointments directly into Cal.com or Google Calendar?

Yes. Retell has built-in Check Availability and Book Appointment tools that connect to a linked Cal.com account, and Cal.com syncs to Google Calendar, Outlook, and other calendars underneath. You configure the tool once with your event type ID, and the agent checks live availability without you writing a custom integration for the common booking case.

How much does Retell AI cost to run a voice agent?

Retell is pay-as-you-go: pricing for AI voice agents runs $0.07 to $0.31 per minute, built from separate charges for voice infrastructure, text-to-speech, the LLM you choose, and telephony. The published $0.07 floor is the cheapest possible combination; a typical setup with a mid-tier LLM and managed telephony lands closer to $0.10-$0.15 per minute once every layer is added.

What's the difference between a Conversation Flow agent and a Single/Multi-Prompt agent?

A Conversation Flow agent is a node-based, drag-and-drop builder for deterministic, step-by-step call logic, best for high-stakes or scripted calls like verification. A Single or Multi-Prompt agent is driven by one or more prompts and handles looser, more conversational calls. Appointment booking can work well as either, depending on how much of the conversation needs to follow a fixed path.

How do I test a Retell AI agent before it takes real calls?

Use the Playground to debug the agent live over text or audio, then run Simulation Testing to grade it against written scenarios at scale. Mock every custom function, code tool, and calendar tool before running a simulation; an unmocked tool calls its real endpoint, which can create genuine Cal.com bookings during a test run. Note that agents built on a custom LLM aren't supported in Simulation Testing.

What happens when a caller needs a human agent?

You define the handoff yourself. Retell supports call transfer and DTMF (press-digit) actions through function calling, so the agent can route a caller to a person or a menu. Decide the triggers during planning, such as a caller explicitly asking for a person, a failed lookup after a set number of attempts, or a request outside the agent's scope, the same way you'd set up an AI agent handoff in a text-based helpdesk.

Is eesel a Retell AI alternative?

Not directly. Retell builds and runs phone-call voice agents; eesel is a helpdesk AI that answers support tickets and chats from your existing knowledge base and past conversations inside tools like Zendesk, Freshdesk, or Front. A team might run both: Retell on the phone line, eesel on the ticket queue. If you're specifically comparing voice AI platforms, see the Retell AI alternatives roundup.

Share this article

Kenneth Pangan

Article by

Kenneth Pangan

Writer and marketer for over ten years, Kenneth Pangan splits his time between history, politics, and art with plenty of interruptions from his dogs demanding attention.

Related Posts

All posts →
Blue waveform icon on an abstract blue and purple background
Guides

OpenAI Audio Speech API: what to build and test in 2026

Understand the OpenAI Audio Speech API for text-to-speech, transcription, and realtime voice work, then separate the model infrastructure from the support workflow you operate.

Rama Adi NugrahaRama Adi NugrahaOct 12, 2025
Illustration of documents, workflow controls, and service-desk deployment
Guides

Freshservice AI agent setup: build, test, and deploy in 2026

Set up Freshservice AI Agent Studio with current channel and testing controls, then compare an eesel teammate using a practical CLI-led setup check.

Riellvriany IndriawanRiellvriany IndriawanMar 11, 2026
In-Depth Retell AI reviews (2025): Pricing, features & alternatives
Guides

Retell AI review (2026): Voice quality, pricing & more

Considering Retell AI? Our detailed review covers everything from user feedback and latency benchmarks to its complex pricing. See the pros, cons, and why modern support teams might prefer a more holistic, self-serve automation platform.

Kenneth PanganKenneth PanganOct 8, 2025
Black-and-white illustration of a hand dropping a coin above a house marked with an e
Guides

ChatGPT voice rollout: Live, Advanced, and desktop tasks explained

Understand the current ChatGPT voice rollout, how Live differs from Advanced and dictation, and how a voice-led Codex task can help review an eesel support workflow.

Kenneth PanganKenneth PanganJan 6, 2026
Split black and colorful geometric artwork for The Way of Code by Rick Rubin with Claude.
Guides

The 5 Claude AI apps you can build without code

See five useful Claude Artifact app types, what sharing, AI, MCP, and storage allow, and the checks to make before publishing.

Katelin TeenKatelin TeenJan 9, 2026
Illustration of a person using a phone beside Claude Code lettering and raised question-mark signs.
Guides

7 Claude Code best practices for reliable, reviewable work

Seven practical Claude Code habits for scoped changes, clear context, permission review, and meaningful tests, plus a safe handoff when a code finding changes support guidance.

Kenneth PanganKenneth PanganSep 8, 2025
A person holding a gear beside the words Claude Code on a peach background
Guides

Claude Code plugins: build and share reusable workflows in 2026

Learn what Claude Code plugins contain, when to use one instead of a project skill, how to test it locally, and how to connect a reviewed eesel CLI workflow.

Stevia PutriStevia PutriJan 9, 2026
Illustration of a ringing phone interface beside the Zendesk logo
Guides

Zendesk voice AI agents: a 2026 guide

Configure and test Zendesk Voice AI agents: knowledge, routing, human handoff, spoken prompts, recordings, and operational limits.

Kenneth PanganKenneth PanganOct 9, 2025
Text and image inputs moving through risk flags to a human reviewer
Guides

OpenAI Moderation API: build a safer support review flow

Learn what OpenAI Moderation API signals mean, how to route flagged support content safely, and how eesel CLI helps test the support workflow around them.

Rama Adi NugrahaRama Adi NugrahaOct 12, 2025

Ready to hire your AI teammate?

Set up in minutes. No credit card required.

Get started free