Upgrade Guide for Flex-Salesforce

Upgrading Click-to-Dial to Native Outbound

If you have been using our Flex-Salesforce Integration, you might remember deploying Functions to your Account. The Functions-based click-to-dial implementation can now be moved to a Native Outbound Dialing implementation. This provides the following benefits:

  • Take advantage of the increased stability and scale of the Flex platform
  • Gain access to additional features as they are rolled out for Outbound Dialing

Note: If you are configuring the SFDC plugin for the first time, then you will get the native implementation by default. You will not see the option to perform a migration, and you just need to ensure that the following prerequisites are satisfied.


Upgrade Steps

1) Enable Native Outbound Dialing on your account

Enable and configure the Flex Dialpad via the Twilio console.

Configure the Flex Dialpad

2) Flex Admin setup

Navigate to the Salesforce Integration in the Flex Admin:

  • A 'Migrate' button will be visible within the Salesforce configuration page.
  • Click 'Migrate'. This will update the integration to rely on the Flex Dialpad.
  • After completing the migration, you will be unable to revert to the Functions-based approach.


3) Optional Steps

After completing the migration, we recommend taking the following steps to clean up your environment:

  • The Twilio Functions related to the Salesforce integration are no longer needed and can be removed
  • The TaskRouter Workflow filter for function-based click-to-dial is no longer needed. We recommend removing that filter.
  • The outbound caller ID and voice recording option will no longer be configured within Flex Admin. You'll use the Twilio Console instead.

Upgrade to Generally Available version

Note: You are using the beta integration if you downloaded and deployed plugin-flex-salesforce-integration to your Flex Application yourself.

Upgrading from the beta release requires the following steps:

  1. Make a note of entries in your sfdcConfig.js file – you will need these values when configuring the GA version of your Flex-Salesforce Integration
  2. Navigate to Runtime>Assets in your Twilio Console to delete the plugin (i.e. Beta version).
  3. Delete the Functions created in the above steps by navigating to Runtime>Functions.
  4. Follow the steps described in the Setup.

[Deprecated] Setting up Click-to-Dial using Functions

Create Twilio Functions for Outbound Calling

Navigate to the Flex-Salesforce integration template in the Twilio console and click Create.

Close the window once the functions are created and visible in Runtime>Functions.

Set up TaskRouter for Outbound Calling

To ensure that we only route calls to workers that click on phone numbers in Click-to-Dial scenarios, we need to create a routing rule.

Navigate to your TaskRouter Workspace and select the Workflow you will use for outbound calls. Then, add a filter as shown in the following screenshot:

TR Workflow Filter for Outbound Calls

[Deprecated] Setup for the Beta Salesforce integration

If you deployed an older version of the Flex-Salesforce integration, you will need the following assets to repeat the setup process:

Asset Type Asset Source(s)
Flex-Salesforce Integration


Call Center Definition File (Twilio-Hosted Flex) callCentreDefinition_HostedFlex.xml
Call Center Definition File (Self-Hosted Flex) callCentreDefinition_selfHost.xml
Outbound Caller ID Phone Number
Flex-Salesforce Integration Configuration sfdcConfig.js

Please note that instead of downloading the above assets, you can also directly point your implementation to the Asset Source paths mentioned.

By default, pointing your implementation to the source paths will sign you up for automatic updates – if you do not wish to subscribe to automatic updates, it's best to download the assets instead.

Enable integrations with your Flex project

If any of the following applies to you, you will need to modify the Flex-Salesforce Integration Configuration file (sfdcConfig.js):

  • You want to set up outbound dialing
  • You want to use a global caller ID for agents who do not have a specified caller ID
  • You have your own custom workflow that you'd like to use
  • You have an existing customer channel that handles outbound voice calls

Your sfdcConfig.js file should look something like this:

/*in Beta/GA, this will move to CRM configuration screens */
var sfdcConfig = {};

sfdcConfig.globalParams = {
 outboundWorkflowSid: "", //leave it empty,if using default Workflow
 outboundTaskChannel: "", //leave it empty,if using default Voice Channel
 SFDCBaseUrl: "" // Your SFDC Org

sfdcConfig.agentParams = [];

// default Global Caller Id for outbound calls, when not specific caller Id has been
//defined for an agent in the worker attribute viz. callerId or below agentParams
window.sfdcConfig.defaultAgentParam = {
 outboundCallerId: "+447777777777"

// these are caller ids for various agents
//- you can use this setting here if not defining in worker attribute 
sfdcConfig.agentParams["user1"] = {
 outboundCallerId: "+44777777777"

sfdcConfig.agentParams["user2"] = {
 outboundCallerId: "+44777777771"

Populate the relevant information in this file depending on your needs.

Rate this page:

Need some help?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Stack Overflow Collective or browsing the Twilio tag on Stack Overflow.

Thank you for your feedback!

Please select the reason(s) for your feedback. The additional information you provide helps us improve our documentation:

Sending your feedback...
🎉 Thank you for your feedback!
Something went wrong. Please try again.

Thanks for your feedback!