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, lets get some concepts out of the way:
The team: We have a hypothetical group called "Support" group in which there are three members: Ajay, Bhaskar & Chaitanya in that order.
Calling all agents parallely
With Exotel, it is possible to send an incoming call to Ajay, Bhaskar & Chaitanya at the same time. That is, Exotel can ring all the their phones at the same time and connect the caller to the first person who picks the call up. Read more about parallel ringing
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 to. This is useful if you want to make 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 if you 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 - User & user's state management is left to you to handle.
If you select this option, an entry in the inbox will also have a recording which 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 in 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 call equally to Group members:
This option is similar to "Round robin". In 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 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 AgentWhen an incoming call from a new user (Say Dinesh) is picked up by Bhaskar, then everytime 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 assiging "account managers". That is, a single person responsible for a customer.
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 upto 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 lets 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!
There are more options in connect:
During the call
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 email applet.
- Pass the information through to your system/server using Passthru.
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 queue & after having placed the caller in the queue, the queue time out exceeded.
Choice 1: Say sorry & Hangup plays this message to the caller & hangs up.
Choice 2: You could drag/drop another applet. For ex, Voicemail or even an SMS applet that sends an SMS informing the customer that all the three people were busy.