# IVR script examples and call flow, from greeting to agent transfer

> IVR script examples for every prompt in a phone menu: greeting, after-hours, outage notice, menu, reprompt, account lookup, hold, callback and agent transfer.

Source: https://flowchart.chat/g/ivr-call-flow-script (version 2, published 24 October 2026)

## Answer and route

1. **Phone line answers the call** (IVR)
   - For whoever writes or maintains a phone menu (IVR). Each step is what the line says or does, and each question is where it routes the caller.
   - Keep prompts short and put the most common reason first. Callers hear the menu once and remember three or four options at most.
   - Every prompt step carries sample wording in its note. Copy it, then cut it shorter.
2. **Play the greeting with the company name** (IVR)
   - "Thanks for calling Acme." Skip the marketing message. Every second before the menu is a second the caller waits.
3. **Is the business open right now?** (IVR)
   - No: go to step 4, Say the opening hours and offer a voicemail or a callback.
   - Yes: go to step 8, Open for calls.
4. **Say the opening hours and offer a voicemail or a callback** (IVR)
   - "Thanks for calling Acme. We're open Monday to Friday, 8 to 6. Press 1 for a callback when we open, or stay on the line to leave a message."
5. **Does the caller press 1 for a callback?** (IVR)
   - Yes: go to step 6, Record the caller's number and confirm the callback window.
   - No: go to step 7, Take a voicemail, then tell the caller when it will be returned.
6. **Record the caller's number and confirm the callback window** (IVR)
   - "We'll call you back at this number between 9 and 10 tomorrow morning. Press 1 to confirm."
7. **Take a voicemail, then tell the caller when it will be returned** (IVR)
8. **Open for calls** (IVR)
9. **Is there an outage or a closure notice to play?** (IVR)
   - A short notice here stops a queue of callers all asking the same thing. Remove it as soon as the problem is fixed.
   - Yes: go to step 10, Play the notice, then continue to the menu.
   - No: go to step 11, Go straight to the menu.
10. **Play the notice, then continue to the menu** (IVR)
   - "We're aware of an outage in the Springfield area and expect service back by 3 p.m. If that's why you're calling, there's no need to hold."
   - Then go to step 12, Play the main menu.
11. **Go straight to the menu** (IVR)

## Main menu

12. **Play the main menu** (IVR)
   - "For billing, press 1. For a problem with your service, press 2. To cancel or change your plan, press 3. For anything else, press 0." Say the reason before the key, so callers listen for their reason, not for numbers.
13. **Did the caller press a key that's on the menu?** (IVR)
   - No: go to step 14, Is this the second time the caller missed?.
   - Yes: go to step 16, Key matched.
14. **Is this the second time the caller missed?** (IVR)
   - VoiceXML calls these nomatch and noinput events. Reprompt once with shorter wording, then stop trying.
   - No: go to step 15, Say the options again more briefly.
   - Yes: go to step 28, Transfer to the next agent with what's known so far.
15. **Say the options again more briefly** (IVR)
   - "Sorry, I didn't get that. Billing, 1. Service, 2. Plans, 3. Anything else, 0."
   - Then go to step 13, Did the caller press a key that's on the menu?.
16. **Key matched** (IVR)
17. **Which option did the caller choose?** (IVR)
   - Billing: go to step 18, Ask for the account number on the keypad.
   - Service problem: go to step 23, Check the caller's area against known outages.
   - Cancel or change plan: go to step 28, Transfer to the next agent with what's known so far.
   - Anything else: go to step 28, Transfer to the next agent with what's known so far.
18. **Ask for the account number on the keypad** (IVR)
   - "Please enter your account number, then press pound." Use the pound key to end every entry, so callers learn it once.
19. **Does the account number match an account?** (IVR)
   - Yes: go to step 20, Offer the balance and the due date, then ask if that's all.
   - No: go to step 28, Transfer to the next agent with what's known so far.
20. **Offer the balance and the due date, then ask if that's all** (IVR)
   - "Your balance is 42 dollars and 10 cents, due on November 5th. Press 1 if that's all you needed, or stay on the line for an agent."
21. **Is that all the caller needed?** (IVR)
   - Yes: go to step 22, Thank the caller and end the call.
   - No: go to step 28, Transfer to the next agent with what's known so far.
22. **Thank the caller and end the call** (IVR)
23. **Check the caller's area against known outages** (IVR)
24. **Is there a known outage in their area?** (IVR)
   - Yes: go to step 25, Play the outage update with the expected fix time.
   - No: go to step 28, Transfer to the next agent with what's known so far.
25. **Play the outage update with the expected fix time** (IVR)
   - "There's a known outage in your area, and crews expect service back by 3 p.m. today. Press 1 for a text when it's fixed, or stay on the line for an agent."
26. **Does the caller still want an agent?** (IVR)
   - No: go to step 27, Offer a text message when service is back, then end the call.
   - Yes: go to step 28, Transfer to the next agent with what's known so far.
27. **Offer a text message when service is back, then end the call** (IVR)

## Hand off to a person

28. **Transfer to the next agent with what's known so far** (IVR)
   - Pass the account number, the menu choice and anything the caller already entered to the agent's screen, so the caller never repeats it.
29. **Is the expected wait longer than your callback threshold?** (IVR)
   - Pick a threshold you can keep, for example 5 minutes. Announce the wait time only if it's accurate.
   - Yes: go to step 30, Offer to hold or to get a callback in the caller's place in line.
   - No: go to step 34, Hold in the queue.
30. **Offer to hold or to get a callback in the caller's place in line** (IVR)
   - "The wait is about 8 minutes. Press 1 and we'll call you back without losing your place, or stay on the line."
31. **Does the caller choose a callback?** (IVR)
   - Yes: go to step 32, Confirm the number and keep their place in the queue.
   - No: go to step 33, Hold in the queue.
32. **Confirm the number and keep their place in the queue** (IVR)
   - "We'll call you at this number in about 8 minutes. Press 1 to confirm, or press 2 to use a different number."
33. **Hold in the queue** (IVR)
   - Then go to step 35, Play the hold message and the place in line until an agent answers.
34. **Hold in the queue** (IVR)
35. **Play the hold message and the place in line until an agent answers** (IVR)
   - "You're number 3 in line. Thanks for holding." Repeat the place in line every 30 to 60 seconds, and keep the music quieter than the voice.
36. **Agent answers with the caller's details already on screen** (IVR)

## Outcomes

### Record the caller's number and confirm the callback window

"We'll call you back at this number between 9 and 10 tomorrow morning. Press 1 to confirm."

You get here from step 5, Does the caller press 1 for a callback? (Yes).

### Take a voicemail, then tell the caller when it will be returned

You get here from step 5, Does the caller press 1 for a callback? (No).

### Thank the caller and end the call

You get here from step 21, Is that all the caller needed? (Yes).

### Offer a text message when service is back, then end the call

You get here from step 26, Does the caller still want an agent? (No).

### Confirm the number and keep their place in the queue

"We'll call you at this number in about 8 minutes. Press 1 to confirm, or press 2 to use a different number."

You get here from step 31, Does the caller choose a callback? (Yes).

### Agent answers with the caller's details already on screen

You get here from step 35, Play the hold message and the place in line until an agent answers.
