Configuring Integration Between Multichannel and Salesforce.com
Copyright 2013-2014 LiveOps Inc. All rights reserved. LiveOps, LiveOps Applications, LiveOps Authoring, LiveOps Insight, LiveOps Social and LiveOps Voice are either registered trademarks or trademarks of LiveOps, Inc. All other names may be trademarks of their respective owners.
3 Contents Configuring Integration with Salesforce.com... 4 Configuring Salesforce.com to Interact with Engage... 4 Installing the Engage Application... 4 Configuring the Engage Application... 5 Installing the Mass Update and Edit Application... 6 Configuring Remote Site Settings... 7 Creating an Additional API User... 8 Enabling Agents to View All Contacts and Leads in Salesforce.com... 8 Configuring CRM Integration Settings in Multichannel... 11 Settings Tab... 11 Contact Config Tab... 12 Lead Config Tab... 12 Interaction Config Tab... 13 Sync Tab... 14 Configuring Mappings... 14 Fields Available for Mapping... 15 Customer... 15 ContactType... 16 GenericCustomerData... 17 Mapping Customer Records to Contacts or Leads... 17 Example 1: Mapping a Salesforce.com Field with No Equivalent in Engage... 18 Example 2: Mapping Corresponding Fields... 18
4 Configuring Integration with Salesforce.com You can configure Engage and Salesforce.com to exchange customer records and interactions. This enables agents to keep better track of interactions and to keep the data in Salesforce.com and Engage consistent. Configuring Salesforce.com to Interact with Engage Configuring Salesforce.com to interact with Engage involves: Installing and configuring the Engage application Installing the Mass Update and Edit application Configuring remote site settings Create an additional API user Installing the Engage Application The Engage application is a Salesforce.com package that handles the interactions between Engage and Salesforce.com. To install the Engage application: 1. Log into Salesforce.com using an administrator account. 2. Copy and paste the following link into your web browser: https://login.salesforce.com/packaging/installpackage.apexp?p0=04t90000000uyed The Package Installation Details page displays. 3. On the Package Installation Details page, click Continue. 4. On the Approve Package API Access page, click Next. 5. On the Choose Security Level page, select the Grant access to admins only option and then click Next. 6. Click Install. Once the application is installed, you can add it to the tab bar at the top of the Salesforce.com window for quick access. To do that: 1. Click the All Tabs button ( ). 2. In the All Tabs window, click the Customize My Tabs button. 3. In the list of available tabs, click LiveOps Engage and then click the Add button.
5 4. Click Save. The LiveOps Engage tab is added to the tab bar. Configuring the Engage Application Next, apply the Engage application settings that allow Salesforce.com and Engage to communicate, as well as control how Salesforce.com emails error notifications. To configure the Engage application: 1. Click Engage on the tab bar. 2. Configure the following options: Option API URL Username Password Log Level Enable Contact/Lead Synchronization Failed record resend interval API Users Description The URL to the Engage API. The name of the user who can access the Engage Contact service API. This can be, for example, a Engage administrator. The password for the user who can access the Engage Contact service API. This can be, for example, a Engage administrator. The amount of detail that you want Salesforce.com to include in log files. Select either Normal (minimal amount of information) or Debug (detailed information). Enables automatic synchronization of contact and lead information with Engage. If this option is not selected, you must manually trigger the synchronization of data in Multichannel. See the section Sync Tab for more information. The number of minutes (between 1 and 60) between attempts to send data to Engage after a synchronization failure. The Salesforce.com users who can access the Engage Contact service API. Click Add Users, select the one or more Salesforce.com users from the list that displays, and then click Add.
6 3. Click the Email Notification tab and configure the following settings to specify when, how often, and to whom failure notification messages will be sent: Setting Notify user on Description Select one or both of the following options to specify the type of failure that triggers an email notification: Synchronization failure Send a notification when synchronization of records between Salesforce.com and Engage has failed. API call failure Send a notification when the scheduled task for synchronizing records has failed. Frequency of notification email Select one of the following options to specify how often a notification email is sent when failures occur: Every time a failure occurs. Every hour, if a failure occurred. Once a day, if a failure occurred. Email list to send the notification Enter the email address to which notifications will be sent and then click Add. You can add multiple email addresses. However, you can only add one address at a time. 4. Click Save. Installing the Mass Update and Edit Application The Mass Update and Edit application is a Salesforce.com component that enables Engage to synchronize batches of new and updated records with Salesforce.com. To install the Mass Update and Edit application: 1. Log into Salesforce.com using an administrator account. 2. Copy and paste the following link into a web browser window: https://login.salesforce.com/packaging/installpackage.apexp?p0=04t80000000cifdaae 3. On the Package Installation Details page, click Continue. 4. On the Approve Package API Access page, ensure that all options are selected and then click Next. 5. On the Choose security level page, ensure that the Grant access to admins only option is selected and then click Next. 6. Click Install.
7 Once the application is installed, you can add the Mass Edit and Mass Update buttons to the page layouts for contacts and leads. The buttons appear when an agent or administrator views all contacts or all open leads in Salesforce.com. To add the Mass Edit and Mass Update buttons to the layouts for contacts and leads: 1. In Salesforce.com, click Setup. 2. In the sidebar, select Customize > Contacts > Search Layouts under Build. 3. On the Contact Search Layouts page, click Edit beside Contact List view. 4. Select Mass Edit and Mass Update from the Available Buttons list and then click the Add button. 5. Click Save. 6. Repeat steps 1 to 5 for leads. Configuring Remote Site Settings You must register your instance of Multichannel with Salesforce.com to ensure that calls to the Engage API from Salesforce.com do not fail. Do this by adding your instance of Multichannel to Saleforce.com s remote site settings. To configure remote site settings: 1. In Salesforce.com, click Setup. 2. In the sidebar, select Security Controls > Remote Site Settings under Administer. 3. On the All Remote Sites page, click New Remote Site. 4. Do the following: In the Remote Site Name field, enter a descriptive name for your Engage instance for example, Engage Live. In the Remote Site URL field, enter the full URL to your instance of Engage for example, https://{instance name}.liveops.com (where {instance name} is the name of your instance of Engage). 5. Ensure that the Active option is selected and then click Save.
8 Creating an Additional API User When Engage synchronizes data with Salesforce.com, Salesforce.com updates its records and then performs another synchronization back to Engage. Setting up an additional API user prevents Salesforce.com from triggering a second synchronization. To create an additional API user: 1. In Salesforce.com, click Setup. 2. In the sidebar, select Manage Users > Users under Administer. 3. On the All Users page, click the New User button. 4. The following are the fields that are required when creating a new user: Field Last Name Alias Email Nickname Role User License Profile Description The last name of the user. A short name, of up to eight characters, that identifies the user on Salesforce.com reports and list pages. An email address for the user. The email address becomes the user name in Engage. Enter a name that will be displayed to users of online communities. This can be the same as the name that you entered in the Alias field. Select any option from the list. Select Salesforce from the list. Select System Administrator from the list. 5. Click Save. 6. On the tab bar, click Engage. 7. Click Add Users. 8. In the list that displays, select the API user that you added in step 4 and then click Add. 9. Click Save. Next, add the new API user to the CRM Integration settings in Multichannel. For more information, see the section Settings Tab. Enabling Agents to View All Contacts and Leads in Salesforce.com Agents, who do not have administrator rights, might not be able to view all Contacts and Leads in Salesforce.com. If they can view Contacts and Leads, the agents may not be able to view the Engage Interactions list (which contains details of all calls and messages) on a Contact s or Lead s profile page. To enable agents to view all Contacts and Leads, as well as the Engage Interactions list, you must to set up a new user profile in Salesforce.com and then apply that profile to all agents.
9 Note: The procedure in this section must be carried out using the Salesforce.com administrator account. To enable agents to view all contacts and leads in Salesforce.com: 1. Log into Salesforce.com using an administrator account. 2. Click Setup. 3. In the sidebar, click Customize > User Interface under Build. The User Interface page displays. 4. On the User Interface page, select the Enable Enhanced Profile User Interface option under Setup and then click Save. 5. In the sidebar, click Manage Users > Profiles under Administer. The Profiles page displays. 6. On the Profiles page, click Clone beside Standard User. The Clone Profile page displays. 7. On the Clone Profile page, enter a name for the new user profile for example, Standard User in the Profile Name field and then click Save. A page containing information about the new profile displays. 8. Click Object Settings under the Apps grouping and then do the following: To enable agents to view all Contacts: o Click Contacts and then click Edit. o Under Object Permissions, click View All. o Click Save.
10 To enable agents to view all Leads: o Click Leads and then click Edit. o Under Object Permissions, click View All. o Click Save. To enable agents to view the Engage Interactions tab: o Click Engage Interactions and then click Edit. o Under Object Permissions, click Read and View All. o Click Save. 9. In the sidebar, click Manage Users > Users. 10. Click the Edit link beside the name of an agent who does not have administrator privileges in Salesforce.com. The User Edit window displays. 11. Do the following: Select Salesforce from the User Licence list. Select the name of the profile that you created in step 7 for example, LiveOps Standard User from the Profile list. 12. Click Save. 13. Repeat steps 10 to 12 for each agent to whom you want give permissions to view Contacts and Leads. To test the change, log in as an agent and then click Contacts on the tab bar. Select All Contacts from the View list and then click Go. A list of all of the contacts available to an administrator displays.
11 Configuring CRM Integration Settings in Multichannel Using the CRM Integration Settings screen in Multichannel, you can configure Engage to interact with Salesforce.com. In addition to configuring the settings that connect Engage to Salesforce.com, this screen also enables you to map fields in Salesforce.com to fields in Engage. Mappings are essential because Engage and Salesforce.com store the same data in different ways. Mappings ensure that: Data is inserted into the correct fields for each application when it is synchronized. The data in both systems is consistent. For more information, see Configuring Mappings below. There are five tabs on the CRM Integration screen that are used to configure the interactions between Multichannel and Salesforce.com: Settings Tab Contact Config Tab Lead Config Tab Interaction Config Tab Sync Tab Note: You must enable CRM integration in Multichannel before continuing. Settings Tab Configure the settings that enable Engage to exchange data with Salesforce.com on this tab. Setting Username Password Description The email address of the Salesforce.com API user that was created in the section Creating an Additional API User. The password of the Salesforce.com API user that was created in the section Creating an Additional API User.
12 Setting Description Security Token The security token that was generated by Salesforce.com. The security token is a key that you add to the end of your Salesforce.com password, which allows you to log into Salesforce.com from an untrusted network. For more information about security tokens, refer to the Salesforce.com online help. SOAP API Login URL The URL for the server that your organization uses to login into Salesforce.com for example, https://login.salesforce.com/services/soap/u/27.0. Contact your Salesforce.com administrator to obtain the URL. Async API URL The URL used to asynchronously add, update, or delete large numbers of records for example, https://{instancename}.salesforce.com/services/async/27.0. Contact your Salesforce.com administrator to obtain the URL. Sync- out messages Test Connection Select this option to automatically push information about customer interactions in Engage to Salesforce.com activity records. Click this button to check whether or not Engage can communicate with Salesforce.com. If the configuration is correct, the message Connection is successfully established displays. If an error message displays, check the settings on this tab and in Salesforce.com, and then try again. Contact Config Tab The Contact Config tab enables you to create, edit, and view mappings between Engage customer records and Salesforce.com contacts. The mappings link fields in Engage customer records to their equivalents in Salesforce.com. For more information about creating mappings between Engage customer records and Salesforce.com contacts, see Configuring Mappings below. Lead Config Tab The Lead Config tab enables you to create, edit, and view mappings between Engage customer records and Salesforce.com leads. Leads are prospective customers who have expressed an interest in a company s products or services.
13 Engage does not an equivalent to leads. The mappings on this tab link fields in Engage customer records to fields for Salesforce.com leads. In Engage, the Record Type buttons in the Customer Panel indicate the type of customer (either Contact or Lead), as shown below: In Salesforce.com, the lead s information appears on the Leads tab. Note: If your organization does not use leads in its business, you do not need to add new mappings or change the existing ones. The lead mappings will be ignored whenever data is synchronized. For more information about creating mappings between Engage customer records and Salesforce.com leads, see Configuring Mappings below. Interaction Config Tab The Interaction Config tab displays the default field mappings between Engage and Salesforce.com. You cannot edit the mappings on this tab.
14 Sync Tab The Sync tab enables you to manually synchronize contact and lead records between Engage and Salesforce.com. Multichannel includes scheduled tasks Service_CRM_SyncIn_All, Service_CRM_SyncOut_Customers, and Service_CRM_SyncOut_Messages that perform synchronization options at specific intervals. However, you can use the options on this tab if you need to manually synchronize information because synchronization is disabled or if there are connection issues with Salesforce.com. Option Sync In Contact Sync In Lead Sync In Contact & Lead Sync Out Customer Sync In Account Names Description Pulls all new and updated contact information from Salesforce.com into Engage. Pulls all new and updated lead information from Salesforce.com into Engage. Pulls in all new and update lead and contact information from Salesforce.com into Engage. Pushes new and updated customer records from Engage to Salesforce.com. Updates the list of Salesforce.com account names in Engage and, where applicable, updates the Account field in customer records. Configuring Mappings Mappings create a relationship between fields in Engage and Salesforce.com. Mappings help ensure that Engage and Salesforce.com can seamlessly exchange data, and that agents have access records from Salesforce.com in from within Engage. You may also need to create mappings because: Salesforce.com uses a number of fields that have no equivalents in Engage for example, MailingCity and CaseNumber. You may need to make some of those fields visible in Engage. Certain fields in Salesforce.com have different names than their counterpart in Engage for example, MobilePhone in Salesforce.com and Mobile in Engage. You configure additional mappings in the Admin > CRM Integration section of Multichannel.
15 Note: You must ensure that the fields that you are mapping are of the same data type for example, both are Text fields or DateTime values. If the fields are not of the same data type, then synchronization of data between Engage and Salesforce.com will fail. Fields Available for Mapping Configuring a mapping involves selecting: One of the following Engage objects, which indicate the fields that you can use for mappings, from the Object Name list: o o o Customer (customer name and address fields). ContactType (fields that specify customer contact information for example, an email address). GenericCustomerData (custom fields that have been configured in Multichannel). The available fields for each object are described below. The name of a field in Salesforce.com from the External Field Name list. The corresponding Engage field from the Field Name list. Customer If you choose Customer from the Object Name list, the following fields are available in the Field Name list: Engage Field Name Salesforce.com Field Name Description FirstName FirstName The customer s first name. LastName LastName The customer s last name. Address1 MailingStreet The customer s street address. Address2 OtherStreet Additional address information for example, floor or suite or apartment number. Address3 Additional address information for example, P.O. box number. City MailingCity The city in which the customer
16 resides. Country MailingCountry The country in which the customer resides. State MailingState The state in which the customer resides. PostCode MailingPostalCode The customer s postal or ZIP code. ContactType If you choose ContactType from the Object Name list, the following fields are available in the Field Name list: Engage Field Name Salesforce.com Field Name Description Mobile MobilePhone The customer s mobile phone number. Email Email The customer s email address.
17 Engage Field Name Salesforce.com Field Name Description Fax Fax The customer s fax number. HomePhone HomePhone The customer s home phone number. BusinessPhone Business Phone The customer s business phone number (if applicable). GenericMessageType1 n/a A custom field in Engage. GenericMessageType2 n/a A custom field in Engage. Twitter n/a The customer s Twitter handle. Facebook n/a The customer s Facebook user name. GenericCustomerData If you choose GenericCustomerData from the Object Name list, the fields that are available in the Field Name list will vary depending on what custom fields have been configured in MultiChannel. For example, you can define ShortField03 as Title, and map that field to the Title field in Salesforce.com. Mapping Customer Records to Contacts or Leads To map customer records to contacts or leads, select Admin > CRM Integration. In the CRM Integration Settings window, click the Contact Config tab or the Lead Config tab and then click Add New Mapping. 1. Select the Salesforce.com field that you want to map to a Engage field from the External Field Name list. 2. Select an option from the Object Name list. 3. Select the Engage field that will be mapped to the Salesforce.com field from the Field Name list. 4. Click Save.
18 Example 1: Mapping a Salesforce.com Field with No Equivalent in Engage In this example, you will be mapping the Salesforce.com AccountID field to a custom field in Engage. You must use a custom field since Engage does not have an equivalent to the AccountID field. To map the AccountID field to a custom field in Engage: 1. In the CRM Mapping Maintenance window, select AccountID from the External Field Name list. 2. From the Object Name list, select GenericCustomerData. 3. Select a custom short field from the Field Name list. If the custom short field does not exist, you must create it. For more information, see the section Data Field Maintenance. 4. Click Save. The new mapping appears on the Contact Config tab, as shown below: Example 2: Mapping Corresponding Fields In this example, you will be mapping the Salesforce.com MailingCountry field to the Country field in Engage. 1. In the CRM Mapping Maintenance window, select MailingCountry from the External Field Name list. 2. Select ContactType from the Object Name list. 3. Select Country from the Field Name list. 4. Click Save. The new mapping appears on the Lead Config tab, as shown below: