Exotel Salesforce Integration enables the contextual association of calls with Salesforce Objects. It enables the user to have Incoming Call intimation, visualize the call details along with call recordings and provide Click2Call capabilities. Seamless integration for enhanced sales productivity and a better experience.

Key Benefits:

  • Call Intimations - Get the notification on your Salesforce dashboard, whenever an incoming call comes on to your customer-facing Exotel Number or an outbound call is initiated from Salesforce

  • Object Association: In case of an Incoming call,object to be associated with call can be changed by the agent during thecall

  • Automated Call Log Creation - Ability to create/update a call log and associate the call with it. Automatic call log creation for Missed Calls

  • Click2Call - Initiate a call between you and your customer, directly from the Salesforce

  • Call Details - Call Recordings and Call Duration getting automatically added to the call logs.

  • User Mapping - Map Exotel Agents to Salesforce Users and enable Click-2-Call.

  • Missed call activity - Get the activities created for missed calls so as to reach customers later

  • Masked Calls - Configuration for masked Calls can be done. Phone numbers of the customer can be masked and only last 4 digits can be shown to agent during Outgoing and Incoming Calls to maintain the customer’s privacy and identity without getting their personal data misplaced.


Follow the following prerequisites and steps to configure the integration both at Exotel and Salesforce end.


In order to have a successful integration with the Salesforce account, you must complete the following tasks:

  1. Sign up for an Exotel Account.

  2. Verify your account through phone or email. 

  3. Get your account KYC verified.

  4. Purchase ExoPhone to be used by  Salesforce users/agents for inbound and outbound calls.

  5. From the API section, make a note of Account SID, API Key, and API Token

Setting up of Exotel and Salesforce Connector Integration

Step 1: Configure Exotel CTI Salesforce Connector

  1. Login to the Salesforce account

  2. Install the Exotel CTI Salesforce Connector for all users  

Add Users to the Call Center

1. Go to Setup
2. In the Quick Find field, enter Call Center, then select Call Centers from the result list

3. If you see the Say Hello to Salesforce Call Center page, select Continue

4.Select EXOTEL CTI Adapter

5. Click Manage Call Center Users

6. On the EXOTEL CTI Adapter: Manage Users page, select Add More User
7. Set filters (if desired) and then choose Find.

8. Select the checkbox next to the user to add, then choose Add to Call Center

Create the SoftPhone Layout

  1. Next, we need to create a softphone layout. In the Quick Find box, type Softphone Layouts, then choose Softphone Layouts.

  2. Choose New.

  3. Enter a name for the layout, such as ExotelDefault, then select the Is Default Layout checkbox.

  4. Expand "Display these Salesforce: The Customer Company   objects" and select objects that Exotel CTI Connector should be able to search, for a screen-pop query. 

5.For each of the objects selected,Select the fields that you want to displayed in case of Incoming Call

6.Configure the search behavior in the case that one or multiple records are found upon CTI search.

7.click on save

8.Configure softphone layouts for both Inbound and Outbound in the Select Call Type picklist.

9.Assign the created softphone layout for the profiles

Configuring the Exotel Lightning App

Go to Exotel Lightning App

Exotel Lightning App


  1. Configure your Exotel account-related settings in the Exotel configuration. Refer to the below image,

Exotel Configuration 

Enter Account SID, API Key, API Token and Region of your corresponding Exotel account.The following details can be found in Developer Settings section in the Exotel dashboard.

  • Default Object : Select the default object from the select dropdown. Incase of incoming call from unknown number,a new object of type Default Object will be created and the call will be associated with that object 

  • Object Priority List : In case of an incoming call when the customer number is mapped to multiple objects, if the agent does not select the object to associate the call to within 10 seconds ,based on this priority list objects gets automatically assigned. Select the objects based on priority

For each of the objects selected in Object Priority Listselect theName Fields  and Phone Fields .

  • In Phone Fields select all the fields on which call needs to be made or received.

  • In Name Field select the field which should be displayed as Name when call for that recordType is made or received.

After adding all the above details, Click on save button and save the Exotel Configuration.

After Exotel Configuration is done you receive AccountUid please take a note of that .It will be used during flow configuration.

Step 2: Configure Salesforce Plugin Call flow

This flow is necessary to support Inbound Calls

