Short video:

Every single customer of Exotel uses Exotel because they want complete control over how they route incoming calls and to whom. Exotel provides a variety of different options and ways to route your incoming calls. This article lists all possibilities, but before that, let's get some concepts out of the way:


The team: We have a hypothetical group called the "Support" group in which there are three members: Ajay, Bhaskar & Chaitanya in that order. 


Parallel Ringing(On Request Feature) 

With Exotel, it is possible to send an incoming call to Ajay, Bhaskar & Chaitanya at the same time. That is, Exotel can ring all their phones at the same time and connect the caller to the first person who picks the call up. Read more about parallel ringing


Connect Configuration options:

Dial Whom:

Choose the group to send this call to. Click on the "magnifying glass" to select a group. Alternatively, You can use the radio button to choose the "text box" section. In the text box, paste in a valid URL that can return text and valid HTTP headers. Refer here for the documentation of providing numbers to dial using your application URL.


The text box section is good & bad at the same time:

The good: You have the freedom to return a comma-separated list of numbers to dial. This is useful if you want to make a dynamic decision (based on the caller's number or "an input you collected using the Gather applet which the caller may have pressed"' in the previous step etc) on whom to call.

The bad: Exotel does not maintain the state of these numbers. That is - If another call comes and your script decides to send the call to the same set of numbers, Exotel will dial them and if the destination party has call waiting enabled, the caller will hear "The person you are trying to reach is on another call" etc. So - The user & user's state management is left to you to handle. 


NOTE: This text box option for pasting URL will only appear in Connect applet if you have submitted your KYC documents successfully.


Call recording

If you select this option, an entry in the inbox will also have a recording that you can play & listen to at a later point. If this is not checked, then there will still be a line item in your inbox without the recording. Read more about call recordings here.


Call routing - default option

The default call routing option in a group is the order in which the names appear once you click on the group name on the Co-workers & Groups page. That is, Every incoming call will be sent to Ajay first and if he does not pick up, to Bhaskar and then to Chaitanya. The default option respects whether the user is available & free. That is, If Ajay has turned himself "off" from the exotel system, then the call goes straight to Bhaskar. If Bhaskar is already talking to someone, then to Chaitanya.


Distribute calls equally to Group members:

This option is similar to "Round robin". In the round robin, If the first call today goes to Ajay, then the 2nd call goes to Bhaskar, the third to Chaitanya, etc. The point of the round-robin is to equally distribute the load of calls to all members in a group. In the example above, if Bhaskar cannot pick up when the second call comes in, the call is routed to Chaitanya. The third call then goes to Ajay and the fourth to Bhaskar. It is assumed that an agent who is "ON" would be free to pick up all calls. If you don't check this option, then it will be the above "default" option. Click here to know more about this feature.


Sticky Agent

When an incoming call from a new user (Say Dinesh) is picked up by Bhaskar, then every time Dinesh calls, The call will always first go to Bhaskar. If Bhaskar is busy talking to someone else or is currently switched off from Exotel, then the call follows the usual routing configurations. This option is useful in assigning "account managers". That is, a single person responsible for a customer.

Sticky Agent will also work in an outbound scenario. Consider the above example where Bhaskar has used the Voice API (v1/v2/v3) to reach out to Dinesh. In this scenario, Exotel would have first dialed out to Bhaskar, who picks up, and then Exotel dials out to Dinesh. Irrespective of whether Dinesh picks up or not,  Exotel will now ensure a mapping exists between Dinesh and Bhaskar for a fixed duration of 30 days. Dinesh will be able to connect back on the number and reach out to Bhaskar itself (the sticky agent) if a call flow attached to the same VN (that was used in the Voice APIs ) has a connect applet with Bhaskar as one of the agents in the Agent Group.


Number of seconds to ring an agent

This is the amount of time to ring Ajay's phone number before moving on to Bhaskar. This time period starts from the time the server starts to dial (and not the time Ajay receives the call). There will be a 2 to 3-sec delay before the call lands on Ajay's phone (We all experience this delay. When you dial your friend's number, you will hear "beep, beep, beep" before it goes tring tring). The default is 30 secs. We recommend that you do not reduce this to less than 10 secs as Exotel might move on to Bhaskar even before Ajay realizes that he is getting a call on his number. The "beep beep" network slowness depends on the system load of not only Exotel (which we are constantly monitoring) but also the load and congestion in the source & destination operator networks.


Limit call duration

This is the length of the time period up to which the call can be active. The default is 4 hours and I can tell you that no one has ever crossed that limit yet. We recommend that you leave this blank. This option is particularly useful when you want to control the length of a call. For ex: If you have paid support and let's say the user has paid for a 30-minute slot, then you could use this to cut the call at the end of 30 minutes. Currently, Exotel does not inform the caller or the callee that their time period is over. It simply hangs up!

Music On Hold (Ringing Tone) 

This is the music that will be playing when we dial the agent's number (Note:  This is not the hold music that plays when you put the call on hold on your handset) 


There are more options in connect:



Create Pop-Up ( It triggers a call pop-up notification on your endpoint) 

This is particularly useful to dynamically send information to one of your servers or systems. During the call option sends the parameters from number(customer number), to number(agent number), and caller ID(Exotel number); more about these parameters can be found here During the call


After the call conversation ends.

There are a few things you can do when Ajay and Dinesh finish talking:

  • Send an SMS to Dinesh saying "Thank you for calling Mannar & Company. We hope to hear from you again!". Drag/Drop the SMS applet to achieve this.

  • Send an Email to the "Support" Group with the details of the call. Read more about the email applet.

  • Pass the information through to your system/server using Passthru.

If you leave this option empty, then the call will simply hang up (which is what you really want in most cases). Just to be clear, drag/drop the "Hangup" applet.


Queue the caller 

If all the agents are busy, You can put the caller in a queue and make him wait. Exotel will wake up every 10 seconds to check all callers in your queue and if there is a free agent who can talk to them. Read more about Call queueing here.


If Nobody answers

Exotel will look into your configuration in this option if no one picked up the call in your group. To be specific, this option will be looked up if any of the following options are true:


a) There were agents in the group, some of them were free, Exotel sent the call to them but they did not pick up.

b) There were no free agents in the group at the time of the call

c) There were no agents at all in the group!

d) You had enabled the queue & after having placed the caller in the queue, the queue time out exceeded.


Choice 1: Say sorry & Hangup up plays this message to the caller & hangs up.

Choice 2: You could drag/drop another applet. For ex, a Voicemail or even an SMS applet that sends an SMS informing the customer that all three people were busy.


Further reading:

 If you have any questions or concerns, please connect with us using the chat widget on your Exotel Dashboard or Whatsapp us at 08088919888.