Skip to main content

Setting Up Your First Call Flow

A call flow defines how incoming calls to your ExoPhone are handled. Using Exotel's visual flow builder (App Bazaar), you can create interactive voice menus, route calls to agents, play greetings, and more -- all without writing code.

What is a Call Flow?​

A call flow is a series of connected applets (building blocks) that process a call from start to finish:

Incoming call to ExoPhone
--> Greeting applet (play welcome message)
--> IVR Menu applet (press 1 for sales, 2 for support)
--> Connect applet (route to agent)
--> Voicemail applet (if agent unavailable)

Each applet performs a specific action and passes the call to the next applet in the chain.

Prerequisites​

Before creating a call flow, ensure you have:

  • An active Exotel account (trial or paid)
  • At least one ExoPhone purchased and active
  • Agent phone numbers ready (the numbers your team members will answer on)

Step 1: Open the Flow Builder​

  1. Log in to my.exotel.com
  2. Navigate to App Bazaar in the left sidebar
  3. Click Create New Flow
  4. Enter a name for your flow (e.g., "Main Support Line")
  5. Click Create

The visual flow builder opens with an empty canvas.

Step 2: Add a Greeting​

A greeting is typically the first applet in any call flow. It plays a message when the caller connects.

  1. Drag the Greeting applet from the applet panel onto the canvas
  2. Configure the greeting:
SettingOptionsRecommendation
Audio sourceText-to-speech or upload audioStart with text-to-speech for quick setup
Message textYour greeting messageKeep it under 15 seconds
LanguageEnglish, Hindi, and other Indian languagesMatch your audience

Example greeting:

Welcome to Acme Technologies. Thank you for calling.
tip

Keep your greeting short and professional. Callers who wait through a long greeting are more likely to hang up. Aim for 5-10 seconds.

Step 3: Add an IVR Menu​

An IVR (Interactive Voice Response) menu presents options to the caller and routes them based on their key press.

  1. Drag the IVR Menu applet onto the canvas
  2. Connect it to the Greeting applet (drag from the Greeting's output to the IVR's input)
  3. Configure the menu:

IVR prompt:

Press 1 for Sales. Press 2 for Customer Support. Press 0 to speak with an operator.

Key mappings:

KeyActionConnect To
1Route to SalesConnect applet (Sales team)
2Route to SupportConnect applet (Support team)
0Route to OperatorConnect applet (Reception)
No input / InvalidReplay menu or default actionRepeat or Greeting applet

IVR Settings​

SettingRecommended ValueDescription
Input timeout5 secondsTime to wait for caller input
Max retries2Times to replay menu on no input
Invalid input message"Sorry, that is not a valid option."Played when an unrecognized key is pressed

Step 4: Add Call Routing (Connect)​

The Connect applet routes the call to an agent's phone, a SIP endpoint, or a group of agents.

  1. Drag a Connect applet onto the canvas for each IVR option
  2. Connect each IVR key output to its respective Connect applet
  3. Configure the Connect applet:
SettingOptionsDescription
Connect toPhone number, User, SIPWhere to route the call
Phone numbersAgent's mobile or landlineComma-separated for sequential or simultaneous ring
Ring timeout15-30 secondsHow long to ring before trying next action
Caller IDYour ExoPhoneNumber displayed to the agent
RecordingEnabled/DisabledRecord the conversation

Example: Sales routing

SettingValue
Connect to+919876543210, +919876543211
Ring strategySequential (try first, then second)
Ring timeout20 seconds
RecordingEnabled
warning

If you enable call recording, add a consent announcement before the Connect applet. For example, add a short Greeting that says "This call may be recorded for quality purposes" before routing to the agent.

Step 5: Add a Voicemail Fallback​

If no agent answers, the Voicemail applet lets the caller leave a message:

  1. Drag the Voicemail applet onto the canvas
  2. Connect it to the Connect applet's "No Answer" output
  3. Configure:
SettingValue
Prompt"Sorry, all agents are busy. Please leave a message after the tone."
Max duration60 seconds
Email notificationYour team email address

Voicemail recordings are stored in your Exotel account and can be accessed via the dashboard or API.

Step 6: Connect the Flow​

Ensure all applets are properly connected:

[Greeting] --> [IVR Menu]
|-- Key 1 --> [Connect: Sales] --> [Voicemail]
|-- Key 2 --> [Connect: Support] --> [Voicemail]
|-- Key 0 --> [Connect: Operator] --> [Voicemail]
|-- No input --> [Greeting] (loop back)

Step 7: Save and Test​

  1. Click Save to save your call flow
  2. Note the flow's App ID (displayed in the flow details)
  3. Assign the flow to your ExoPhone:
    • Go to ExoPhones in the sidebar
    • Click Configure on your ExoPhone
    • Select your new flow from the dropdown
    • Click Save
  4. Call your ExoPhone from a personal phone to test

Test Checklist​

TestExpected Result
Call the ExoPhoneGreeting plays
Press 1Routed to Sales number
Press 2Routed to Support number
Press 0Routed to Operator
Press invalid keyError message, menu replays
No inputMenu replays after timeout
No agent answersVoicemail prompt plays

Available Applets Reference​

AppletFunctionCommon Use
GreetingPlay audio or text-to-speechWelcome messages, announcements
IVR MenuCapture DTMF key press and routeDepartment selection, menu navigation
ConnectRoute call to a phone, user, or SIPAgent routing, call forwarding
VoicemailRecord caller's voice messageAfter-hours, no-answer fallback
PassthruHTTP request to your server mid-callDynamic routing, CRM lookup
TransferTransfer to another number or flowWarm and cold transfers
HangupEnd the callTerminal action
SMSSend an SMS during/after the callFollow-up messages, confirmation texts
EmailSend an email notificationAlert team members, send summaries

Using the Flow URL in API Calls​

Once your flow is created, you can trigger it programmatically:

http://my.exotel.com/<account_sid>/exoml/start_voice/<app_id>

Use this URL in:

  • Voice campaign url parameter
  • Connect API url parameter
  • ExoPhone incoming call configuration

Troubleshooting​

IssueCauseSolution
Call goes straight to busy toneExoPhone not assigned to a flowAssign the flow in ExoPhone settings
Greeting does not playText-to-speech misconfiguredVerify language setting and message text
IVR not recognizing key pressesDTMF detection issueTest from a different phone; check IVR timeout settings
Call not routing to agentIncorrect phone number in ConnectVerify agent numbers include country code
Voicemail not recordingVoicemail applet not connectedCheck flow connections; ensure "No Answer" output is linked
Call flow changes not taking effectFlow not saved or not publishedSave the flow and verify it is assigned to the ExoPhone

Next Steps​