What is an Applet?

With the help of Applets, we offer you the possibility of building your own custom workflow using an easy app builder interface. All you have to do is drag and drop the necessary applets and configure it the way you want to. Give it a try by building a simple IVR!

Where you can find it?

You can find all the Applets here.


The greeting applet allows you to set a recorded voice to greet your customer. You can upload a recording in any form – record it using your own phone, upload an 8000 Hz Mono .wav file or just let Robocop speak for you.


New Call

A New Call applet is used to connect the agents/groups of agents who are added to a flow to receive calls. The New Call applet can be used for sending information about a call to internal agents in your company. These calls are typically transactional calls.



The Connect applet helps you connect the caller to a group or a list of number(s). You can also choose to dial phone number(s) by filling in details or returning it from your application URL. You can also choose to record the call (you may choose to play a message to your customers by using the Greeting applet mentioning you are recording the call for internal quality purposes). In case you are returning number(s) to dial via your application URL, refer to the documentation here.


Programmable Connect

The programmable version of the Connect applet enables the call flow to be configured for connecting the caller to a list of number(s) along with additional parameters returned from your URL which can be configured dynamically per call. These include configurations such as record the call, maximum conversation time, outgoing Exophone to be used etc. For detailed documentation of the same, refer here.



Bidirectional Streams allow two-way flow of voice data over a WebSocket. Exotel would send the voice data of the caller to a WebSocket endpoint. The endpoint can return back voice data back on the WebSocket and our platform would play it out to the caller. The primary use case for this is to enable the building of intelligent conversational bots. For detailed documentation of the same, refer here.



This applet allows users to leave a voicemail which can be traced in your system – depending on which group/user you want the voicemail to go to.



This applet e-mails a group or a user all the details of the call regarding who called, what time they called, what did they input, which agent answered the call or which call went unanswered and whether there is a voicemail recording.


IVR Menu

This applet opens up the IVR menu. You can use this applet to set up an IVR in any way you desire.



This is the simplest applet. It is the full stop of the applets 🙂


This applet provides you with the ability to take calls between specific timings and divert the rest to voicemail or to another flow. You can create multiple shifts via using the Timing applet with the Transfer applet.


This applet allows you to take numeric information from the user via their keypads. The information that is collected can be used in multiple ways such as coupon offers, as a system generation check, along with the Passthru applet to re-send real-time information to the end user/caller. 

Programmable Gather

The programmable version of the Gather applet allows you to take numeric information from the user via their keypads and configure the Gather parameters (such as gather prompt, max digits, timeout etc.) dynamically from your application URL. The gathered digits then can be sent to your endpoint using Passthru applet. For configuring Gather dynamically using your application URL, refer here.



Using the Passthru applet, you can get Exotel to talk to your Application URL and pass on details about the incoming call as and when it happens. Your application can now process this information to decide which path (success/failure) the flow should take next. This applet helps to dynamically control the flow as well as store the call details in your CRM system or other applications.

Right now, it is possible only to make a binary decision with Passthru. For example, you can return a 200 OK for choice A and 302 Found for choice B.


For complete list of parameters, refer here.


The transfer applet helps you build multiple flows and transfer amongst flows. For e.g.: In-case you are building an incoming flow and you wish to add a voicemail multiple times, instead of creating a large flow and keep repeating the drag-drop, you could create a new ‘Voicemail’ Flow and use that multiple times via the Transfer applet.


Who’s Calling

This allows you to dictate the flow for a particular list of numbers. Let’s say you want your existing clients, your employees and others to be routed to different applets without having to enter any input using IVR. You can do this by creating separate lists for your existing customers, and employees and then use the Caller ID router to ensure that appropriate business logic is followed if the caller belongs to any of these lists.


This applet ensures that a password is required for the caller to proceed with the flow. For Eg: you could use this for authenticated conference calls.

List Manager

This applet helps you dynamically add each caller into a particular list. For e.g.: If you want your callers to subscribe themselves to receive alerts or offers from your company, you can use the subscription applet to add them to a list named ‘alerts’.

Switch Case

This applet helps customers streamline their flows based on multiple responses. It helps them create different workflows based on different responses given.


This applet is used to send an SMS back to the caller for an incoming call. It works in two ways –
Static: Any fixed message added on the applet in simple text is sent as a transactional content to the caller. Eg:”Thank you for calling us! We have received your order”.
Dynamic: Adding an URL on this applet, Exotel shall make a GET call to this URL and the response returned has to be in plain text. This response will be sent back to the caller as a transactional SMS.



This applet is used to send an SMS to the agents/groups of agents who are added to a flow to receive calls. This applet can be utilized for sending information about a call to internal agents in your company. These SMSes are typically transactional SMSes.