Lorixen.
EN

Designing Call Flows for an AI Phone Agent

Short answer: A good AI phone agent flow starts from a short list of call reasons (intents), collects only the details each one needs, reads critical details back before acting, and hands off to a person on clear triggers with a concise, checked summary to reduce repetition. Design the after-hours and failure paths as carefully as the happy path. Then test with a written script of real and awkward calls before a single customer hears it.

Step 1: List the reasons people call

Before writing any prompt, group a representative sample of call reasons using records you are authorised to review. Prefer anonymous front-desk tallies where possible; do not copy patient or customer details into a planning document. Start with a manageable shortlist, then check whether it covers your actual call mix. Each becomes an intent with its own mini-flow.

For each intent, write down:

  • Trigger phrases: how callers actually say it ("I need to move my Thursday thing").
  • Goal: what "done" looks like (appointment booked, message taken, question answered).
  • Data needed: the minimum to reach the goal.
  • Can the agent finish it alone? Yes, partly, or never.

Anything marked "never" (complaints about a bill, clinical advice, legal questions, emotionally hard calls) is a handoff intent from the start.

Step 2: Decide what to collect, and in what order

Keep questions relevant and brief. The following are design suggestions to test with your callers, not platform requirements:

  • Ask for the purpose first, then only the fields that intent needs.
  • One question at a time. Voice isn't a form; compound questions get half-answered.
  • Agree on a callback route early if needed. Confirm a reachable number and whether a callback is wanted before collecting a long message. A captured number alone does not guarantee that you can or should call back.
  • Do not treat caller ID as authentication. A matching number may suggest a record internally, but does not establish who is calling. Complete the business-approved identity check before revealing account details or changing an appointment; do not read private record details aloud to an unverified caller.
  • Spell-sensitive fields need a strategy: emails, street names and surnames. Ask the caller to spell them, or offer an approved secure link if they can and want to receive it. Keep a voice-only alternative.

Step 3: Confirm before you act

Speech recognition mishears numbers, dates and names. Anything that triggers an action gets a short read-back:

"So that's a cleaning with Dr. Patel on Tuesday the 14th at 3:30 p.m., for Maria Lopez. Shall I book it?"

Confirm the what, when, who, including the month, year and time zone where relevant, and wait for a clear yes. Use the booking system’s success response before saying the appointment is booked. If the result is uncertain, check the existing request before retrying so you do not create two bookings. Offer a confirmation through an agreed, approved channel, with a way to report mistakes; keep sensitive details out of notifications.

Step 4: Design the handoff to a human

Treat the handoff as an explicit part of the flow, with separate attempted, connected and failed states. Define the triggers explicitly:

  • the caller asks for a person (start the available handoff path; explain honestly if nobody is available);
  • the intent is on your "never" list;
  • the agent fails to understand twice in a row;
  • the caller expresses frustration or distress, or recognition is uncertain; do not rely solely on automated emotion detection;
  • the caller is a VIP or known account flagged in your system.

Then choose how to hand off. Check the modes supported by your actual platform and telephony provider rather than assuming that transfer behaviour is universal. Retell's documentation describes a cold transfer, where the call goes straight to the destination and the agent drops off, and a warm transfer, where the agent stays on the line, can wait for a real person to speak, and can play a "whisper" message that only the staff member hears. Vapi’s traditional warm-transfer documentation lists five modes for Twilio calls, including fixed-message, generated-summary and wait-for-operator variants. Its summary plan must be configured on the transfer destination; an end-of-call summary is not the same feature. Test with the same phone number, provider and destination you intend to use.

Consider a warm transfer when staff need context before accepting a caller. Keep the summary factual and brief, and test what the caller and recipient actually hear. The following is a hypothetical, minimum-detail example:

Whisper to staff: "Caller is James Reed, existing customer, water leaking under the kitchen sink since this morning, wants someone today."

Plan separately for no answer, a busy line, a routing error and unstaffed hours. Do not say a message was sent until the alert system confirms receipt. For example: "I couldn’t reach the team. Would you like me to request a callback?" After a successful alert, state only the callback window the business actually supports. If alert delivery fails, say so and offer a verified alternative contact route. A callback request is not a guaranteed response.

Step 5: After-hours rules

Define after-hours permissions and available staff explicitly. A live calendar alone is not authority to book or modify an account. Use a table like this as a draft for business approval:

Intent Business hours After hours
Book or change appointment Only approved actions after required identity checks Same limits, current availability and verified booking result; otherwise request review
General question Agent answers from approved info Same
Urgent service issue Attempt approved staffed route Attempt verified on-call route if available; do not substitute a callback promise for emergency help
Complaint or billing Attempt approved staffed route Offer a minimum-detail message and the actual supported response window
Clinical, legal or safety-related issue No improvised advice; use the professionally approved escalation route Same limit; use only locally verified emergency information when appropriate, without delaying urgent help

State opening hours with the relevant time zone and account for holidays. Offer a callback window only if staffing supports it; distinguish a requested window from a confirmed commitment.

Step 6: Failure recovery inside the conversation

