Integrating Your CRM into Twilio Flex

November 28, 2018
Written by

XihG_07eROBdbCSfnhXerX0JVN7ylFij3hLM-l0hB5ly_HumIHqLzBhWSZv8niO5wZxWUoIxfqJx6jUBLdwtHGFA-qnISUwsvUJ9R_llbbtcKpXQXMkaDbXKUh2REJBBBY3dmyRQ
  • Integrate any CRM, whether on-prem, cloud-based, or custom-built, with Twilio Flex.
  • Embed your CRM into the Flex agent desktop, or embed the agent desktop into your CRM.
  • Out-of-the-box Salesforce integration is now generally available.
  • Learn how to configure Salesforce integration with Twilio Flex.
  • Need assistance with your CRM integration? Twilio partners can help.

In working with our customers to modernize their contact centers, one of the recurring challenges we’ve seen these businesses face is how to address the siloed systems that keep their communication channels, agent interfaces, and customer records separate. These separate systems are not only costly to support, but add complexity to contact center operations, and ultimately prevent businesses from delivering frictionless customer experiences.

In order to efficiently and effectively communicate with customers, it’s critical that your CRM is tightly integrated with your contact center. In fact, this is one of the common requests we hear from customers when they migrate their contact center to Twilio Flex.

That’s why we’ve built Twilio Flex to integrate with any CRM system, whether it’s on-premise, cloud-based, or custom-built. Get started with Flex now.

CRM Integration in Action

At SIGNAL recently, Anthony Uliano, CTO of AMC Technology, a Twilio partner and CRM integration expert, as well as Grace Miller, VP of Product and Chris Jenkins, VP of Systems Development at Scorpion, a digital marketing agency, joined me to share how Twilio Flex can integrate with CRMs in these different scenarios:

  • Natively supported CRM like Salesforce
  • Non-natively supported CRM
  • Custom-built CRM 

Watch the video to see this in action.

The Flex Integration Framework

Twilio Flex is a contact center application platform that is programmable at every layer.

Flex exposes events and allows you to attach Actions to Events happening at various conversation touchpoints across all the channels. Using the programmable UI and the Actions Framework, you can:

  • Embed Flex within your CRM, or embed your CRM within Flex.
  • Listen to events in Flex (e.g., Task Created, Agent Reserved, Task Ended, etc.) triggered during a customer conversation and perform actions (e.g., screen pop the customer profile) in the CRM UI by calling relevant CRM functions/APIs.
  • Listen to events in the CRM, if available (e.g., a new lead added into a campaign) and perform actions in Flex (e.g., create an outbound voice task and push it to a campaign queue). 

Integration with a Natively-Supported CRM

From our conversations with customers, Salesforce emerged as one of the most in-demand CRM integrations for Twilio Flex. This is why we’ve built out-of-the-box integrations with Salesforce (with more options coming soon), available to you now. Learn how to configure Salesforce integration with Twilio Flex.

Flex and Salesforce Integration

When you open Flex, the Salesforce integration is provided as a plugin that you simply drag and drop. On the Salesforce side, the integration is as easy as importing a file that gives Salesforce the settings to use for your Flex contact center. You also need to add the users who have permission to use Flex within Salesforce.

Once the integration is complete, when a new customer makes contact (on any channel) in Flex, Salesforce will prompt the agent to create a new customer record for that customer. And when a known customer makes contact, their Salesforce record pops up. Meanwhile, the Flex integration logs all activity related to that customer within Salesforce. For outbound calls, you can click on records and place calls within Salesforce using click-to-dial.  

An important thing to note with any integration is that you also have access to the supervisor and team view within the CRM itself.

Integration with a Non-Natively Supported CRM

What about CRMs that Twilio Flex does not natively integrate with today? More options will be available soon, either natively, through our partner network, or both, as we are working on a joint roadmap to enable integrations with the most widely used CRMs.

In the meantime, you can create integrations for these as well. Here’s how:

Build your own Integration  

Twilio Flex makes it easy to build your own CRM integration through the Flex Plugin Framework. Any CRM that has an API/SDK interface is compatible to integrate with Flex. Get started by creating a plugin and tapping into the Action Framework by listening to all relevant events during various touchpoints in a task’s lifecycle and triggering actions for your CRM.

