Introduction

Salesforce is a hosted CRM application used by Sales managers and representatives, Marketers and Customer service agents.
BroadWorks is a hosted PBX solution developed by BroadSoft providing telephony services and solutions on voice over ip, like call centers.

Sollogics – SalesForce BroadWorks Unified Connector is a solution developed by Sollogics Software Technologies, using the SalesForce CTI interface and BroadWorks XSI actions and events. The solution provided by Sollogics is so easy to use that if you have a SalesForce account and are a subscriber to BroadWorks voip services, you can get started in minutes.
The solution can be easily customized as per customer need. A working demo application is hosted at https://104.236.45.63:8443/BSWebConnector

To get started please follow the following instructions.

A)Setting up the BroadWorks web connector

    1. Go to the https://104.236.45.63:8443/BSWebConnector
    2. Register you self if not already registered. If already registered then skip step 3.
    3. After you register, you will receive an email with an OTP (one time password). Use this to confirm your email id
    4. Now login with your user id and password.
    5. Create a new company. See the screenshot below

Check the Use HTTPS if you want to use BroadWorks XSI over https.

  1. Once the company is created. You can view ad edit it by clicking the View Company page ahs shown below;

    1. Now create a new user/agent who will use the Salesforce Soft Phone Control.

You are done with setting up the connector. Now follow a few steps configure the salesforce.

B) Setting up the SalesForce for CTI

Create custom username and password fields

  1. Login as administrator in SalesForce.
  2. Create custom fields to hold BroadWorks user id and password
  3. Click on Settings
  4. Click on Customize on left navigation menu
  5. Expand Users and click on Fields
  6. Scroll down the page to locate the User Custom Fields section and click on new. See screenshot below:

You will need to create 2 custom fields

a) BWUserName of type Text

b) BWPassword of type Text (Encrypted)

  1. Here we show how to create BWPassword. Similarly you can create BWUserName
    Select Text (Excrypted) in Data Type list and click on Next
  2. Fill in the details as shown below in form and click next

    1. On the next place click Save to save all changes. The new password field is created.

Next step is to create an apex class

    1. Click on Develop and then click on Apex Classes

2. Click on new to create the “SolLogicUtility” Apex Class. You can copy the code given below:

global with sharing class SolLogicUtility{
// Default constructor uses the active user id
public SolLogicUtility() {
}

public string getBWCredentials(){
string sessionId = UserInfo.getSessionId();
string username = [select BWUserName__c from User where id = :UserInfo.getUserId()].BWUserName__c;
string password = [select BWPassword__c from User where id = :UserInfo.getUserId()].BWPassword__c;
string credentials = string.format(‘{0};;{1};;{2}’, new string[]{username, password, sessionId });
return credentials;
}

public boolean setBWCredentials(string userName,string pwd){
string sessionId = UserInfo.getSessionId();
User userObj = [Select BWUserName__c , BWPassword__c from User where id = :UserInfo.getUserId()];
userObj.BWUserName__c = userName;
userObj.BWPassword__c = pwd;
update userObj ;
return true;
}
}

If you already haven’t created your call center and users/agents then you are ready to create your users in salesforce.

Setting up the Call Center:

    1. Create the call center or click on Modify if you already have one

    1. Create the call center or click on Modify if you already have one

  1. In the CTI adapter url place the following URL
    https://104.236.45.63:8443/BSWebConnector/softfone/SolSoftPhone.html
  2. Save the call center
  3. Click on the users that will use the CTI interface and assign the Call center to them

The users/agents are now ready to login the salesforce and start using the Sollogics – Salesforce BroadWorks Unified Connector.