Customer Support Services For US Based E-Commerce Firm Are Rejuvenated After Salesforce CTI Integration

Algoworks provided Salesforce and Computer Telephony Integration (CTI) Services for an E-Commerce Firm Headquartered in Washington DC. It helped them reform their customer support services thereby powering them to better connect with their 70 million strong customer base.

About Client

The client has a global e-commerce website that allows its customers to buy unique deals on best things to do in a specific city. In a bid to expand their business, capitalize their huge global consumer base, and improve their relationship with existing merchant customers, the website decided to launch advertising services targeted at merchants and business owners. The unique selling point of these services was its 24x7 customer support and a dedicated relationship manager based communication. The client was using Salesforce for tracking their customer leads and was using a separate computer telephony system to call their customers. The client now wanted an integrated solution for keeping the progress of their leads and for receiving and sending calls to these leads. Taking into consideration the fact that client’s sales agents were well versed in Salesforce, we proposed to integrate CTI (Computer telephony integration) system with their Salesforce implementation itself.

How We Did It

Salesforce CTI Integration

Challenge: How to integrate the Salesforce with CTI system

The current business process for agents of the clients involved majorly three processes. First, retrieving customer information from Salesforce, second, calling the customer from a separate computer telephony program, and finally manually adding call details on to the Salesforce database. The client now wanted an integrated CRM and telephony solution. Since the agents of the client were using Salesforce for their Lead Tracking and were accustomed to its features, it was more convenient to integrate CTI system with Salesforce. However the client was using old systems therefore WebRTC was not enabled on their systems. And this was why the client wanted a solution that takes into account a system installed softphone.

Solution: Integrating Salesforce and CTI using OpenCTI tools

The client was using Fonality - an Asterisk based computer telephony service. In order to integrate Salesforce with the Fonality telephony service, we customized the client’s Salesforce implementation to include custom APEX classes. These classes along with OpenCTI tool’s classes will send web based callouts to the Fonality Server which will in turn send call tokens to the softphone. Initial trials resulted in errors because all of the information was going into the header of the Salesforce webpages whereas we needed the information in the body section. However after some trial and errors we were able to solve this problem by tweaking our APEX classes and we got a seamless and secure web service based CTI integration. Though we were able to get real-time outbound call integration through this method, we found out that the process of authentication of soft phone's call tokens by Salesforce during inbound calls were generating a delay of 2 to 3 seconds in services.

Feature Image
Feature Image

Improving Performance Using Java

Challenge: How to resolve the inbound call delay

The process of receiving inbound calls via Salesforce and a softphone was generating a 2-3 second delay. While investigating this we found that the security of Salesforce was the main issue. Whenever an external softphone receives a call it generates a cookie which was in turn needed to be consumed by Salesforce for authentication. If the softphone was web based and Salesforce was to receive callouts directly via established web services the process would be in real-time, but the process of authenticating an inbound call by consuming a system generated cookie was creating a noticeable delay of 2-3 seconds. This delay was hampering the customer service response times. The client needed a faster solution.

Solution: A custom Java CTI adapter to reduce delay and record call data

Since it was not advisable to reduce the security level of Salesforce, we decided to drop the integration-via-web-service approach and instead used a custom Java adapter to integrate the CTI and Salesforce. The Java adapter was integrated with Salesforce using API and with Fonality’s Asterisk based server via Asynchronous JavaScript Asterisk Manager (AJAM) connector. Whenever a call in Salesforce was initiated the AJAM connector directs it to Fonality's Asterisk component which in turn connects with the softphone and the caller. Similarly every inbound call was directed to the Java connector from Asterisk component which in turn directs it to Salesforce. This process was real time in both inbound and outbound call process. Our custom Java program provided added benefit of allowing Salesforce implementation to directly record call data like call duration, client ID, agent ID, etc. In addition our Salesforce softphone had a feature that allowed the agent to type notes during the progress of the call which were also stored as call details in the Salesforce.

Feature Image

Integrating a Softphone

Challenge: To send and receive calls in a non-WebRTC supported system

When Salesforce released its OpenCTI system, it was taking into account that WebRTC would be enabled in browsers in no time. But in reality that was not the case. Old browsers didn’t support WebRTC and even latest editions of Internet Explorer had no support for WebRTC communication. Our client was using old systems and its agents were using Internet Explorer as primary browsers. Therefore it was not possible to implement a WebRTC based telephony system. They needed a custom computer softphone in Salesforce as well as their computer system to facilitate calling.

Solution: Integrating Zoiper Softphone with Asterisk server + new softphone dialer in SFDC

Since the client’s systems didn't have WebRTC support, we had to customize our Salesforce CTI solution to include a system based softphone dialer to facilitate communication. We integrated Zoiper Softphone dialer with our Salesforce and Asterisk server. Every call received or dialed was routed via Zoiper. In addition we created a custom dialer in Salesforce using Java servlet pages. Though the agents can call any customer by just clicking on the contact number in Salesforce, they can also call any ad hoc number using the Salesforce dialer. The Salesforce softphone displayed call duration, customer details, and other necessary information, and had a feature that allowed agents to record notes during in-progress calls! The softphone also had features to transfer the call or connect the call in conference.

Feature Image
Feature Image

Conference and Call transfer

Challenge: To implement Call transfer and Conference Call features

No computer telephony system was complete if it didn’t have features to allow transfer of call or connecting other agents to the same call. The client wanted their integrated CTI solution to have call transfer and Call conferencing capabilities.

Solution: Custom call conferencing capabilities using Asterisk bridges.

Creating call transferring features in Salesforce was relatively easy. The process involved initiating a new call to the required agent and then transferring the call when it was connected. However creating a conference call was a different issue. The process involved creating a bridge between Salesforce and Asterisk Server. The agents can use the Salesforce dialer itself to connect different agents to the conference call or all together transfer the call to another agent. One more advantage of the Java adapter came into play here. Our Java adapter was smart enough to check whether the other agent is free or not. If the agent to whom the call is to be transferred or to be connected to a conference is busy on another call, the Salesforce will be able to prompt the other user is busy.

Feature Image


All Call Details Now In Record

Every call that an agent made is now recorded and logged allowing managers to better analyze their agent's performance.

Agents Now Save 2 Hour Daily

The agents can now directly call from Salesforce itself allowing them to save valuable time.

Customer Satisfaction Rate Increased By 15%

The customer satisfaction surveys now praise the company for better response times and improved follow ups.

Customer Base Increased To 70 million Customers

Better customer support services allowed the client to increase their customer base from 50 million to 70 million.


Related Projects

Checkout these related project to know about our company, our work, and our expertise.

Post Image

Salesforce NetSuite Integration For Fund Raising Firm

An American Mega Corporation approached us with a requirement to speed up their lead gathering [...]

Read More
Post Image

SharePoint & Office365 Integration with Salesforce for Telecom Giant

For a firm famous for its workflow management and business communication services, we created a[...]

Read More
Post Image

AWOM- Algoworks Opportunity Manager Application

A custom native Salesforce App published on AppExchange for easier, faster and smarter manageme[...]

Read More

Contact Us

Are you facing similar problem in your project or if you want a custom solution fitting your needs, dont hesitate to contact us for a free consult and quote. Get our expert advice before moving forward.

We promise we will not bug you.

Looking for Jobs? Connect with us here.