Discover how you can get APIs and microservices to work at true enterprise scale.

There are two aspects of converting a potential prospect. One is to keep an appropriate track of the leads with proper analysis and the second is the traditional yet most imperative way of talking with the lead over phone. It has been realized over the time that no matter what strategy you use, one-on-one telephonic conversation ultimately cracks the deal for you.

Salesforce has become the undisputed king of the CRM world. It has set a bar for lead tracking and analysis from a small to multi-billionaire companies. So what other bonus can it offer you when you can make calls and track leads from the same system? This idea has been catching fire since its inception. The two possible ways to accomplish it: Integration using open CTI tools. Integration using telephony service provider APIs.

Process 1: Integration using open CTI tools

Open CTI or Salesforce CRM Call Center is a tool which is developed by Salesforce.com. This tool enables you to integrate third-party CTI systems. The unique part of the system is that you do not have to download CTI specific apps and get deprived of the cloud structure, open CTI is browser-based thus giving the developers full leverage to use the cloud architecture. To adopt this process we need a basic familiarity with JavaScript, HTML and CSS, Visualforce APIs, CTI adapters and Salesforce CRM Call Center. One component used during this process is Salesforce.com Open CTI API. Another is the Asynchronous JavaScript Asterisk Manager (AJAM) connector that has been custom built and deployed on the server. The final component is Custom Salesforce Softphone.

Whenever a call is initiated through Salesforce, the AJAM connector that is present dials to the Asterisk component of the CTI service provider. The Asterisk component of the CTI service provider, in turn, links up a call to the end user and then instructs AJAM to establish an official call and perform additional tasks like recording, transferring, monitoring and a lot more. The AJAM connector also helps in fetching the Caller IDs and related data. The process is then mapped on to multiple servers and callers for both inbound and outbound tracking and calling.

Process 2: Integration using Telephony service provider API

When Salesforce was still in the development phase, pushing notifications to the browser caused time lags and adding call center details increased lags to significant 10s of seconds. Because of such technological limitations, earlier desktop base telephony systems that were used were connected with the agent’s computer making it a CTI-to-desktop model instead of a CTI-to-Salesforce -to- Browser-Model thereby minimizing the time lag. But with this rapid advancement of technology especially in internet and browser based communication, CTI to Desktop model has now ceased to exist. Integration using the Telephony Service Provider API uses the following components to establish calls - custom Apex classes, the telephony service provider’s integration adapters, Salesforce.com CTI adapters and Visualforce classes.

Whenever a call is setup from the softphone of the Salesforce console using the telephone service provider’s adapter, the call will hit the telephone provide server. Then the control of the call is transferred to AGI adapter (Asterisk Gateway Interface) which is the JAVA gateway Interface adapter mostly built using Asterisk technology. This adapter in-turn calls Salesforce.com’s CTI adapter and ensures that a call has been established. Then the other details such as call duration, number, etc are displayed by Salesforce. It can also start other functions like call recording, etc.

However, throughout this entire process data goes to Salesforce via the telephone service provider’s adapter, which is desktop based. And another vital problem being whenever there is a new upgrade of Salesforce the adapter becomes incompatible. Because of these problems, this method has now become obsolete these days.

On an ending note… a whichever process you opt for there is coding need for every step. So it's best to keep experienced people and the Salesforce experts in the loop whenever you go for such integrations.