Tuesday, April 26, 2016

[Salesforce] The Sobject Crusade: AdditionalNumber

Back to the Sobject Crusade list.

Source: AdditionalNumber

This is an optional additional number for a call center, visible on the call center's phone directory: this is useful for numbers not releated to CRM objects (e.g. queues, conference rooms).

This seems boring, but continue reading to see some more action!

To create a new number, go to Setup > Customize > Call Center > Directory Numbers and click the New button:


The object can be optionally linked to a specific call center: if not set, this will be considered a global value (cross-call center valid).

Upon save you can query this object:

select Id, Name, Phone, Description, CallCenterId from AdditionalNumber


This is awesome, right?

Not at all!

Let's see how this is included in the overall Call Center configuration.

The Call Center configuration involves the configuration of a Computer Telephony Intgration, aka CTI.

As you can see in the picture above, CTI is an external service that communities with Salesforce: it is responsibile for handling phone (and other means, such as SMS or chat) communications and sending back to the CRM information about the call (e.g. calling number, duration of the call, origin, ...).


Here you can find the latest complete guide on CTI configuration.

Salesforce.com fortunately give developers a way to try this feature out without having to have access to real CTI hardware.

First download the CTI Demo Adapter from this link.

Once installed, you'll see the icon in the lower right corner of your desktop (sorry, MS Windows systems only); take the [installed dir]/DemoAdapter.xml file.

Now click on Setup > Customize > Call Center > Call Centers and click the Import button and import the previous XML file.


Click on Add user button to add new users (your current user at least).

Go to the Home page, you'll see a new component on the sidebar:


Wait till you see a new popup appearing (if it takes longer that a few seconds, click the button):


If you can't still see anything, it may be because of this kind of error while loading the CTI "localhost" service (see the CTI Adapter URL field on the Call Center setup page):


This happens because you are on an HTTPs site and trying to load an HTTP (less secure) content inside an iframe (don't worry it's not your fault!).

Click on the little shield on the addess bar (I'm using Chrome) and click on "Load Anyway" link on the popup that will appear (and reload the page).


Insert your Salesforce username/password to connect to the CTI:


Now the fake CTI adapter can trigger the following actions (right click on the adapter icon):


All this configuration to show where the AdditionalNumber object lays.

Click on the search button next to the textbox for dialing a number:


Select the number and watch it on the dial box:


Just for fun, let's take an Account and assign it the "4155551212" phone number:


This means that when the customer calls from this number, the CTI adapter will give Salesforce the calling phone number and redirects the user to the correct Account page. Let's click on the "Call From 415-555-1212" CTI Adapter action:


To watch Salesforce loading automagically the given Account page:


The sidebar shows additional infos for the Call Log, you can update as needed: this call will be saved in a Task object:


You can customize the Demo Adapter by changing the "demo_menu.xml" file (see more datails in the guide).