Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

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

In this section

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:

    SectionFieldDescription

    Select Call Type

    The type of call that these parameters affect—select Inbound. This configuration relates to popping behavior in response to an incoming call.

    Softphone Layout

    Display these salesforce.com objects

    Contains the Salesforce objects that you want to search and, optionally, pop. Click Add / Remove Objects to expand the collapsed section to add and remove objects.

    Display these salesforce.com objects

    CTI 2.0 or Higher Settings—Screen Pop Settings

    No matching recordsDescribes the screen popping behavior if the caller's CLID matches no existing Salesforce records of the type or types you select in Display these salesforce.com objects. You can choose from three options:
    • Don't pop any screen. If you do not want ContactWorld to do anything if no matches are found, click Don't pop any screen. This option is enabled by default.
    • Pop to a new Salesforce object. If you want ContactWorld to open a new Salesforce object record for the agent to create containing details of the call, click Pop to a new and click the appropriate object type in the list.
    • Pop to Visualforce page. If you want to customize the screen that ContactWorld pops—for example, use different call related data to search for a match—click Pop to Visualforce page and search for and select the Visualforce page you create for this purpose. For information about creating a Visualforce page for this purpose, see How do I create a Visualforce page to pop?.

    Single-matching recordDescribes the screen popping behavior if the caller's CLID matches a single existing Salesforce record of the type or types you select in Display these salesforce.com objects. You can choose from three options:
    • Don't pop any screen. If you do not want ContactWorld to do anything if no matches are found, click Don't pop any screen.
    • Pop to detail page. If you want ContactWorld to pop the matching Salesforce record, click Pop to detail page and click the appropriate object type in the list. This option is enabled by default.
    • Pop to Visualforce page. If you want to customize the screen that ContactWorld pops, click Pop to Visualforce page and search for and select the Visualforce page you create for this purpose. For information about creating a Visualforce page for this purpose, see How do I create a Visualforce page to pop?.

    Multiple-matching records
    Describes the screen popping behavior if the caller's CLID matches multiple existing Salesforce records of the type or types you select in Display these salesforce.com objects. You can choose from three options:
    • Don't pop any screen. If you do not want ContactWorld to do anything if no matches are found, click Don't pop any screen.
    • Pop to search page. If you want ContactWorld to pop a Salesforce search page that displays all of the records that match the caller's CLID, click Pop to search page. This option is enabled by default.

      The standard Salesforce search results contain all object types in your organization, not just the objects you choose in the Display these salesforce.com objects field.
    • Pop to Visualforce page. If you want to customize the screen that ContactWorld pops—for example, a custom search page—click Pop to Visualforce page and search for and select the Visualforce page you create for this purpose. For information about creating a Visualforce page for this purpose, see How do I create a Visualforce page to pop?.

    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.
    New Visualforce page

  3. Type the following information:

    FieldDescriptionExample
    LabelA label that identifies the page in Setup tools.Alternative Pop Page For No Match
    NameThe unique name that identifies the page in the API. The name must contain only alphanumeric characters. For further restrictions on field contents, click Help for this Page.AltPopPageForNoMatch
    DescriptionAn optional description of the page.If no matching record is found, pop this alternative search page

    New Visualforce page

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

    To build complex popping logic, create an Apex controller for your Visualforce page. For information about creating Apex classes, see Salesforce help.

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

    ValueDescription
    ANIThe automatic number identification (ANI) is the caller's telephone number or CLID. The ANI is in national or international format depending on your account settings. If in international format, the ANI contains a leading plus sign (+), which is HTML-encoded; if in national format, the ANI contains just the local number. The ANI does not contain any brackets, dots or hyphens.
    DNISThe number that the caller dialed.
    callGUIDThe unique identifier for the call, in standard GUID format. This value is saved in a Salesforce task automatically created at the end of the call.
    timestampA string representing the time, in Unix format, that the call is delivered to the agent. Use http://www.epochconverter.com to translate the timestamp into a user-friendly format.

    Query String format

    Your query string would look like this: https://c.eu2.visual.force.com/apex/VisualForcePage?callGUID=01521a59-4a06-4739-85cd-13c91ff2f67c&DNIS=01888698080&ANI=%2B447123555456&timestamp=1452180247

  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.

 How to translate incoming CLIDs into international format

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 ContactWorld 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 How do I create a Visualforce page to pop?.

  • Configure the SoftPhone layout to pop to the newly created page. For information about configuring the SoftPhone layout, see How do I configure advanced popping features?.
 How to pop a new case and associate the case with a Salesforce contact

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 How do I create a Visualforce page to pop?.

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