Configuring advanced popping

Configuring advanced popping

If enabled for your account, you can configure advanced popping features using standard Salesforce point-and-click features SoftPhone layouts.

In this page

How do I configure advanced popping features?

To configure advanced popping features, perform the following steps:

  1. Go to SoftPhone Layouts within Setup in Salesforce.

  2. Locate the appropriate SoftPhone layout—you might only have one layout, or you might have several for different user profiles for example. To the left of the item, click Edit. SoftPhone Layout Edit appears.

  3. Provide the following information. Only the fields that affect screen popping are included in the following table. For more information on any of the sections or fields, see Salesforce help:

    Click Save. Your changes are saved. Note that it takes a few minutes (or sometimes just a browser refresh) for these settings to take effect.

How do I create a Visualforce page to pop?

If you want to customize the popped page, you must use a Visualforce page.

To create a Visualforce page for screen popping, perform the following steps:

  1. Go to Visualforce Pages within Setup in Salesforce.

  2. At the top of the list of Visualforce pages, click New.

    A new Visualforce Page appears.

  3. Type the following information:

  4. In the Visual Markup section, enter the code for the Visualforce page.

    When your page, or class, is called, the following arguments are sent in the query string:

  5. Click Save.

To use your new page when an inbound call arrives, select the Visualforce page in the relevant field in the appropriate SoftPhone layout.

Advanced popping examples

The following examples demonstrate how to use advanced popping features.

Problem:

Incoming calls' CLIDs appear in national format but all your existing Salesforce records contain telephone numbers in international format. As a result, standard searches for records related to the CLIDs will not return any records. For example, a search that uses a CLID of 01234 567890 will not return any records that contain +44 1234 567890, which is the same telephone number in international format.

Solution:

Modify the search so that the CLID is translated into international format before Vonage Contact Center uses it to search for Salesforce records. To do this, perform the following tasks:

  • Create a controller class that modifies the incoming number:

    public class CallingNumberTranslator { //Call this action from your VisualForce page public PageReference Search () { // Get the dialled number from the query string string SearchTerm = ApexPages.CurrentPage().getParameters().get ('ANI'); // Replace leading '0' by a '+44' (if applicable) if (SearchTerm.startsWith('0')) { SearchTerm = '+44' + SearchTerm.Substring (1); } // Redirect to Salesforce search page using the new search term return new PageReference ('/_ui/search/ui/UnifiedSearchResults?str='+SearchTerm); } }

    The class gets the ANI parameter—the ANI parameter contains the CLID—from the request, removes the leading zero, and prefixes the remaining number with '+44'. The class redirects the agent to the Salesforce search page using the internationalized number. 

  • Create a Visualforce page that makes a call to the controller class.

    <apex:page controller="CallingNumberTranslator" Action="{!Search}">

    </apex:page>

    For information about creating a Visualforce page, see the How do I create a Visualforce page to pop? section later in this page.

  • Configure the SoftPhone layout to pop to the newly created page. For information about configuring the SoftPhone layout, see the How do I configure advanced popping features? section later in this page.

You want to automatically create a new Salesforce case for each inbound call and pop it in edit mode. You also want to automatically associate the case with an existing Salesforce contact that has the caller's phone number, if one exists. To do this, perform the following tasks:

  • Create a controller class to create and pop the case:

    CaseCreatorController

    public class CaseCreatorController { public PageReference Search(){ // Get the caller's number String ani = ApexPages.CurrentPage().getParameters().get('ANI');   // Search for contacts with that phone number Contact[] contacts = [SELECT Id FROM Contact WHERE Phone = :ani];   // Create a Case and automatically populate some of the fields Case c = new Case(); c.Subject = 'Case created for inbound call from: ' + ani; c.Origin = 'Phone';   // If we have a single match create and link to Case. Then pop the Case in edit mode. if (contacts.Size() > 0) { c.ContactId = contacts[0].Id; } insert c; return new PageReference('/' + c.Id + '/e'); } }
  • Create a Visualforce page that calls the controller class:

    CaseCreator

    <apex:page controller="CaseCreatorController" action="{!Search}"></apex:page>

    For information about creating a Visualforce page, see the How do I create a Visualforce page to pop? section later in this page.

  • Configure the SoftPhone layout to pop to the newly created page. For information about configuring the SoftPhone layout, see the How do I configure advanced popping features? section later in this page.

Support and documentation feedback

For general assistance, please contact Customer Support.

For help using this documentation, please send an email to docs_feedback@vonage.com. We're happy to hear from you. Your contribution helps everyone at Vonage! Please include the name of the page in your email.