In order to create the Salesforce Plugin Call flow, follow these five steps:

  1. Go to the ‘App Bazaar’ section and under ‘Custom Apps’ click on the ‘Create’ button

  2. Provide the App Name and click on OK.

  3. Add a Greeting Applet.

  4. Add your greeting message and add the Connect Applet. If you don’t want any greeting messages, just add a dot inside in the Read Text field.

  5. In the Dial Whom Section, please configure the below URL as primary URL.

    URL:  https://api.exosalesforce.cocreate.exotel.com/sfdc/api/inbound/dialwhom?<AccountSid>&<AccountUid>

    E.g:  https://api.exosalesforce.cocreate.exotel.com/sfdc/api/inbound/dialwhom?AccountSid=1234&AccountUid=1234

    • AccountSid - It’s basically accountId. you can get the AccountSid via the below steps

      • Login into the Exotel account(my.exotel.com).

      • Click on the top right API Credentials link. It will be redirected to the API settings page. 

    • AccountUid - Once Exotel configuration is saved,you can see this over there.

    • You can assign a particular virtual number to the flow. If the customer calls a particular virtual number, then the Dialwhom API returns the list of agents who are using that particular virtual number. If you don’t want Dialwhom API, please create the group inside the coworker section. Just drag the user device and drop it into the group. Once the group is created, choose the first option and select your group.  


  6. Under the ‘Create popup…’ section, enter this URL (modify the Exotel account name in it by your Exotel account name)
    URL: https://api.exosalesforce.cocreate.exotel.com/sfdc/api/inbound/agentpopup?<accountSId>&<AccountUid>

    E.g:  https://api.exosalesforce.cocreate.exotel.com/sfdc/api/inbound/agentpopup?AccountSid=1234&AccountUid=1234

  7. We are using three types of Passthru Answered, Missed Call, and Not Connected.


    1. Answered Passthru: After the Call Conversation ends, add a Passthru. In that passthrough enter this URL (change the CallState).
      URL: https://api.exosalesforce.cocreate.exotel.com/sfdc/api/inbound/passthru?<AccountSid>&<AccountUid>&callState=Answered

      E.g: https://api.exosalesforce.cocreate.exotel.com/sfdc/api/inbound/passthru?AccountSid=1234&AccountUid=1234&callState=Answered

    2. Missed Call Passthru: In the section ‘If Nobody Answers..’, select 'Go To' and add a Passthru. Enter the pass-thru URL (change the CallState).
      URL: https://api.exosalesforce.cocreate.exotel.com/sfdc/api/inbound/passthru?<AccountSid>&<AccountUid>&callState=missedCall

      E.g: https://api.exosalesforce.cocreate.exotel.com/sfdc/api/inbound/passthru?AccountSid=1234&AccountUid=1234&callState=missedCall

    3. Not Connected Passthru: In the section ‘If Not Connected..’, select 'Go To' and add a Passthru. Enter the pass-thru URL (change the CallState)
      URL: https://api.exosalesforce.cocreate.exotel.com/sfdc/api/inbound/passthru?<AccountSid>&<AccountUid>&callState=notConnected

      E.g: https://api.exosalesforce.cocreate.exotel.com/sfdc/api/inbound/passthru?AccountSid=1234&AccountUid=1234&callState=notConnected


  8. Save the flow and click on Close.

  • Note - Please make sure the agent popup Answered event is enabled for your account. If not please rise the one ticket to the hello team(hello@exotel.in). Our team will enable the Answered event for your account.

Step 2.1: Associate the call flow to the ExoPhones

  1. Go to the ExoPhones section 

  2. Click on the button ‘Assign ExoPhones to Flow’ and select the flow created in Step 2 with the ExoPhone and click on ‘Attach Flow’

  3. In the subsequent pop-up, click on OK and you can see the flow getting associated with ExoPhone.

Step 3: User Mapping

1.User Mapping can be done only after Exotel Configuration is done.Please do Exotel Configuration and then proceed to here

2.All the users added to call centre will be displayed here

3. Select a virtual number from your exotel account to associate with user.

4. Click on the chevron (dropdown) to Save/Refresh your agent number with the VN selected in your Exotel account.
5.Users mapped can recieve or make calls only after both Sync Status and Device Status are Success

6.If the Device Status is success.Verify Your Phone Number by giving missed call to +91-9513885656(SGP stamp)/02249360005(Mum stamp)  based on stamp where the Exotel account is present

7.Once the verification of the mobile number is done.Please click on dropdown to refresh Agent’s device status.If both Sync Status and Device Status are Success agent is ready to use Salesforce Connector to make and recieve calls.

SFDC Dialer App - UI screens

 Call Activity

After each call a task would be added for salesforce object associated with the call.

Call Details Screen

After call ends,an activity gets created with call details as follows



Outgoing Call Pop Up

Incoming Call Popup

  • an Whenever Incoming call is received and if there is only one matching object that record is opened 

  • If there is more than one matching object,following screen is displayed where an agent can select the object that he wants to associate with the call.

  • The object type to be associated with the call will be automatically selected  based on the priority list configured if agents does not associate object type within 10s

  • Object Type that needs to be associated with call can be changed during call also before the call ends

  •      After the selection pop up will look like below    


  • Object type can also be changed during the call by agent


Note- During an ongoing call,we advise the agent to use the Exotel CTI Connector in a single tab.

In case of any queries feel free to reach out to hello@exotel.in