= Purpose= The Bright Pattern Contact Center ''Salesforce.com Integration Guide'' provides detailed instructions for setting up your Bright Pattern Contact Center solution to function in an integrated manner with your Salesforce.com (SFDC) applications, including single agent sign-on, SFDC-data-driven interaction routing, screen pop, activity history, and click-to-call functions.
[[#topic_sfdc-integration-guide/Audience|Next >]]
= Audience= This ''Salesforce Integration Guide'' is intended for the IT/technical personnel responsible for the data infrastructure of the contact centers that use Bright Pattern Contact Center solutions for customer interaction processing and the Salesforce.com (SFDC) solution for customer relationship management. Readers of this guide are expected to have expertise and experience in administration of these systems as well as a solid understanding of contact center operations and resources that are involved in such operations.
[[#topic_sfdc-integration-guide/Purpose|< Previous]] | [[#topic_sfdc-integration-guide/IntegrationScope|Next >]]
= Integration Scope= The scope of [http://www.brightpattern.com/call-center-software/salesforce-integration/ Salesforce integration] discussed in the ''Salesforce Integration Guide'' includes the following elements: * Bright Pattern Contact Center Agent Desktop embedded into or integrated with a Salesforce.com (SFDC) application (Sales Cloud or Service Cloud) [[File:sfdc-integration-guide-image2.png|center|]] * ''Single sign-on'' (i.e., simultaneous user logins to SFDC and Bright Pattern Contact Center applications) * Use of SFDC data in identifying an agent best qualified to handle an incoming interaction using the information provided by the caller via interactive voice response (IVR) application, as well as possible updates of SFDC data via self-service IVR applications. Supported operations include searching for, updating, inserting, and deleting, SFDC records. * ''Screen pop'' (i.e., display of relevant SFDC ''Objects''/records synchronized with interaction delivery to the agent). Currently, SFDC ''Contact'' and ''Case'' records can be displayed in this manner. * Import of calling lists from SFDC and export of campaign results to SFDC * Availability of interaction-processing details in the SFDC ''Activity History'', including the following: ** ActivityDate ** CallObject ** CallType ** CallDisposition ** CallDurationInSeconds ** Description ** Subject ** Status ** SPRecordingOrTranscriptURL__c [[File:sfdc-integration-guide-image3.png|thumb|800px|center|]] * [[#topic_contact-center-administrator-guide/Email|Email routing]] via the unified Agent Desktop * Availability of interaction-processing details in the SFDC ''Reports'' (refer to the example below) [[File:sfdc-integration-guide-image4.jpeg|thumb|800px|center|]] * ''Click-to-call'' (i.e., the capability to dial contact numbers directly from the SFDC application web pages, which are identified by the click-to-call icon) [[File:sfdc-integration-guide-image5.png|thumb|800px|center|]]
[[#topic_sfdc-integration-guide/Audience|< Previous]] | [[#topic_sfdc-integration-guide/Prerequisites|Next >]]
= Prerequisites= To deploy the managed app in a Salesforce.com (SFDC) environment, you must have “Production” level login credentials. To verify the “Production” level credentials for proper permissions, login with your existing credentials to the [https://login.salesforce.com/ Salesforce login]. '''Note:''' If you are unable to log into Salesforce.com directly, please contact your SFDC system administrator to review permission and access level settings. For most types of integration described in this guide, Bright Pattern Contact Center version 3.6 or later is required. For import of calling lists and export of campaign results, Bright Pattern Contact Center version 3.10 or later is required.
[[#topic_sfdc-integration-guide/IntegrationScope|< Previous]] | [[#topic_sfdc-integration-guide/InstallingaManagedPackage|Next >]]
= Importing a Call Center Definition File= To configure a call center in Salesforce, you will need to define it using a call center definition file. Call center definition files are used to support the integration of the Salesforce CRM Call Center with multiple CTI vendors. The first instance of a call center record for a particular CTI adapter must be defined by importing the adapter’s call center definition file. == Upload This Definition File == When uploading your call center definition, be sure to upload the following XML, which is up to date for Bright Pattern Contact Center version 3.15 and higher. Note that this call definition file includes item ''muteRecordingUrls'', which allows supervisors working in the integrated Agent Desktop to pause agents’ screen recordings or mute the recordings of agents’ calls while agents are receiving sensitive data (e.g., credit card numbers). Item ''reqSalesforceCompatibilityMode'' provides compatibility with Salesforce Lightning; without this item, Bright Pattern integration will not work in Salesforce Lightning.



CSIMIntegration
CSIM Integration

true
300
500
example.com

Lightning

9
1
011

[[#topic_sfdc-integration-guide/Prerequisites|< Previous]] | [[#topic_sfdc-integration-guide/InstallingaManagedPackage|Next >]]
= Installing a Managed Package= To get started on configuring Salesforce integration, you must install a managed package. Installation can be performed by developers in either a sandbox or production environment with proper permissions. Before you begin installing anything, make sure you have registered and created a Salesforce developer account. You can do that at salesforce.com. == How to Install the Managed App == # Go to the [https://appexchange.salesforce.com/listingDetail?listingId=a0N3000000B5D1pEAF Salesforce AppExchange] and get the [https://appexchange.salesforce.com/listingDetail?listingId=a0N3000000B5D1pEAF BrightPattern Contact Center Integration app].

[[File:SFDC-App-Exchange-50.PNG|800px|thumbnail|center|Salesforce App Exchange]]

# At the bottom of the page, click '''Get It Now'''.

# In the dialog that pops up, log in with your Salesforce credentials for your Salesforce developer account. (If you do not already have a developer account, now is the time to [http://www.salesforce.com create and register] one.)

[[File:SFDC-AppExchange-Login-50.PNG|450px|thumbnail|center|You will be prompted to log in to your Salesforce developer account]]

# Select either '''Install in Production''' or '''Install in Sandbox'''. Then in the ''Confirm Installation Details'' dialog, agree to the terms and click '''Confirm and Install'''.[[File:SFDC-AppExchange-Install-50.PNG|450px|thumbnail|center|Choose where to install it]]
[[#topic_sfdc-integration-guide/Prerequisites|< Previous]] | [[#topic_sfdc-integration-guide/ConfiguringCallCenterParameters|Next >]]
= Configuring Call Center Parameters = After you have defined your call center and installed your managed package, set up the call center parameters that will enable integration with Bright Pattern Contact Center. Note that throughout this guide, configuration instructions are shown for both Salesforce Lightning and Salesforce Classic, where applicable. == Configuration in Salesforce Lightning == === Step 1: Manage your call centers in Salesforce === # In Salesforce Lightning view, navigate to ''Setup''.

# Go to '''Feature Settings > Service > Call Center > Call Centers''' and click on your call center (i.e., "BrightPattern"). The Call Center Detail page will open.

# If the ''Introducing Salesforce CRM Call Center'' splash page appears, click '''Continue'''. === Step 2: Edit call center properties === # On the Call Center Detail page, click '''Edit''' at the top of the list. The Call Center Edit page opens.

[[File:SFDC-Call-Center-Edit.PNG|650px|thumbnail|center|Call Center Edit]]
# The most important property to edit is the Agent Desktop URL. In the '''Agent Desktop URL''' field, change the URL to the following:
''https://:/agentdesktop/AgentDesktop.jsp?enableSFOpenCTI=1&sflogin=1''

Make sure to replace '''' with your host name and '''' with your port number. For example, in Salesforce Lightning, your URL might be:
''https://tobias_vm:8443/agentdesktop/AgentDesktop.jsp?enableSFOpenCTI=1&sflogin=1''

# Leave everything else about the URL the same.

# '''Optional:''' Adjust the size of the Agent Desktop call widget that appears on Salesforce on either the homepage (in Classic view) or on every page (in Lightning view). You adjust the size by replacing the default values of the '''Softphone height''' and '''Softphone width''' fields. The default size is 300 (W) x 500 (H). Note that if the size is too small, the Agent Desktop call widget will appear truncated.

# Click '''Save'''. On the Call Center Detail page, you can optionally adjust the size of the Agent Desktop call widget by specifying the width and height of the widget. The widget remains fixed on every page when using Salesforce Lightning view. === Step 3: Update your tenant access URL details if you have multiple call centers=== If you have multiple tenants (i.e., call centers), you should update your tenant access URL information for the particular call center you are configuring. # On the ''Call Center Detail'' page, modify the following Agent Desktop URL by replacing

''<tenant-name>.<service-provider-domain-name>''

with your Bright Pattern Contact Center tenant access URL (refer to the example below, noting that this URL changes based on the version of Salesforce that you are using):

''https://<tenant-name>.<service-provider-domain-name>/agentdesktop?enableSFOpenCTI=1&sflogin=1&apexClass=BrightPattern.CSIMIntegration''

# Example: ''https://demo.brightpattern.com/agentdesktop?enableSFOpenCTI=1&sflogin=1&apexClass=BrightPattern.CSIMIntegration''

# Modify the Tenant URL by replacing ''example.com'' with your fully qualified tenant URL (e.g., ''example.brightpattern.com'').

# Click '''Save'''. === Step 4: Enable your identity provider === For Salesforce Lightning view, you should enable your identity provider early on in your integration configuration. Once you complete this step, you will not have to do it again. Enabling the identity provider is necessary for [[#topic_sfdc-integration-guide/EnablingSingleSign-On|enabling single sign-on]] in the next section of this guide. # In Salesforce.com, go to ''Setup'' and, in the search box, type '''Identity Provider'''. Select this option when it appears in the search list.

[[File:SFDC-Lightning-Identity1-50.png|800px|thumbnail|center|Type "Identity Provider" and select it from the search list]]

# Click on '''Enable Identity Provider'''.

# In ''Identity Provider Setup'', select the actual certificate to be used. If no certificates are shown, you should either create a new self-signed certificate or import a certificate from your setup. For more information, see section [[sfdc-integration-guide/EnablingSingleSign-On#How_to_Add_the_Certificate|How to Add the Certificate]].

[[File:SFDC-Lightning-Identity-2-50.png|650px|thumbnail|center|Select the certificate]]

# Use the '''download certificate''' button if the certificate was previously downloaded.

[[File:SFDC-Lightning-Identity3-50.png|800px|thumbnail|center|You may need to click "Download Certificate"]] === Step 5: Edit the BrightPattern Integration app settings === # Go to ''Platform Tools > Connected Apps > Manage Connected Apps''.

# Click '''BrightPattern''' in the list of connected apps. This is one of the apps deployed with the package. [[File:SFDC-Setup-Manage-Connected-50.png|800px|thumbnail|center|Select BrightPattern from the list of connected apps]] === Step 6: Create new Lightning app === In order to observe the Agent Desktop repeater, you need to create a new Lightning app in ''Setup > Platform Tools > Apps > App Manager'', following the steps of the wizard. Then click on your newly created Lightning app in App Launcher and observe the repeater in the left bottom corner of the page. === Step 7: Check phone number prefixes === # Log in to Bright Pattern's Contact Center Administrator application.

# Make sure that ''Outside Prefix'' is set accordingly to the current ''Dial-out'' entry in the Bright Pattern Contact Center Administrator application. This prefix will be added by Salesforce to any number that will be dialed using the “Click-To-Call” feature. For more information on prefixes, see the ''Contact Center Administrator Guide'', section [[#topic_contact-center-administrator-guide/Dial-outEntries|Dial-Out Entries]]. [[File:SFDC-CCA-Dial-Out-50.png|800px|thumbnail|center|Contact Center Administrator > Dial-Out Entries]] === Step 8: Assign Salesforce.com (SFDC) users to the call center === # Go to ''Platform Tools > Feature Settings > Service > Call Center > Call Centers'' and click the name of your call center.

# Click the '''Manage Call Center Users''' button at the bottom of the page.

[[File:SFDC-Manage-Call-Center-Users.PNG|450px|thumbnail|center|Manage Call Center Users]]

# Select the name of the call center to which you want to assign users.

# In the ''Call Center Users'' related list, click '''Manage Call Center Users'''.

# On the ''Manage Users'' page, click '''Add More Users'''.

[[File:SFDC-Add-Users-50.PNG|800px|center|thumbnail|Add more users]]

# Specify criteria to find the users who should be assigned to the call center.

[[File:SFDC-Select-Users-50.PNG|650px|thumbnail|center|Find users to assign to the call center]]

# Click '''Find'''. Note that all users who already belong to a call center will be excluded from the search results because a user can be assigned to one call center at a time only.

# Select the checkbox next to each user who should be assigned to the call center. At the bottom of the screen, click '''Add to Call Center'''. '''Note:''' To reassign a user to another call center, first remove this user from the currently assigned call center and then add the user to the desired call center. You can view the currently assigned call center in the User Detail page. === Step 9: Confirm that the new call center is correct === # Log out of Salesforce and log in again. This step is always required when changing the Agent Desktop URL in call center settings. # Return to the newly created call center. You should see the Agent Desktop widget as shown on every page within Salesforce. [[File:SFDC-Configured-50.png|800px|thumbnail|center|Salesforce Lightning with Agent Desktop widget]] == Configuration in Salesforce Classic == === Step 1: Manage your call centers in Salesforce === # In Salesforce Classic view, navigate to ''Setup''.

# Go to ''Build > Call Center > Call Centers'' and then select BrightPattern from the list. This is the call center you just installed.

[[File:SFDC-Classic-All-Call-Centers2-50.PNG|800px|thumbnail|center|All Call Centers]]

# If the ''Introducing Salesforce CRM Call Center'' splash page appears, click '''Continue'''. The Call Center Detail page will open. === Step 2: Edit call center properties === # On the Call Center Detail page, click '''Edit'''. The Call Center Detail page opens.

[[File:SFDC-Classic-Call-Center-Edit2-50.PNG|800px|thumbnail|center|Edit call center details]]

# The most important property to edit is the ACS URL. This is the URL of your Bright Pattern Contact Center Agent Desktop. In the '''ACS URL''' field, modify the following Bright Pattern Contact Center Agent Desktop URL by replacing ''.'' with your Bright Pattern Contact Center tenant access URL (refer to the example):

''https://./agentdesktop?enableSFOpenCTI=1&sflogin=1&apexClass=BrightPattern.CSIMIntegration''

Example: ''https://demo.brightpattern.com/agentdesktop?enableSFOpenCTI=1&sflogin=1&apexClass=BrightPattern.CSIMIntegration''

# Leave everything else about the URL the same.

# '''Optional:''' Adjust the size of the Agent Desktop call widget that appears on Salesforce on either the homepage (in Classic view) or on every page (in Lightning view). You adjust the size by replacing the default values of the '''Softphone height''' and '''Softphone width''' fields. The default size is 300 (W) x 500 (H). Note that if the size is too small, the Agent Desktop call widget will appear truncated.

# Click '''Save'''. === Step 3: Update your tenant access URL details if you have multiple call centers=== If you have multiple tenants (i.e., call centers), you should update your tenant access URL information for the particular call center you are configuring. # On the ''Call Center Detail'' page, modify the following Agent Desktop URL by replacing

''<tenant-name>.<service-provider-domain-name>''

with your Bright Pattern Contact Center tenant access URL (refer to the example below, noting that this URL changes based on the version of Salesforce that you are using):

''https://<tenant-name>.<service-provider-domain-name>/agentdesktop?enableSFOpenCTI=1&sflogin=1&apexClass=BrightPattern.CSIMIntegration''

# Example: ''https://demo.brightpattern.com/agentdesktop?enableSFOpenCTI=1&sflogin=1&apexClass=BrightPattern.CSIMIntegration''

# Modify the Tenant URL by replacing ''example.com'' with your fully qualified tenant URL (e.g., ''example.brightpattern.com''). # Click '''Save'''. === Step 4: Edit the BrightPattern Integration app === # Go to ''Administer > Manage Apps > Connected Apps''.

# Click '''BrightPattern''' in the list of connected apps. This is one of the apps deployed with the package. The Connected App Detail page opens. [[File:SFDC-Classic-Connected-App2-50.PNG|800px|thumbnail|center|Connected App Detail page]] === Step 5: Check phone number prefixes === # Log in to Bright Pattern's Contact Center Administrator application.

# Make sure that ''Outside Prefix'' is set accordingly to the current ''Dial-out'' entry in the Bright Pattern Contact Center Administrator application. This prefix will be added by Salesforce to any number that will be dialed using the “Click-To-Call” feature. For more information on prefixes, see the ''Contact Center Administrator Guide'', section [[#topic_contact-center-administrator-guide/Dial-outEntries|Dial-Out Entries]]. [[File:SFDC-CCA-Dial-Out-50.png|800px|thumbnail|center|Contact Center Administrator > Dial-Out Entries]] === Step 6: Assign Salesforce.com (SFDC) users to the call center === # Go to ''Setup > Customize > Call Center > Call Centers''.

# On the ''All Call Center Users'' page, select the name of the call center to which you want to assign users.

# In the ''Call Center Detail'' page , under ''Call Center Users'' click '''Manage Call Center Users'''.

[[File:SFDC-Classic-Manage-Users-50.PNG|650px|thumbnail|center|Manage Call Center Users]]

# Click '''Add More Users'''.

[[File:SFDC-Classic-Add-More-Users-50.PNG|800px|thumbnail|center|Add More Users]]

# Specify criteria to find the users who should be assigned to the call center.

[[File:SFDC-Select-Users-50.PNG|650px|thumbnail|center|Select users]]

# Click '''Find'''. Note that all users who already belong to a call center will be excluded from the search results because a user can be assigned to one call center at a time only.

# Select the checkbox next to each user who should be assigned to the call center, and click '''Add to Call Center'''. '''Note:''' To reassign a user to another call center, first remove this user from the currently assigned call center and then add the user to the desired call center. You can view the currently assigned call center in the “User” detail page. === Step 7: Confirm that the new call center is correct === Return to the newly created call center. You should see the Agent Desktop widget as shown on every page within Salesforce.
= Enabling Single Sign-On= Single Sign-on (SSO) functionality allows call center users to log in to Salesforce and Bright Pattern Contact Center applications simultaneously from a single login. The following instructions pertain to either Salesforce Lightning or Salesforce Classic views. == SSO in Salesforce Lightning == === Step 1: Enable and deploy the domain === # From Salesforce.com, enable the organizational domain. Note that registration of the domain may take up to 24 hours. For more information, refer to [http://help.salesforce.com/apex/HTViewHelpDoc?id=domain_name_setup.htm&language=en_US Salesforce Help].

# Deploy the domain to assigned users.

# All users must log in using this domain URL, which should be in the following format: ''https://.my.salesforce.com/'' === Step 2: Customize the connected app === # In Salesforce Lightning, click the '''Edit Policies''' button at the top of the Connected App Detail page.

# Navigate to ''Platform Tools > Apps > Connected Apps > Manage Connected Apps'' and then select '''BrightPattern''' from the list of connected apps.

# Edit the following App settings: ## '''IP Relaxation - ''' Relax IP restrictions ## '''Refresh Token Policy - ''' Refresh token is valid until revoked ## '''ACS URL -''' ''https://<your-ServicePattern-tenant-URL>/agentdesktop/agentdesktop/sfsso/response''

# Click '''Save'''. [[File:sfdc-integration-guide-image8.png|thumb|800px|center|]] === Step 3: Configure user profiles and field mapping (login mapping – custom attribute) === SFDC ''Single Sign-On'' integration requires user profiles assigned for users that are going to utilize Bright Pattern Contact Center to be authenticated by the SFDC Identity Provider. The following process maps the Single Sign-On parameters to the Bright Pattern Contact Center login ID. # Navigate to ''Administration Setup > Manage Apps > Connected Apps'', and select '''BrightPattern'''.

# Scroll down to ''Custom Attributes'' and click '''edit'''.

# In the ''Update Custom Attribute'' page that opens, specify the '''Attribute key''' and '''Attribute value''' as shown.

[[File:sfdc-integration-guide-image9.png|thumb|650px|center|]]

Bright Pattern Contact Center uses one optional custom service provider “Attribute key”: ''CSIMLoginID''. This Attribute could be matched with any user’s field. By default, it is configured to match the SFDC user nickname ''($User.CommunityNickname)''. '''Note:''' If this attribute mapping is removed and no other attribute is specified, then the login ID will be taken as part of the SFDC username before the '@' sign. === Step 4: Set up Single Sign-On integration with Bright Pattern Contact Center === Single Sign-On functionality enables you to log in to only your integration account to use your integrated Salesforce Agent Desktop interface. Bright Pattern Contact Center integration account configuration requires the full SFDC URL (starting with ''<your-salesforce-domain>...'') for use in the Call Center configuration integration accounts. This URL is available via the SFDC browser by right-clicking on the URL and choosing '''Copy Link Address''' as required. New integration accounts are added in the Contact Center Administrator application. For more information, see the ''Contact Center Administrator Guide'' section [[#topic_contact-center-administrator-guide/IntegrationAccounts|Integration Accounts]]. To create a new integration account, follow these steps: # In a new browser tab, log in to the Bright Pattern Contact Center Administrator application. Keep this application open. You will be going back and forth between this application and Salesforce.com.

# From the main menu, under ''Call Center Configuration'', select '''Integration Accounts'''.

# Click '''+''' at the bottom of the screen to add a new integration account.

[[File:SFDC-Add-Integration-50.PNG|650px|center|thumbnail|Add Salesforce.com integration account]] You will be editing the following integration account properties with the information from Salesforce: * '''Name''' - Specify an account name * '''Url''' - Enter the Issuer name * '''Certificate''' - Provide the Salesforce.com Identity Provider Certificate (see instructions below) ==== How to Add the Certificate ==== Before you can add the certificate, you have to ensure that there is one.

'''Note:''' In case you have multiple certificates, you must choose the certificate you want to use as the Idp Certificate on the ''App Settings'' page.

# In Salesforce.com, go to ''Settings > Security > Certificate and Key Management''.

[[File:SFDC-Cert-Key-Mgmt-50.PNG|800px|thumbnail|center|Certificate and Key Management]]

# If you see no certificates listed, then either create a new self-signed certificate or import a certificate from your setup.

# To import, click the '''Import from Keystore''' button. Any certificates you import will be shown in the ''Idp Certificate'' field on the ''Connected App Edit'' page.

[[File:SFDC-Connected-App-IDP-50.PNG|800px|thumbnail|center|IDP certificate shown]]

# In addition, you need a domain name for your call center. The domain is what you will add to your Salesforce integration account property '''Url'''. In Salesforce.com, go to ''Settings > My Domain'' to create one.

# Still in Salesforce.com, click '''Setup''' in the main menu at the top of the screen.

# Then go to ''Security > Certificate and Key Management''.

# Select the certificate desired (or import a certificate). Note that you may have multiple certificates shown.

# Click '''Download Certificate'''.

# Open the downloaded file in Notepad (or Notepad ++) and copy the certificate content only (i.e., the text between ''-----BEGIN CERTIFICATE-----'' and ''-----END CERTIFICATE-----'').

[[File:sfdc-integration-guide-image11.png|thumb|800px|center|]]

# Go back to the Contact Center Administrator application and paste the certificate into the Salesforce integration account properties. Paste by clicking '''paste''' under ''Single Sign-on > Identity provider certificate''.

# In the ''Set Identity Provider certificate'' dialog, click '''Set'''. This pastes in the certificate. === Step 5: Provide the identity provider initiated login URL === # Go back to Salesforce.com. Navigate to ''Platform Tools > Apps > Connected Apps'' > Manage Connected Apps''.

# Click ''Connected Apps'' and select the App created earlier (i.e., "BrightPattern").

# Under section ''SAML Login Information'', copy the full URL from the '''Idp-initiated Login URL'''. (Copy the URL by using the Copy/Paste menu; it will be automatically prefixed with the domain URL as created earlier (e.g., ''https://<your-sf-domain>.salesforce.com...)''.

[[File:SFDC-SAML-Login-50.PNG|thumb|800px|center|]]

# Paste the copied login URL (full URL) into the Salesforce integration account properties on Bright Pattern Contact Center, and click '''Apply'''.

[[File:SFDC-Int-Account-Properties-50.PNG|650px|thumbnail|center|Saleforce.com integration account properties]]

== SSO in Salesforce Classic == === Step 1: Enable and deploy the domain === # From Salesforce.com, enable the organizational domain. Note that registration of the domain may take up to 24 hours. For more information, refer to [http://help.salesforce.com/apex/HTViewHelpDoc?id=domain_name_setup.htm&language=en_US Salesforce Help].

# Deploy the domain to assigned users.

# All users must log in using this domain URL, which should be in the following format: ''https://.my.salesforce.com/'' === Step 2: Customize the connected app === # In Salesforce Classic, go to ''Setup''. # Navigate to ''Administration Setup > Manage Apps > Connected Apps'' and then select '''BrightPattern''' from the list of connected apps.

[[File:SFDC-Classic-Manage-Conn-50.PNG|800px|thumbnail|center|Connected Apps]]

# On the ''Connected App Detail'' page that opens, click '''Edit Policies'''.

[[File:SFDC-Edit-Policies-Button-50.PNG|650px|thumbnail|center|Connected App Detail]]

# Edit the following App settings: ## '''IP Relaxation - ''' Relax IP restrictions ## '''Refresh Token Policy - ''' Refresh token is valid until revoked ## '''ACS URL -''' ''https://<your-ServicePattern-tenant-URL>/agentdesktop/agentdesktop/sfsso/response''

# Click '''Save'''. [[File:sfdc-integration-guide-image8.png|thumb|800px|center|]] === Step 3: Configure user profiles and field mapping (login mapping – custom attribute) === The SFDC ''Single Sign-On'' integration requires user profiles assigned for users that are going to utilize Bright Pattern Contact Center to be authenticated by the SFDC Identity Provider. The following process maps the Single Sign-On parameters to the Bright Pattern Contact Center login ID. # Go back to ''Administer > Manage Apps > Connected Apps'', and select '''BrightPattern''' to get to the Connected App Detail page.

# Scroll down to ''Custom Attributes'' and click '''Edit'''.

[[File:SFDC-Custom-Attributes-50.png|650px|thumbnail|center|Edit custom attributes]]

# In the ''Update Custom Attribute'' page that opens, specify the '''Attribute key''' and '''Attribute value''' as shown.

[[File:sfdc-integration-guide-image9.png|thumb|650px|center|]]

Bright Pattern Contact Center uses one optional custom service provider “Attribute key”: ''CSIMLoginID''. This Attribute could be matched with any user’s field. By default, it is configured to match the SFDC user nickname ''($User.CommunityNickname)''. '''Note:''' If this attribute mapping is removed and no other attribute is specified, then the login ID will be taken as part of the SFDC username before the '@' sign. === Step 4: Set up Single Sign-On integration with Bright Pattern Contact Center === Single Sign-On functionality enables you to log in to only your integration account to use your integrated Salesforce Agent Desktop interface. Bright Pattern Contact Center integration account configuration requires the full SFDC URL (starting with ''<your-salesforce-domain>...'') for use in the Call Center configuration integration accounts. This URL is available via the SFDC browser by right-clicking on the URL and choosing '''Copy Link Address''' as required. New integration accounts are added in the Contact Center Administrator application. For more information, see the ''Contact Center Administrator Guide'' section [[#topic_contact-center-administrator-guide/IntegrationAccounts|Integration Accounts]]. To create a new integration account, follow these steps: # In a new browser tab, log in to the Bright Pattern Contact Center Administrator application. Keep this application open. You will be going back and forth between this application and Salesforce.com.

# From the main menu, under ''Call Center Configuration'', select '''Integration Accounts'''.

# Click '''+''' at the bottom of the screen to add a new integration account.

[[File:SFDC-Add-Integration-50.PNG|650px|center|thumbnail|Add Salesforce.com integration account]] You will be editing the following integration account properties with the information from Salesforce: * '''Name''' - Specify an account name * '''Url''' - Enter the Issuer name * '''Certificate''' - Provide the Salesforce.com Identity Provider Certificate (see instructions below) ==== How to Add the Certificate ==== Before you can add the certificate, you have to ensure that there is one.

'''Note:''' In case you have multiple certificates, you must choose the certificate you want to use as the Idp Certificate on the ''App Settings'' page.

# In Salesforce.com, go to ''Administration Setup > Security Controls > Certificate and Key Management''.

[[File:SFDC-Classic-Certificate.PNG|800px|thumbnail|center|Certificate and Key Management]]

# If you see no certificates listed, then either create a new one or import a certificate from your setup.

# To import, click the '''Import from Keystore''' button. Any certificates you import will be shown in the ''Idp Certificate'' field on the ''Connected App Edit'' page. Note that if you have multiple certificates, you must choose the certificate you want to use as the Idp Certificate on the ''App Settings'' page.

[[File:SFDC-Classic-IDP-Cert-2-50.PNG|800px|thumbnail|center|IDP certificate shown]]

# In addition, you need a domain name for your call center. The domain is what you will add to your Salesforce integration account property '''Url'''. In Salesforce.com, go to ''Administration Setup > Domain Management > My Domain'' to create one.

# Still in Salesforce.com, click '''Setup''' in the main menu at the top of the screen.

# Then go to ''Administration Setup > Security Controls > Certificate and Key Management''.

# Select the certificate desired (or import a certificate). Note that you may have multiple certificates shown.

# Click '''Download Certificate'''.

# Open the downloaded file in Notepad (or Notepad ++) and copy the certificate content only (i.e., the text between ''-----BEGIN CERTIFICATE-----'' and ''-----END CERTIFICATE-----'').

[[File:sfdc-integration-guide-image11.png|thumb|800px|center|]]

# Go back to the Contact Center Administrator application and paste the certificate into the Salesforce integration account properties. Paste by clicking '''paste''' under ''Single Sign-on > Identity provider certificate''.

# In the ''Set Identity Provider certificate'' dialog, click '''Set'''. This pastes in the certificate. === Step 5: Provide the identity provider initiated login URL === # Go back to Salesforce.com. Navigate to ''Administration Setup > Manage Apps > Connected Apps'.

# Select the App created earlier (i.e., "BrightPattern").

# Under section ''SAML Login Information'', copy the full URL from the '''Idp-initiated Login URL'''. (Copy the URL by using the Copy/Paste menu; it will be automatically prefixed with the domain URL as created earlier (e.g., ''https://<your-sf-domain>.salesforce.com...)''.

[[File:SFDC-SAML-Login-50.PNG|thumb|800px|center|]]

# Paste the copied login URL (full URL) into the Salesforce integration account properties on Bright Pattern Contact Center, and click '''Apply'''.

[[File:SFDC-Int-Account-Properties-50.PNG|650px|thumbnail|center|Saleforce.com integration account properties]]

[[#topic_sfdc-integration-guide/ConfiguringCallCenterParameters|< Previous]] | [[#topic_sfdc-integration-guide/EnablingAccesstoSFDCDatafromScenarios|Next >]]
= Enabling SFDC Data Access from Scenarios= The server-side integration is implemented using Saleforce.com (SFDC) web services via the SFDC REST API (http://wiki.developerforce.com/page/REST_API). Bright Pattern Contact Center authenticates with Salesforce using the [http://www.salesforce.com/us/developer/docs/api_rest/Content/intro_understanding_web_server_oauth_flow.htm Web Server OAuth Authentication flow]. The [http://www.salesforce.com/us/developer/docs/api_rest/Content/intro_understanding_refresh_token_oauth.htm refresh token] mechanism is used to obtain and refresh the access token. == In Salesforce Lightning == === Step 1: Create a new connected app === # In Salesforce Lightning, go to ''Platform Tools > Apps > App Manager''. # At the top of the Lightning Experience App Manager, under '''Connected Apps''', click '''New'''. [[File:SFDC-Lightning-Experience-50.PNG|800px|thumbnail|center|Create new app]] === Step 2: Configure the connected app === To configure the connected app, enter the following details on the ''New Connected App'' page. ==== Basic information ==== [[File:sfdc-integration-guide-image13.png|thumb|650px|center|]] * '''Connected App Name''' - Set any unused name as a Web App Name * '''API Name''' - Set any unused name as an API Name * '''Contact Email''' - Supply contact email ==== API (Enable OAuth Settings) ==== # Check the Enable OAuth settings at ''API (Enable OAuth Settings) > Enable OAuth Settings''

## '''Callback URL''' - ''https://<your-brightpattern-domain>/admin/salesforcecallback.html'' ## Select '''Available OAuth Scopes'''.

[[File:Sfdc-integration-guide-step2.png|thumb|800px|center|]]

# Then access and manage your data (API).

# Full access (full)

# Perform requests on your behalf at any time (''refresh_token'', ''offline_access'').

# Click '''Save'''. '''Note:''' The SFDC updates for these parameters take a few minutes to propagate through the system--wait five minutes while SFDC updates these settings internally. === Step 3: Update the earlier created Bright Pattern Contact Center/Salesforce.com integration account === # Log in to the Bright Pattern Contact Center Administrator application, and go to ''Configuration'' > Call Center Configuration > Integration Accounts > Salesforce.com''.

# In the integration account properties, add the consumer key and consumer secret obtained from the connected app created above. ## In Salesforce.com, go to ''App Setup > Apps > Connected Apps'', and select the connected app created earlier. ## Copy the '''Consumer key''' and '''Consumer secret''' directly from the connected app.

[[File:sfdc-integration-guide-image15.png|thumb|800px|center|]]

# Go back to Contact Center Administrator, and paste the the consumer key and secret into the integration account properties. === Step 4: Update the security profile to include the new connected app === # In Salesforce.com, go to ''Administration > Users'' to get to the All Users page.

# A list of users will be shown. In the ''Profiles'' column, click '''System Administrator'''.

[[File:SFDC-Administrator-50.png|800px|thumbnail|center|Click the Administrator profile]]

# The Profile Detail page will open. Click '''Edit'''.

[[File:SFDC-System-Admin-Edit.PNG|650px|thumbnail|center|Edit the System Adminstrator profile]]

# In ''Connected App Access'', check the connected app created earlier.

[[File:SFDC-Admin-Connected-App-50.PNG|thumb|800px|center|]]

# Click '''Save'''. === Step 5: Update the Bright Pattern Contact Center Administrator application === In Contact Center Administrator application, open the Salesforce integration account that you added previously. Go to ''Configuration > Call Center Configuration > Integration Accounts > Salesforce.com''.

[[File:SFDC-Integration-Accts-3162.PNG|thumb|800px|center|]] Under '''Data Access from Scenarios''', specify the following data: * '''Sandbox environment''' - If your SFDC environment is a [https://help.salesforce.com/apex/HTViewHelpDoc?id=create_test_instance.htm&language=en_US sandbox], select the ''Sandbox environment'' checkbox. * '''Consumer key''' - The consumer key * '''Consumer secret''' - The consumer secret * '''Refresh token''' - Click the '''Request token''' button to get a new token

The Salesforce integration account configuration should now be complete. You can use the '''Check limits''' button to see the [https://help.salesforce.com/HTViewHelpDoc?id=limits.htm&language=en_US SFDC limits] associated with this account. === Step 6: Edit your Salesforce.com scenario === In the Scenario Builder application, edit your Salesforce.com scenario to include the following scenario blocks. These blocks allow your contact center to access SFDC data and enable screen pop: * [[#topic_scenario-builder-reference-guide/Salesforce.comSearch|Salesforce.com Search]] to obtain SFDC data using either the Salesforce Object Query Language (SOQL) or Salesforce Object Search Language (SOSL)

* [[#topic_scenario-builder-reference-guide/Salesforce.comInsert|Saleforce.com Insert]] to insert new SFDC records (i.e., to create new instances of SFDC objects)

* [[#topic_scenario-builder-reference-guide/Salesforce.comUpdate|Salesforce.com Update]] to update existing SFDC records

* [[#topic_scenario-builder-reference-guide/Salesforce.comDelete|Salesforce.com Delete]] to delete existing SFDC records

* [[#topic_scenario-builder-reference-guide/Salesforce.comScreenpop|Salesforce.com Screen pop]] to display SFDC records on the Agent Desktop application

* [[#topic_scenario-builder-reference-guide/AttachedData|Attached Data]] to populate custom fields in SFDC activity history Bright Pattern Contact Center Administrator provides a [[#topic_contact-center-administrator-guide/Voice|scenario template]] for a simple inbound workflow involving look-ups and screen pop of SFDC data. == In Salesforce Classic == === Step 1: Create a new connected app === To create a new connected app: # In Salesforce Classic, go to ''Build > Create > Apps''. # At the bottom of the Apps list, under '''Connected Apps''', click '''New'''. [[File:SFDC-Classic-Create-New-App.PNG|800px|thumbnail|center|Create new app]] === Step 2: Configure the connected app === To configure the connected app, enter the following details on the ''New Connected App'' page. ==== Basic information ==== [[File:sfdc-integration-guide-image13.png|thumb|650px|center|]] * '''Connected App Name''' - Set any unused name as a Web App Name * '''API Name''' - Set any unused name as an API Name * '''Contact Email''' - Supply contact email ==== API (Enable OAuth Settings) ==== # Check the Enable OAuth settings at ''API (Enable OAuth Settings) > Enable OAuth Settings''

## '''Callback URL''' - ''https://<your-brightpattern-domain>/admin/salesforcecallback.html'' ## Select '''Available OAuth Scopes'''.

[[File:Sfdc-integration-guide-step2.png|thumb|800px|center|]]

# Then access and manage your data (API).

# Full access (full)

# Perform requests on your behalf at any time (''refresh_token'', ''offline_access'').

# Click '''Save'''. '''Note:''' The SFDC updates for these parameters take a few minutes to propagate through the system--wait five minutes while SFDC updates these settings internally. === Step 3: Update the earlier created Bright Pattern Contact Center/Salesforce.com integration account === # Log in to the Bright Pattern Contact Center Administrator application, and go to ''Configuration'' > Call Center Configuration > Integration Accounts > Salesforce.com''.

# In the integration account properties, add the consumer key and consumer secret obtained from the connected app created above. ## In Salesforce.com, go to ''App Setup > Apps > Connected Apps'', and select the connected app created earlier. ## Copy the '''Consumer key''' and '''Consumer secret''' directly from the connected app.

[[File:sfdc-integration-guide-image15.png|thumb|800px|center|]]

# Go back to Contact Center Administrator, and paste the the consumer key and secret into the integration account properties. === Step 4: Update the security profile to include the new connected app === # In Salesforce.com, from ''Administer (or ''Administration > Setup)'', select ''Manage Users > Profiles''.

# Click '''System Administrator'''.

# Click '''Edit'''.

# In ''Connected App Access'', check the connected app created earlier.

[[File:sfdc-integration-guide-image17.png|thumb|800px|center|]]

# Click '''Save'''. === Step 5: Update the Bright Pattern Contact Center Administrator application === In Contact Center Administrator application, open the Salesforce integration account that you added previously. Go to ''Configuration > Call Center Configuration > Integration Accounts > Salesforce.com''.

[[File:SFDC-Integration-Accts-3162.PNG|thumb|800px|center|]] Under '''Data Access from Scenarios''', specify the following data: * '''Sandbox environment''' - If your SFDC environment is a [https://help.salesforce.com/apex/HTViewHelpDoc?id=create_test_instance.htm&language=en_US sandbox], select the ''Sandbox environment'' checkbox. * '''Consumer key''' - The consumer key * '''Consumer secret''' - The consumer secret * '''Refresh token''' - Click the '''Request token''' button to get a new token

The Salesforce integration account configuration should now be complete. You can use the '''Check limits''' button to see the [https://help.salesforce.com/HTViewHelpDoc?id=limits.htm&language=en_US SFDC limits] associated with this account. === Step 6: Edit your Salesforce.com scenario === In the Scenario Builder application, edit your Salesforce.com scenario to include the following scenario blocks. These blocks allow your contact center to access SFDC data and enable screen pop: * [[#topic_scenario-builder-reference-guide/Salesforce.comSearch|Salesforce.com Search]] to obtain SFDC data using either the Salesforce Object Query Language (SOQL) or Salesforce Object Search Language (SOSL)

* [[#topic_scenario-builder-reference-guide/Salesforce.comInsert|Saleforce.com Insert]] to insert new SFDC records (i.e., to create new instances of SFDC objects)

* [[#topic_scenario-builder-reference-guide/Salesforce.comUpdate|Salesforce.com Update]] to update existing SFDC records

* [[#topic_scenario-builder-reference-guide/Salesforce.comDelete|Salesforce.com Delete]] to delete existing SFDC records

* [[#topic_scenario-builder-reference-guide/Salesforce.comScreenpop|Salesforce.com Screen pop]] to display SFDC records on the Agent Desktop application

* [[#topic_scenario-builder-reference-guide/AttachedData|Attached Data]] to populate custom fields in SFDC activity history Bright Pattern Contact Center Administrator provides a [[#topic_contact-center-administrator-guide/Voice|scenario template]] for a simple inbound workflow involving look-ups and screen pop of SFDC data.
[[#topic_sfdc-integration-guide/EnablingSingleSign-On|< Previous]] | [[#topic_sfdc-integration-guide/ImportingCallingListsandExportingCampaignResults|Next >]]
[[#topic_sfdc-integration-guide/EnablingSingleSign-On|< Previous]] | [[#topic_sfdc-integration-guide/ImportingCallingListsandExportingCampaignResults|Next >]]
= Importing Calling Lists and Exporting Campaign Results= You can import calling lists for your outbound campaigns directly from Salesforce.com (SFDC) and set up automated periodic updates of such lists to include changes made to the corresponding data in SFDC. You can also automatically create SFDC records based on campaign results. In order to enable import of calling lists and export of campaign results, the integration steps of section [[#topic_sfdc-integration-guide/EnablingAccesstoSFDCDatafromScenarios|Enabling Access to SFDC Data from Scenarios]] must be completed first. == How to Import List Data from SFDC == '''Step 1: Create a list.''' * In the Contact Center Administrator application, select ''Lists'', and click the '''Import list''' button. This will start the List Import Wizard. * In the first wizard screen (''List Type''), select '''Create a list from Salesforce.com SOQL query'''. * Click '''Next'''. [[File:sfdc-integration-guide-image25.PNG|thumb|800px|center|]] '''Step 2: Name your list.''' * Assign a unique '''Name''' to your list. * Select the ''Saleforce.com integration account'', and specify the query for selecting Saleforce.com records for this calling list. The query must be written in the [https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/ Salesforce Object Query Language] (SOQL). Note that the selected records must contain object identifiers and must have at least one phone number field. * Click '''Next'''. [[File:sfdc-integration-guide-image26.PNG|thumb|800px|center|]] '''Step 3: Review and Edit list fields if needed.''' * Edit the list fields as may be necessary. For more information, see section [[#topic_contact-center-administrator-guide/Lists|Lists]] of the ''Contact Center Administration Guide''. Note that SFDC object identifiers will be used as keys for list record identification; therefore, field ''ID'' will be automatically marked as a required field. * Click '''Next'''. [[File:sfdc-integration-guide-image27.PNG|thumb|800px|center|]] '''Step 4: Confirm import results.''' * Review the results of import, and click '''Ok'''. * In the [[contact-center-administrator-guide/Lists#List_Properties_and_Automated_Updates|List Properties]] view, enable periodic updates of this list. (Note that for lists of ''Salesforce.com'' type, new records matching the original SOQL query will be added to the list during each update, while any records that may have been removed from Salesforce will be disabled in the list. If there are campaign results available for such disabled records, they will be preserved.) * If necessary, edit other list properties and [[#topic_contact-center-administrator-guide/ListsTab|assign this list to your campaign]]. * Click '''Apply'''. '''Note:''' There is a 30-second timeout on the Bright Pattern side to begin receiving data from SFDC after the SOQL query is submitted. This timeout applies to both the initial list import and subsequent periodic updates. == How to Export Campaign Results to SFDC == '''Step 1: Select a campaign.''' * In the ''Services and Campaigns'' view of the Contact Center Administrator application, select a campaign. * Open the [[#topic_contact-center-administrator-guide/ResultsTab|Results tab]]. * Click the '''add''' link under ''Periodic Salesforce.com Export Jobs''. * Note that there is no dependency between data export and import. Export to SFDC can be configured for any campaign regardless of the source of the data. '''Step 2: Specify export job parameters and type of object to be created.''' * Define the general parameters of the export job. * Select the ''Salesforce.com integration account''. * Specify the type of ''Salesforce.com object'' that will be created using the results of this campaign. [[File:sfdc-integration-guide-image28.PNG|thumb|800px|center|]] '''Step 3.''' * Click the ''Map fields'' button and map properties of the specified Salesforce.com object to the corresponding [[#topic_reporting-reference-guide/SimpleFormat|campaign result fields]]. * In the dialog that appears, for each object property that will be defined using the campaign data, click the ''$()'' link. * Select the corresponding field of the campaign results, and, if necessary, edit it in the ''Value to set'' field. * Note that object fields of type ID are generated automatically by SFDC and cannot be modified. [[File:sfdc-integration-guide-image29.PNG|thumb|800px|center|]] '''Step 4: Test the results of the export.''' * Click the '''Test by creating object''' button. * Check that an object of the specified type is created in SFDC with the mapped properties filled with test data.
[[#topic_sfdc-integration-guide/EnablingAccesstoSFDCDatafromScenarios|< Previous]] | [[#topic_sfdc-integration-guide/CustomizingSFDCActivityObjects|Next >]]
= Customizing SFDC Activity Objects= The Salesforce.com (SFDC) ''activity history'' is a list of associated tasks or the history of activities that have been carried out on that object. For example, the activity history section on a contact record may contain a list of actions that the sales rep has taken in working that lead, such as emails sent, calls made, and so forth. In addition to the predefined Activity History Objects, these fields can be extended with customized activities to track against objects. == How to Customize an Activity Object == '''Step 1: Create custom fields for an object.''' * Use ''Customize > Activities > Activity Custom Fields'' to create custom fields. * Add a new field, set the label name, and assign the field name. * Upon saving a new custom field, SFDC will automatically add suffix “__c” to it. In order to supply interaction data to this field, use the field name including suffix “__c” in the Bright Pattern scenario block ''Attached Data.'' For example, to populate Custom Activity field '''XXXX''', it is required to have the scenario block Attached Data '''XXXX__c'''. A sample of the predefined Recording URL (Custom Activity Field) is shown. Note the naming convention: [[File:sfdc-integration-guide-image30.png|thumb|800px|center|]] Activity Field data may be updated via the ''Attached Data'' block in a scenario referencing the ''Activity Field API Name''. '''Note:''' To populate regular (not custom) ''Activity Fields'' with any data from the scenario, just use the field name without the “__c” suffix. [[File:sfdc-integration-guide-image31.png|thumb|800px|center|]] '''Step 2: Manage layouts to include new custom fields.''' * Use ''Customize > Activities > Task Page Layouts'' to create or modify page layouts to include new custom fields. * Add a new field by dragging and dropping the new field into the ''Task Page Layout''. Modify the layout as required. Then save the new layout. Predefined fields (Label/Field Name = Parameter) include the following: * '''Due Date/ActivityDate''' - Interaction start time * '''Call Object Identifier/CallObject''' - [[#topic_reporting-reference-guide/GlobalInteractionIdentifier|Global interaction identifier]] * '''Call Type/CallType''' - Interaction type: ''Inbound'', ''Outbound'', or ''Internal'' * '''Call Duration/CallDurationInSeconds''' - Interaction duration (talk + hold time) in seconds * '''Call Result/CallDisposition''' - Interaction [[#topic_contact-center-administrator-guide/DispositionsTab|disposition]], if available * '''Comments/Description''' - Interaction [[#topic_agent-guide/HowtoEnterDispositionsandNotes|notes]] entered by the agent, if any * '''Subject/Subject''' - [[#topic_contact-center-administrator-guide/ServicesandCampaignsOverview|Service]] associated with the interaction, in format: ''SFDC object type: service name'' * '''Status/Status''' - Status: ''Completed'', ''Delivery Pending'', ''Not Started'', etc. * '''SPRecordingOrTranscriptURL__c''' (note that this is a custom field) - Interaction recording URL; clicking this URL will open the [[#topic_reporting-reference-guide/InteractionRecordsSearch|Interaction Records Search Results]] page of the Contact Center Administrator application with the record that has the recording/transcript of this interaction [[File:sfdc-integration-guide-image32.png|thumb|800px|center|]] Note that the activity history is added to the last record that the agent had open on Agent Desktop while finishing the call (or the related after-call work).
[[#topic_sfdc-integration-guide/ImportingCallingListsandExportingCampaignResults|< Previous]] | [[#topic_sfdc-integration-guide/ConfiguringSFDCDataScreen-popforOutboundPreviewCampaigns|Next >]]
= Configuring SFDC Data Screen Pop for Outbound Preview Campaigns= Screen pop is the feature that distributes specific data to agents' screens during interactions. When enabled for agents working with Salesforce.com (SFDC), screen pop literally "pops" SFDC data such as calling records to the Agent Desktop application of the agent, who then previews the information before beginning interactions. To configure SFDC data screen pop for an outbound preview campaign, follow these steps: * Before importing a calling list that will be used in this campaign, make sure it contains identifiers of the SFDC objects that are to be displayed in the Agent Desktop when the corresponding calling records are distributed to the agent for preview. These identifiers shall be obtained from Salesforce, where they are generated for every case, account, and contact. * When [[#topic_contact-center-administrator-guide/Lists|importing this calling list]], assign type ''Other'' to the field containing the SFDC identifier and give it a descriptive name (e.g., ''SalesforceID''). * When [[#topic_contact-center-administrator-guide/ServicesandCampaignsOverview|configuring the general properties of your preview campaign]], set the ''Screenpop URL'' parameter to ''$(workitem.otherInfo.[SFDC ID field name])''. For example, set it to ''$(workitem.otherInfo.SalesforceID)''. [[File:SFDC-preview-screenpop-config.PNG|thumb|600px|center|]]
[[#topic_sfdc-integration-guide/CustomizingSFDCActivityObjects|< Previous]] | [[#topic_sfdc-integration-guide/SearchingforacontactusingtheSalesforce.comSearchblock|Next >]]
= Searching for a contact using the Salesforce.com Search block= * Use '''Set Variable''' to clean the ANI from any meaningless symbols.
=replace("$(item.from)","^\\+*1","","")
[[File:sfdc-integration-guide-image34.png|thumb|800px|center|]] * Use '''Set Variable''' to set a value for the SFDCANI.
=replace("$(ANI)","(\\d{3})(\\d{3})(\\d{4})","%\\1%\\2%\\3%","")
[[File:sfdc-integration-guide-image35.png|thumb|800px|center|]] * Use the '''Salesforce.com Search''' block with the following query:
SELECT Id, Name, Account.Id FROM Contact WHERE Phone LIKE '$(SFDCANI)' or MobilePhone LIKE '$(SFDCANI)'
[[#topic_sfdc-integration-guide/ConfiguringSFDCDataScreen-popforOutboundPreviewCampaigns|< Previous]] | [[#topic_sfdc-integration-guide/Locatingorcreatingthescreen-popURLsforanSFDCObject|Next >]]
= Locating or Creating Screen Pop URLs for an SFDC Object= [http://www.brightpattern.com/cloud-contact-center/ SFDC integration] provides the ability to access defined Saleforce.com (SFDC) Objects as screen pop candidates through the use of the associated screen pop scenario block URL, which is typically supplied by the SFDC System Administrator; however, the following process is provided as an example of how to derive the SFDC Object screen pop URLs on your own. Bright Pattern Contact Center uses the [[3.14:scenario-builder-reference-guide/Salesforce.comScreenpop|Salesforce.com Screenpop]] scenario block to display SFDC records (objects) in the Agent Desktop application. This block not only allows the selection of an individual Object ID, but it will also accommodate SFDC URLs for screen pop objects. '''Note:''' The Object ID URL may differ between Service Cloud and Sales Cloud. Therefore, a single scenario may or may not work across the enterprise. [[File:sfdc-integration-guide-image36.png|thumb|800px|center|]] == Locating SFDC Screen-pop URLs for Sales Cloud == Utilizing Salesforce, perform the desired task manually that you wish to perform via the Screen-pop URL. For example, if you are interested in opening a new case from an account and a specific contact within Sales Cloud, you should proceed as follows: '''Step 1: Select a Sales Cloud account and create a new case.''' * From within Sales Cloud, select ''> Accounts''. * Scroll down to ''Contacts''. * Select a sample ''Contact''. * From the ''Contact'' record, scroll down to ''Cases'', and then select '''New Case'''. A new case record should open, as shown. [[File:sfdc-integration-guide-image37.png|thumb|800px|center|]] '''Step 2: Configure the URL that identifies the SFDC Object for screen pop.''' Copy the page URL as your starting reference: ''https://bpdemo-dev-ed.my.salesforce.com/500/e?retURL=%2F003E000000NoeJj&def_contact_id=003E000000NoeJj&def_account_id=001E000000NK3Pl'' The URL identifies the SFDC Object parameters required for your screen pop. The initial SFDC URL segment is not required (''https://bpdemo-dev-ed.my.salesforce.com/)'' and should be removed--the desktop integration will use the configured domain URL. The result is as follows: ''500/e?retURL=%2F003E000000NoeJj&def_contact_id=003E000000NoeJj&def_account_id=001E000000NK3Pl'' The Object parameters '''''contact_id''''' and '''''account_id''''' would be replaced by the scenario-defined objects/variables. For example: ''500/e?retURL=%2F003E000000NoeJj&def_contact_id='''$(SFContact.Id)'''&def_account_id='''$(SFContact.Account.Id)''''' Common ''Object ID identifiers'' (as identified by the three leading field characters) are as follows: * 001 = Account * 003 = Contact * 00T = Task Typically, the ''retURL'' or ''Return URL'' is not desired unless the requirement is to return to a specific object. By removing the ''Return URL'', the default action will be to return to the original work object. '''Remove:''' ''retURL=%2F003E000000NoeJj&'' '''Final URL:''' ''500/e?def_contact_id=$(SFContact.Id)&def_account_id=$(SFContact.Account.Id)'' This URL will be placed in the ''Screen pop Block Object ID''. [[File:sfdc-integration-guide-image38.png|thumb|800px|center|]] == Locating SFDC Screen Pop URLs for Service Cloud (Service Console) == Utilizing Salesforce, perform the desired task manually that you wish to perform via the Screen-pop URL. For example, if you are interested in opening a new case from an account and a specific contact within Service Cloud, you should proceed as follows. '''Step 1: Select a Service Cloud account and create a new case.''' * From within Service Cloud, select ''> Accounts''. * Scroll down to a specific account. * Select a sample account. * From the Account record selected, scroll down to ''Contacts''. * Select a sample contact with which to work. * From the ''Contact'' record, scroll down to ''Cases'', and then select '''New Case'''. A new Case record should open. To locate the behind-the-scenes URL, select the down arrow on the left side, as shown. [[File:sfdc-integration-guide-image39.png|thumb|800px|center|]] '''Step 2: Edit the new case.''' * Select '''New Case''' and click the '''edit''' link. This should result in the ''Link to Share'' dialog box. * In ''Link to Share'', three options are available: ** Include all primary tabs and subtitles ** Include only this tab ** Create standard Salesforce URL [[File:sfdc-integration-guide-image40.png|thumb|800px|center|]] '''Step 3: Configure the URL that identifies the SFDC Object for screen pop.''' Select “Include only this tab” to provide the simple URL for the screen pop described. Copy the page URL as your starting reference: ''https://bpdemo-dev-ed.my.salesforce.com/console#%2F500%2Fe%3Fdef_contact_id%3D003E000000NoeJk%26def_account_id%3D001E000000NK3Pm'' The URL identifies the SFDC Object parameters required for your screen pop. The initial SFDC URL segment is not required (''https://bpdemo-dev-ed.my.salesforce.com/)'' and should be removed--the desktop integration will use the configured domain URL. The result is: ''console#%2F500%2Fe%3Fdef_contact_id%3D003E000000NoeJk%26def_account_id%3D001E000000NK3Pm'' The Object parameters '''''def_contact_id''''' and '''''def_account_id''''' would be replaced by the scenario-defined objects/variables. The URI data format is as follows (for reference only): %3D = “=” %26 = “&” %2F = “/” %3F = “?” Thus the result would be the following: ''console#%2F500%2Fe%3Fdef_contact_id%3D'''$(SFContact.Id)'''%26def_account_id%3D'''$(SFContact.Account.Id)''''' Common Object ID identifiers (as identified by the three leading field characters) are as follows: * 001 = Account * 003 = Contact * 00T = Task This URL will be placed in the Screen-pop Block Object ID: [[File:sfdc-integration-guide-image41.png|thumb|800px|center|]]
[[#topic_sfdc-integration-guide/SearchingforacontactusingtheSalesforce.comSearchblock|< Previous]] | [[#topic_sfdc-integration-guide/EnablingtheServiceConsole(orServiceCloud)|Next >]]
= Preventing the Salesforce.com screen pops from opening another tab= = Enabling the Service Console (or Service Cloud)= * From ''Administrator'' (or ''Administration Setup''), select ''App Setup'' > ''Create'' > ''Apps''. * Create a new app or select an existing app, and check '''Console.''' [[File:sfdc-integration-guide-image43.png|thumb|800px|center|]]
[[#topic_sfdc-integration-guide/Locatingorcreatingthescreen-popURLsforanSFDCObject|< Previous]]
= Pausing and Resuming Recordings= SFDC integration provides an integrated Agent Desktop within your Salesforce environment. As such, the same agent and supervisor functionality found in the Agent Desktop application are available to users signed in to their Salesforce.com integration accounts. For more information on the various functions, controls, and capabilities of Agent Desktop, see the Bright Pattern Contact Center [[#topic_agent-guide/Purpose|Agent Guide]] and [[#topic_supervisor-guide/Purpose|Supervisor Guide]]. As part of Agent Desktop functionality, logged in supervisors may record the calls of agents on their teams. In addition, logged in supervisors with the privilege ''Monitor agent screen'' have the option to view screens of selected members of their team and monitor their desktop actions in real time. Furthermore, supervisors with the privilege ''Watch agent screen recordings'' may record the screen of a logged in agent who is currently in the ''Busy'' state (i.e., an agent who is handling an interaction). Supervisors may start, stop, or pause a screen recording at any time (see section ''Screen Monitoring Controls'' below). == Call Recording == === How to Start Recording === Click the '''Start Recording''' [[File:Supervisor-guide-image24.png|26px]] button. The button will change its function to '''Stop recording'''. === How to Pause Recording === Click the '''Pause Recording''' [[File:Pause-Screen-Recording.png|26px]] button. The button will change its function to '''Pause recording'''. === How to Stop Recording === Click the '''Stop recording''' [[File:Supervisor-guide-image25.png|26px]] button. Otherwise, the call recording will stop automatically when the call is released. == Screen Monitoring == === How to Begin Screen Monitoring === # Select the desired agent from the ''Agent Metrics View'' in the Agent Desktop widget. The ''Contact Info Panel'' will display the monitoring functions. # Click the '''See Screen''' button [[File:Supervisor-guide-image33.png|26px]]. A new window will open, showing you the desktop of the selected agent. Note that you can only continuously monitor a screen of one agent at a time. Thus, if you activate this function for another agent, monitoring of the originally selected agent will stop. === How to Pause Monitoring the Agent’s Screen === Occasionally you may wish to omit certain parts of an agent's activity from a screen recording, without stopping the recording entirely. Such a need may arise when agents are receiving sensitive data from customers, such as credit card numbers, social security numbers, and so forth. To pause monitoring and screen recording, click the '''Pause recording''' button [[File:Pause-Screen-Recording.png|26px]]. Clicking the '''Pause recording''' button again will resume the recording. The capability to pause a recording is enabled by the call center .XML definition file that was uploaded during Salesforce integration configuration. For more information, see section [[#topic_sfdc-integration-guide/InstallingaManagedPackage|Installing a Managed Package]]. [[File:Screen-Recording-Controls.png|450px|thumbnail|center|Screen recording controls are given at the top of the monitoring window]] === How to Stop Monitoring the Agent’s Screen === Simply close the browser window. = How to Remove SFDC Integration= Removing Salesforce.com (SFDC) integration involves deleting the Salesforce.com integration account from Bright Pattern's Contact Center Administrator application and, optionally, deleting the connected app from Salesforce.com. [[File:SFDC-Integration-Remove-316.PNG|650px|center|thumbnail|Salesforce.com integration account]] To remove the SFDC integration account, follow these steps: # Log in to the Bright Pattern Contact Center Administrator application.

# From the main menu, under ''Call Center Configuration'', select '''Integration Accounts'''.

# From the list of accounts, select the SFDC integration account you wish to remove.

# Click the '''X''' button at the bottom of the screen to remove the integration account.

# A dialog will open, asking you to confirm deletion. Click '''OK'''. For more information on integration accounts, see the ''Contact Center Administrator Guide'', section [[#topic_contact-center-administrator-guide/IntegrationAccounts|Integration Accounts]]. == Optional: Uninstall in Salesforce == # In Saleforce.com, navigate to ''Manage Connected Apps''. # Click the call center you wish to uninstall (i.e., "BrightPattern"). # Click '''Uninstall''' at the top of the ''Connected App Detail'' page to uninstall your connected app.
[[#topic_sfdc-integration-guide/PausingandResumingRecordings|< Previous]]