= Purpose=
The ServicePattern [http://www.brightpattern.com/call-center-software/salesforce-integration/ Salesforce.com CTI Integration] Guide provides detailed instructions for setting up your ServicePattern 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.
= Audience=
This guide is intended for the IT/technical personnel responsible for the data infrastructure of the contact centers that use ServicePattern solutions for customer interaction processing and the SFDC solution for customer relationship management. Readers of this guide are expected to have expertise and experience in administration of the above systems as well as solid understanding of contact center operations and resources that are involved in such operations.
= Integration Scope=
The scope of [http://www.brightpattern.com/call-center-software/salesforce-integration/ Salesforce integration] discussed in this guide includes the following elements:
* ServicePattern 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 ServicePattern 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|]]
* Availability of interaction-processing details in the SFDC Reports (see 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 (identified by the click-to-call icon).
[[File:sfdc-integration-guide-image5.png|thumb|800px|center|]]
= Prerequisites=
To deploy the managed app in an SFDC environment, you must have “Production” level login credentials. To verify the “Production” level credentials for proper permissions, login with your existing credentials to:
https://login.salesforce.com/
::'''Note:''' If you are unable to log into Salesforce directly, please contact your SFDC system administrator to review permission and access level settings.
For most types of integration described in this document, ServicePattern version 3.6 or later is required. For import of calling lists and export of campaign results, ServicePattern version 3.10 or later is required.
= Installing a Managed Package=
Follow these instructions to install the managed app from the salesforce AppExchange:
https://appexchange.salesforce.com/listingDetail?listingId=a0N3000000B5D1pEAF
Installation can be performed in either a sandbox or production environment with proper permissions.
= Configuring Call Center Parameters=
'''Step 1.''' In Salesforce, from ''Setup'', click ''Customize'' > ''Call Center'' > ''Call Centers'' > ''Manage Call Centers.'' If the ''Introducing Salesforce CRM Call Center'' splash page appears, click ''Continue''.
'''Step 2.''' Click ''Edit “BrightPattern Integration”'' (this is one of the apps deployed with the package).
[[File:sfdc-integration-guide-image6.png|thumb|800px|center|]]
'''Step 3.''' In Call Center Details, modify the following ServicePattern Agent Desktop URL by replacing ''<tenant-name>.<service-provider-domain-name>'' with your ServicePattern tenant access URL (see example):
''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
'''Step 4.''' In Call Center Details, modify the Tenant URL by replacing ''example.com'' with your fully qualified tenant URL (e.g., ''example.brightpattern.com'')
'''Step 5.''' Make sure that Outside Prefix is set accordingly to the current Dial-out entry in the Service Pattern tenant configuration. This prefix will be added by Salesforce to any number that going to be dialed using the “Click-To-Call” feature.
'''Step 6.''' Assign SFDC users to the call center.
1. From ''Setup'', click ''Customize'' > ''Call Center'' > ''Call Centers''.
2. Click the name of the call center to which you want to assign users.
3. In the Call Center Users related list, click ''Manage Call Center Users''.
4. Click ''Add More Users''.
5. Specify criteria to find the users who should be assigned to the call center.
6. Click ''Find''. Note that all users who already belong to a call center will be excluded from the search results because a user can only be assigned to one call center at a time.
7. Select the checkbox next to each user who should be assigned to the call center and click ''Add to Call Center''.
::'''Note:''' To re-assign 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.''' Return to the newly created Call Center; the result should be similar to the one shown below.
[[File:sfdc-integration-guide-image7.png|thumb|800px|center|]]
= Enabling Single Sign-On=
'''Step 1.''' Enable the organizational domain. For more information, see http://help.salesforce.com/apex/HTViewHelpDoc?id=domain_name_setup.htm&language=en_US
Registration of the domain may take up to 24 hours.
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.
Go to ''Administration Setup > Manage Apps > Connected Apps > BrightPattern''
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
[[File:sfdc-integration-guide-image8.png|thumb|800px|center|]]
Click ''Save''
'''Step 3.''' User Profiles (Login Mapping – Custom Attribute)
The SFDC Single Sign-On integration requires User Profiles assigned for users that are going to utilize ServicePattern and be authenticated by the SFDC Identity Provider. The following process maps the Single Sign-On parameters to the ServicePattern login ID.
Go to ''Administration Setup > Manage Apps > Connected Apps > BrightPattern'', select BrightPattern, scroll down to Custom Attributes and click ''edit'':
[[File:sfdc-integration-guide-image9.png|thumb|800px|center|]]
ServicePattern 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.''' Setup the “Single Sign-On” integration with ServicePattern.
The ServicePattern 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.
Open the ServicePattern Contact Center Administrator application, select ''Configuration'' > ''Call Center Configuration > Integration Accounts'' and click “+” to create a new Integration Account.
[[File:Sfdc-integration-guide-image10.PNG|thumb|800px|center|]]
* Specify an account name
* Provide the SFDC Identity Provider Certificate:
Open ''Administer (or'' ''Administration'' ''Setup)'', select ''Security Controls'' | ''Certificate and Key Management'' and 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-----'') and paste into the Salesforce Integration Account on ServicePattern.
[[File:sfdc-integration-guide-image11.png|thumb|800px|center|]]
* Provide the Identity provider initiated login URL:
From ''Administer (or'' ''Administration'' ''Setup)'', select ''Manage Apps'', click ''Connected Apps'' and select the App created earlier''.'' Copy the full URL from the ''Login Information > 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, for example: ''https://<your-sf-domain>.salesforce.com...)''
[[File:sfdc-integration-guide-image12.png|thumb|800px|center|]]
Paste the copied Login URL (full URL) into the Salesforce Integration Account on ServicePattern.
= Enabling Access to SFDC Data from Scenarios=
The server-side integration is implemented using SFDC web services via the SFDC REST API (http://wiki.developerforce.com/page/REST_API).
ServicePattern 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.
'''Step 1.''' Create a new Connected App. Open ''Build (or App Setup)'', select ''Create'' | ''Apps | Connected Apps'' and Click ''New''
The following details shall be provided to configure the Connect App:
Basic Information:
* ''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
[[File:sfdc-integration-guide-image13.png|thumb|800px|center|]]
API (Enable OAuth Settings):
* Check: ''API (Enable OAuth Settings) > Enable OAuth Settings''
* ''Callback URL:'' https://<your-brightpattern-domain>:8443/admin/salesforcecallback.html
* Select ''Available OAuth Scopes:''
# Access and manage your data (api)
# Full access (full)
# Perform requests on your behalf at any time (refresh_token, offline_access)
[[File:sfdc-integration-guide-image14.png|thumb|800px|center|]]
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 2.''' Update the earlier created ServicePattern Integration Account. From the ServicePattern Contact Center Administrator application, open ''Configuration'' > ''Call Center Configuration > Integration Accounts > Salesforce.com'', and use the consumer key and consumer secret obtained from the App Created above. From ''App Setup'', select ''Apps'', click ''Connected Apps'' and select the App created earlier:
* Copy the ''Consumer key'' and ''Consumer secret''
Available directly from the created SFDC Connected App, paste into the ServicePattern Integration Account:
[[File:sfdc-integration-guide-image15.png|thumb|800px|center|]]
* ''Authentication API URL:'' [https://na11.salesforce.com/services/oauth2/token https://<your-sf-domain>.salesforce.com/services/oauth2/token] (replace ''<your-sf-domain>'' with the domain details of your SFDC instance and update in the ServicePattern Integration Account).
[[File:sfdc-integration-guide-image16.PNG|thumb|800px|center|]]
'''Step 3.''' Update the Security Profile to include the new Connected App. From ''Administer (or'' ''Administration'' ''Setup)'', select ''Manage Users'' | ''Profiles'' and click ''System Administrator.'' Click ''Edit. ''
* ''Connected App Access:'' Check the ''Connected App'' created earlier
[[File:sfdc-integration-guide-image17.png|thumb|800px|center|]]
Click ''Save''
'''Step 4.''' Update the ServicePattern Contact Center Administrator application, select ''Configuration'' > ''Call Center Configuration > Integration Accounts > Salesforce.com'', and specify the following data:
* Fill the parameters and press the ''Request token'' button.
* 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
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.
[[File:sfdc-integration-guide-image18.PNG|thumb|800px|center|]]
'''Step 5.''' Use the following scenario blocks 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
* [[#topic_scenario-builder-reference-guide/AttachedData|Attached Data]] to populate custom fields in SFDC activity history (see below)
ServicePattern provides a [[#topic_contact-center-administrator-guide/Voice|scenario template]] for a simple inbound workflow involving look-ups and screenpop of SFDC data.
= Importing Calling Lists and Exporting Campaign Results=
You can import calling lists for your outbound campaigns directly from 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, integration steps 1 through 4 of section [[#topic_sfdc-integration-guide/EnablingAccesstoSFDCDatafromScenarios|Enabling Access to SFDC Data from Scenarios]] must be completed first.
'''To import list data from SFDC, follow these steps:'''
'''Step 1.''' In 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.''' 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.''' Edit the list fields as may be necessary. For more information, see section [[#topic_contact-center-administrator-guide/Lists|Lists]] of the ''ServicePattern Contact Center Administration Guide''. Note that SFDC object identifiers will be used as keys for list record identification; thus field ''ID'' will be automatically marked as a required field.
Click ''Next''.
[[File:sfdc-integration-guide-image27.PNG|thumb|800px|center|]]
'''Step 4.''' 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:''' 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 ServicePattern 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.
'''To export campaign results to SFDC, follow these steps:'''
'''Step 1.''' 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]], and click the ''add'' link under the ''Periodic Salesforce.com Export Jobs''.
::'''Note:''' There is no dependency between data export and import. Export to SFDC can be configured for any campaign regardless of where its data is imported from.)
'''Step 2.''' Define the general parameters of the export job, select the ''Salesforce.com integration account'', and specify the type of ''Salecorce.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.
[[File:sfdc-integration-guide-image29.PNG|thumb|800px|center|]]
'''Step 4.''' 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.
= Customizing SFDC Activity Objects=
The Salesforce 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 the sales rep has taken in working that lead -- emails sent, calls made, etc. In addition to the pre-defined Activity History Objects, these fields can also be extended with customized activities to track against objects.
To customize an Activity Object follow these steps:
'''Step 1.''' 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 ServicePattern scenario block ''Attached Data.''
EXAMPLE: to populate Custom Activity field '''XXXX''' it is required to have a Scenario Block Attached Data '''XXXX__c'''
Sample of the predefined Recording URL (Custom Activity Field), 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.
[[File:sfdc-integration-guide-image31.png|thumb|800px|center|]]
::'''Note:''' To populate regular (not custom) Activity Fields with any data from the scenario, just use the field name without the “__c” suffix
'''Step 2.''' 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 include (Label/Field Name = Parameter):
* Due Date/ActivityDate = Calendar Date of Activity
* Call Object Identifier/CallObject = SFDC Call Center Name
* Call Type/CallType = Transaction Direction: ''Inbound, Outbound, Internal, etc.''
* Call Duration/CallDurationInSeconds = ServicePattern Transaction Talk time (seconds)
* Call Result/CallDisposition = ServicePattern Disposition
* Comments/Description = ServicePattern Notes
* Subject/Subject = ServicePattern Service, format: ''SFDC Contact or Call Type: ServicePattern Service Name''
* Status/Status = Transaction Status: ''Completed, Delivery Pending, Not Started, etc.''
* Custom Field:
** SPRecordingOrTranscriptURL__c = ServicePattern Interaction Recording URL
[[File:sfdc-integration-guide-image32.png|thumb|800px|center|]]
Note that the activity history is added to the last record the agent had open on his desktop while finishing the call (or the related after-call work).
= Configuring SFDC Data Screen-pop for Outbound Preview Campaigns=
To configure SFDC Data Screen-pop for Outbound Preview Campaigns:
* In the Contact Center Administrator application, select the desired preview campaign from the list of [[#topic_contact-center-administrator-guide/ServicesandCampaignsOverview|Services and Campaigns]], and click the [[#topic_contact-center-administrator-guide/OutboundTab|Outbound tab]].
* Set the ''Screen-pop URL'' parameter to ''$(item.otherInfo.SalesforceID)'', where SalesforceID is the desired List field name being referenced.
* In the [[#topic_contact-center-administrator-guide/Lists|calling list(s)]] associated with this campaign, create a new List field designated as ''SalesforceID''.
* For each calling record of the list, use the ''SalesforceID'' field (or desired field name) to specify the identifier of the SFDC object that is to be displayed at the Agent Desktop when this record is distributed to the agent for Preview Campaigns. This field identifier will originate from SFDC; every SFDC record/entry has an ID field that uniquely identifies that record.
SFDC objects of the following types can be used: Cases, Accounts, and Contacts.
The ''Salesforce ID'' (field identifier) or each record will be posted to SFDC via the Preview Screen-Pop URL.
[[File:sfdc-integration-guide-image33.png|thumb|600px|center|]]
= 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)'
= Locating or creating the screen-pop URLs for an SFDC Object=
The [http://www.brightpattern.com/cloud-contact-center/ SFDC integration] provides the ability to access defined SFDC Objects as screen-pop candidates through the use of the associated screen-pop Scenario Block URL – typically supplied by the SFDC System Administrator; however, the following process is a single sample to derive the SFDC Object screen-pop URLs on your own.
ServicePattern uses the Salesforce.com Screen-pop scenario block to display SFDC records (objects) on the Agent Desktop. This block not only allows the selection of an individual Object ID, but will also accommodate SFDC URLs for screen-pop objects.
::'''Note:''' The Object ID URL may differ between Service Cloud and Sales Cloud, thus 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, I’m interested in opening a new case from an Account and a specific Contact within Sales Cloud. From within Sales Cloud, select > Accounts, then 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:
[[File:sfdc-integration-guide-image37.png|thumb|800px|center|]]
Copy the page URL as our 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:
''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 3 leading field characters):
* 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, I’m interested in opening a new case from an Account and a specific Contact within Service Cloud. From within Service Cloud, select > Accounts, then scroll down to a specific Account. Select a sample Account. From the Account record selected, scroll down to Contacts, then select a sample Contact to work with. 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 below):
[[File:sfdc-integration-guide-image39.png|thumb|800px|center|]]
Select “New Case”, edit link. This should result in the “Link to Share” dialog box.
[[File:sfdc-integration-guide-image40.png|thumb|800px|center|]]
Three options are available:
* Include all primary tabs and subtitles
* Include only this tab
* Create standard Salesforce URL
Select “Include only this tab” to provide the simple URL for the screen-pop described.
Copy the page URL as our 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:
''console#%2F500%2Fe%3Fdef_contact_id%3D'''$(SFContact.Id)'''%26def_account_id%3D'''$(SFContact.Account.Id)'''''
Common Object ID identifiers (as identified by the 3 leading field characters):
* 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|]]
= Preventing the Salesforce.com screenpops from opening another tab=
From ''Administrator'' (or ''Administration Setup''), select ''Customize'' and click ''Call center.'' Select ''Softphone Layouts.'' Click ''Edit.'' Select the desired option for ''Screen Pop Settings: Screen pops open within…''
[[File:sfdc-integration-guide-image42.png|thumb|800px|center|]]
= 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|]]