Here’s a skeleton plugin framework to demonstrate how to do this:

init(flex, manager) {
   //BEGIN
   this.pluginName = "Flex myAmazingCRM Integration v.0.1.0";
   // get all relevant data from manager. ex.
   const serviceBaseUrl = manager.store.getState().flex.config.serviceBaseUrl;

   if (window.self !== window.top ) // i.e. Flex in an iFrame
   {
  
       // do your stuff here

       //first hide CRM container since Flex is in iFrame
       flex.AgentDesktopView.defaultProps.showPanel2 = false;  
      
       //tap into Action Framework  and call your CRM's relevant functions - see below for example.

   }
   else
   {
     // do your stuff here ;


       //tap into Action Framework
       //Ex  - After task acceptance, use the task attributes to perform a search and pop up relevant screen
       flex.Actions.addListener('afterAcceptTask', (payload, abortFunction) => {
           helpers.setInitParams(manager);
           console.log('Task Attributes===>', payload.task.attributes);

           //example of constructing searchParams
           var searchParam = payload.task.attributes.searchString;
           if (searchParam.trim() === "") {
             // search by originiator . For outbound you should use payload.task.attributes.to
             searchParam = payload.task.attributes.name;
           }

           //now call the relevant function for you CRM to search and then screenPop
           _myCRM_searchAndScreenPop(searchParam);

           //create a log of this interaction
           _myCRM_LogActivity(payload.task.attributes);

         });     


       //Ex2  - When Agents move between tasks , change CRM Screens.
       flex.Actions.addListener('afterSelectTask', (payload, abortFunction) => {

           // construct searchParams similar to above
           // call the relevant function for you CRM to search and then screenPop
           _myCRM_searchAndScreenPop(searchParam);

           //create a log of this interaction
           _myCRM_LogActivity(payload.task.attributes);           

         });            


         //Ex 3 - Log Activity after Agent completes the task. 
         flex.Actions.addListener("afterCompleteTask",(payload, abortFunction) => {
            //create a log of this interaction
            _myCRM_LogActivity(payload.task.attributes);
           }
         );         
   }

   //END
 }

Work with a Twilio CRM Integration Partner

If you need help building your CRM integration, you can work with any of the partners in our growing partner ecosystem. Our partners can help you build your custom integration with the following systems today, with more coming soon:

  • Salesforce
  • ServiceNow
  • Microsoft Dynamics
  • Zoho
  • SAP C4C
  • Oracle Service Cloud

Ready to get started with a partner? Tell us about your project.

Integration with a Custom-Built CRM

Have a custom CRM system? You can integrate this with Twilio Flex as well. Businesses like Scorpion, a digital marketing company with a broad client base, have embedded their homegrown CRM within Twilio Flex to streamline their operations and reduce average handle time. Scorpion uses their custom system to handle incoming digital leads on behalf of hundreds of different businesses, each with unique sets of intakes and workflows. Time to first response is critical for their contact center.

Because of the extreme flexibility that Twilio Flex offers, Scorpion was able to create a custom intake and client-specific knowledge base by deploying Flex on Amazon CloudFront. Flex enabled Scorpion to abstract away a portion of the old applications they were maintaining in their contact center—such as TaskRouter and separate Twilio Voice and Chat clients—simplifying repetitive tasks for their agents.

 

Learn More: CRM Integration Webinar Series

Want to learn more about how to integrate with a specific CRM? Join us for a series of webinars that will teach you how to integrate Twilio Flex with systems including Salesforce, ServiceNow, Microsoft Dynamics, and more.

Sign up now for the first webinar in the series:

So Long, Silos: How to Integrate Any CRM with Your Contact Center for Seamless Customer Engagement

December 18 @ 10 AM PT | 1 PM ET

In this first webinar, we’ll cover:

  • All of the CRM integration options available with Twilio Flex
  • An architectural overview of each option
  • How the Twilio Flex plugin framework works
  • Best practices for integrating your CRM with your contact center
  • How to get started on your own or with a Twilio partner

We can’t wait to see what you create with Twilio Flex!

Ready to explore Twilio Flex? Get started or request a demo.