---
title: "Build a phone menu (IVR) in Flow"
url: "https://enfonica.com/help/flow/phone-menu-ivr"
summary: "Add a Menu step to a flow, write the greeting with text-to-speech or upload a recording, select a key for each option, and put a step under each key's exit. Then publish the flow and make it your number's first incoming call handler."
type: how-to
audience: everyone
products: ["Flow", "Phone Numbers"]
who_can_do_this: "Whoever manages your Enfonica project"
---

# Build a phone menu (IVR) in Flow

**Short answer:** Add a Menu step to a flow, write the greeting with text-to-speech or upload a recording, select a key for each option, and put a step under each key's exit. Then publish the flow and make it your number's first incoming call handler.

**Applies to:** Flow, Phone Numbers  
**Who can do this:** Whoever manages your Enfonica project

## Before you start

- An Enfonica phone number that takes voice calls.
- The options you want to offer, and where each one should go.
- A computer, because the Flow editor needs a larger screen than a phone.

## How a phone menu works in Flow

A phone menu, or IVR (interactive voice response), greets callers and lets them choose where their call goes by pressing a key on their phone. For example, "For sales, press 1. For support, press 2."

In Flow, Enfonica's visual call flow builder, the menu is a single **Menu** step. Each key you offer becomes one of its exits. You drag the step that handles that option into the exit. There's no code to write, and you don't need a phone system.

A typical menu has this shape.

| Step | Exit | What happens |
| --- | --- | --- |
| **Menu** (the greeting and options) | **1** | A **Call** step rings the sales team. |
|   | **2** | A **Call** step rings support. |
|   | **3** | A **Voicemail** step takes a message for accounts and emails it. |
|   | **Incomplete** | Callers who don't choose an option go to a **Call** step that rings reception. |

## Add the menu and its greeting

1. In the [Enfonica Console](https://console.enfonica.com/), go to **Flow**.
2. Select **Create flow**, or open an existing flow.
3. Drag the **Menu** step from the left sidebar onto the flow tree, directly under the start of the flow. Then select it to open its step form.
4. Under **Prompt**, set the greeting that callers hear. For text-to-speech, enter it on the **Speak** tab, for example "Thanks for calling. For sales, press 1. For support, press 2. For accounts, press 3." To use a professional recording instead, add an .mp3 or .wav file on the **Upload** tab.
5. Under **Keypad options**, select each key you offer. A new menu starts with 1, 2, and 3 selected. Each selected key appears as an exit under the step. To remove a key's exit, select the key again. This works only while nothing is in that exit.

Callers choose with a single key, so each option is one digit from 0 to 9, or `*` or `#`.

## Decide what each option does

Close the step form, and then drag a step into each key's exit. These are the steps most menus use.

| Step | Use it to |
| --- | --- |
| **Call** | Ring a team, a mobile, or your phone system. To ring several people, see [Forward calls to a mobile](https://enfonica.com/help/flow/forward-calls-to-mobile). |
| **Voicemail** | Take a message and send it by email or SMS. This suits options like "press 1 to request a callback". See [Set up voicemail to email](https://enfonica.com/help/flow/voicemail-to-email). |
| **Play** | Play information, such as your opening hours or address. |
| **Menu** | Offer a second set of options, as a sub-menu. |
| **Go To** | Send the caller to another step, such as back to the start of the menu for "press 9 to hear these options again". |

To build a sub-menu, drag another **Menu** step into a key's exit, and set it up in the same way. To use **Go To**, select it, select **Configure**, select **Target step**, and then choose the step it should go to.

## Look after callers who don't choose

Some callers press a key you don't offer, and some don't press anything. The menu replays its greeting and gives them another try. When the tries run out, the call takes the **Incomplete** exit. Always put a step there, such as a **Call** step to reception, so that no caller is left without an answer.

You can adjust this behavior under **Advanced controls** in the step form.

| Setting | Starts as | What it does |
| --- | --- | --- |
| **Invalid** | "That's an invalid key" | Plays when the caller presses a key you don't offer. |
| **Timeout** | Off | Plays when the caller doesn't press anything in time. |
| **Attempts** | 3 | How many tries the caller gets, from 1 to 10. |
| **Input timeout** | 5 seconds | How long the caller has to press a key, from 3 to 30 seconds. |
| **Allow input during prompt** | On | Lets callers press a key before the greeting finishes. |
| **Exit on timeout** | Off | Sends a caller who doesn't press anything straight to **Incomplete**. |

> **Tip:** For a greeting that ends "or stay on the line to speak to reception", turn on **Exit on timeout**. Then put a **Call** step to reception in the **Incomplete** exit.

## Publish the flow and connect your number

1. Select **Publish**, and give the flow a name if the editor asks for one. The editor confirms with "Flow published".
2. Go to **Phone Numbers > My numbers**, and select the number that callers dial.
3. Under **Incoming call handlers**, select **Add**, select **Flow**, and then choose your flow.
4. Use the arrows next to the handlers to move the flow to the top of the list, and then select **Save Changes**.

The flow must be first in the list, or callers never hear the menu. One flow can serve several numbers.

## Check that it worked

1. Call your number from a mobile. You hear the greeting.
2. Press each key you offer, one call at a time. Each call reaches the right place.
3. Call once more, and press nothing. After your attempts run out, the call reaches the step in the **Incomplete** exit.

If callers don't hear the menu, see [Calls aren't following your flow](https://enfonica.com/help/flow/flow-not-working).

## Questions

### Do I need to record the greeting?

No. Flow reads your words aloud with text-to-speech, so you can publish the menu straight away. You can swap in a professional recording later on the **Upload** tab.

### Can the menu change after hours or on public holidays?

Yes. Put a **Time & Day** step before the menu. Put the menu in its **Match** exit and your after-hours option in **No Match**. To learn how, see [Route calls by business hours](https://enfonica.com/help/flow/route-calls-by-time-of-day).

### Callers press a key and nothing happens. Why?

Check that the key is selected under **Keypad options** and has a step in its exit. A key that isn't selected counts as invalid.

If the keys are set up and some callers still can't choose, contact support with their number and the time of the call. Keypresses can be lost on another network before the call reaches us.

### Can Enfonica build the menu for us?

Yes. We design and build call flows for customers who'd rather not do it themselves. Tell us the options you want and where each one should go.

## What to send us

Include these so we can check your flow.

- The phone number that calls go to.
- The name of the flow.
- The date and time of a call that went the wrong way, with your timezone, and what you expected to happen.

[Contact support](https://enfonica.com/contact-support?article=%2Fhelp%2Fflow%2Fphone-menu-ivr&topic=other)

## Related

- [Route calls by business hours and public holidays in Flow](https://enfonica.com/help/flow/route-calls-by-time-of-day.md)
- [Set up voicemail to email in Flow](https://enfonica.com/help/flow/voicemail-to-email.md)
- [Forward calls to a mobile or another number](https://enfonica.com/help/flow/forward-calls-to-mobile.md)
- [Calls aren't following your flow](https://enfonica.com/help/flow/flow-not-working.md)
- [Flow step: Menu (docs)](https://enfonica.com/docs/flow/steps/menu/)
- [Flow](https://enfonica.com/products/flow)

---

Web version: https://enfonica.com/help/flow/phone-menu-ivr