Plan short recovery moves instead of hoping the model improvises well:

  • Misunderstood twice: rephrase once, then offer a person or a text link.
  • Off-topic request: answer briefly if it's in your approved info; otherwise say what you can help with.
  • Tool failure (calendar or CRM not responding): don't pretend. "Our booking system isn’t responding. Would you like me to request a callback? No appointment is confirmed yet." Check for a completed booking before any retry, and confirm successful message delivery separately.
  • Caller gives conflicting details: read back both and ask which is right.

A transfer acceptance worksheet

Instead of drawing only arrows between intents, write down what counts as each completed transition. This is a proposed worksheet, not an exported platform configuration or a report of a tested installation.

State Evidence to check What the agent may say Next path if evidence is missing
Caller requests a person Explicit request captured; approved destination selected for current staffed hours “I’ll try to connect you.” Explain that no staffed route is available; offer the approved fallback
Destination is ringing Transfer attempt started, but no recipient acceptance yet Explain the hold without saying a person has answered Apply the configured ring limit and return to the failed-transfer path
Recipient briefing Supported warm-transfer mode and correct destination leg; recipient hears only necessary context Do not tell the caller the handoff is complete yet Handle unavailable recipient or failed summary according to the tested mode
Caller connected In a test, both parties can hear each other after the introduction; production uses the integration’s supported connection signal Announce connection only at the supported point Do not equate a tool invocation or ringing with an answered call
No answer or transfer error Configured attempt ended without the required connection evidence “I couldn’t connect you.” Offer a callback request or verified alternative; check alert delivery separately
Callback request recorded Caller agreed; minimum details stored and alert result checked State that a request was received only after confirmation If storage or alerting failed, explain that rather than promising a callback

For Retell’s documented warm-transfer settings, decide the ring duration, whether the destination has an internal queue, the wait time for a real agent to answer, and whether you need a private whisper or a three-way debrief. These are different experiences: a three-way debrief is heard by both parties, not just staff. Retell documents Transfer Call for phone calls, not web calls; a browser conversation is not a substitute for a phone-transfer test.

For Vapi’s documented traditional Twilio modes, choose a fixed message when every recipient needs the same introduction, or a destination summary plan when the briefing must use the current conversation. The latter needs the transcript in its summary input. A wait-first timeout controls how long Vapi waits before delivering the briefing; it is not a promise that an operator will answer. Test what happens if the greeting is automated or speech is not detected. Do not assume the dashboard mode name proves successful human acceptance.

Keep the worksheet beside the intent list. The intent says why a caller is transferred; this worksheet says what evidence allows each handoff statement. Map it to your integration’s actual events and available logs before implementation. If an event is not exposed, document that limitation rather than inventing a success signal.

The testing script

Before launch, use the scenarios below as a starting test plan, with enough repetitions to cover your permitted intents, languages, destinations and failure paths. There is no claim that a fixed number of calls establishes readiness. Use authorised testers, synthetic customer data, real phones and varied background noise, not just text simulation. This article reports no executed calls or platform certification.

# Scenario Pass if
1 Simple booking, clear speaker Correct slot committed once; agreed confirmation delivery checked separately
2 Booking with a hard-to-spell surname Name confirmed correctly or link sent
3 Caller changes their mind mid-flow Agent follows the new request
4 Caller asks "Am I talking to a robot?" Honest yes, offer of a person
5 Caller asks for a person immediately Available handoff attempted without argument; unavailability explained honestly
6 Transfer goes unanswered Fallback offered, alert result checked; failed alert not described as delivered
7 Reported after-hours emergency Approved local escalation information; no improvised advice or callback substituted for urgent help
8 Question outside approved info No invented answer; offers handoff
9 Calendar unavailable or result uncertain No success claim; existing booking checked before retry; callback request only with agreement
10 Noisy line, speakerphone, accent Recovers or hands off within two misses

Record test outcomes without unnecessary personal information, fix the flow, and re-run failures and affected regression cases after changes. Test a clear AI disclosure in the greeting. Before any production call review, establish the applicable legal basis, notices, access restrictions and retention policy; recording or transcribing is not a prerequisite for this test plan. This workflow is not a jurisdiction-specific legal assessment.

FAQ

How many intents should a first version handle?

Start with a few frequent, low-risk intents plus a tested unavailable-human fallback. Expand only after the corresponding actions, identity checks and failure cases pass review; adding an intent can require new permissions and tests.

Should the agent pretend to be a human receptionist?

No. Use a clear AI disclosure at the start and answer questions about it honestly. Separately check the disclosure requirements that apply to your deployment; this design recommendation is not a complete legal compliance determination.

What failure path needs explicit testing?

A serious design gap is having no failed-transfer path. Test unanswered calls, rejected destinations, voicemail and delivery failures rather than assuming that a transfer request means a person accepted the call.

Do I need to record calls to improve the agent?

No. Start with authorised test calls and outcome tallies. If you later use recordings or transcripts, get deployment-specific advice on the applicable recording, privacy and professional rules, including any notice or consent requirements. Establish access controls, retention and vendor handling before collection. A recording notice alone does not establish permission.

If you'd like help mapping your calls into intents and handoff rules before choosing a platform, describe what your phones are like on a busy day.

Sources

WhatsAppLet’s talk