Integrate Showpad activities for Salesforce Experience Cloud Updated July 03, 2024 15:54 With Showpad's Salesforce integration, users can significantly reduce their administrative tasks. In Salesforce, we first allow requests coming from the Showpad domain. Then, we configure the Salesforce Integration in Showpad. You need this to succeed Active Admin privileges on both the Showpad and Salesforce platforms Showpad Ultimate plan Salesforce Enterprise or Unlimited plan Select your Salesforce Experience Classic Lightning See how it's done on Salesforce Classic Configure CORS in Salesforce Classic Setup a Salesforce instance in Showpad Basic troubleshooting Do this step by step 1. Configure CORS in Salesforce Classic Communities The first step in configuring the Salesforce integration is to allow requests coming from the Showpad domain. Salesforce allows its customers to control which websites are allowed to use the Salesforce API. This helps keep your Salesforce instance secure by only allowing requests from known sites and denying all others. This setting is called CORS (Cross-Origin Resource Sharing) and configuration is required for Showpad to integrate with Salesforce. The instructions below show how a Salesforce Admin can enable our Showpad domain to make requests to your Salesforce instance. If you've already done this when setting up your standard Showpad and Salesforce integration, you don't need to do it again. Setting this up allows: Showpad to create a Salesforce Activity whenever a user in the Showpad app or the Web App shares content with a prospect or customer. Showpad to create a Salesforce Event whenever a user on any mobile app wants to log a meeting to Salesforce. Go to the Setup page in Salesforce.com as a Salesforce admin. In the left menu, search for CORS. You can also manually select Security Controls > CORS. Add a New Whitelisted Origin. Add https://*.showpad.biz and click Save. Note: If the permission Modify All Data is disabled in Salesforce, we will inform you on Showpad's Online Platform that we could not verify the CORS configuration. You will still be able to continue setting up the integration when you see this warning. Back to Top 2. Setup a Salesforce instance in Showpad To connect Salesforce and Showpad, you need to set up your Salesforce instance(s) in Showpad. You can configure multiple Salesforce instances if your company uses more than one.Open the Showpad Online Platform and log in with your Administrator credentials. In Settings, select CRM under the Integrations section, then select Connect to CRM. Enter an Alias for your CRM Configuration. If you're planning to set up multiple Salesforce instances, be sure to choose appropriate names for each instance to make it easier to identify them. For example, it may be useful to name this instance Salesforce Experience Cloud. Select the Salesforce CRM type from the drop down menu. Choose the connection type: Production or Sandbox. Enter a Domain name for your Salesforce Instance. If you're using a custom domain to access Salesforce, like https://companyxyz.my.salesforce.com, enable Use a Custom Domain and enter companyxyz. By leaving this field blank, users will connect via https://login.salesforce.com If this connection is meant for a Digital Experience site (used, e.g., for selling partners), enable the ‘Is Digital Experience’ checkbox and enter the Site URL found in Salesforce under Digital Experiences > Sites. Click Connect to Salesforce. You'll need to enter your Salesforce credentials now. This login will be used as an Integration user to connect with Salesforce. If the user that is used to configure this integration is not a full admin, the following permissions are needed:System settings API Enabled Edit Tasks Edit Events View Roles and Role Hierarchy View Setup and Configuration Object settings Read/Create/Edit for Leads, Contacts, Opportunities, Accounts objects. Read/Create/Edit/Delete for Showpad Activities, Showpad Activities Items, Showpad Content & Showpad Content Views objects. The integration works with a server to server communication. The outcome of this is that the originating IP address will not be the company's IP range or IP address, but a Showpad IP address. If you use IP restrictions, we advise reading our OAuth app recommendations.After logging in, the Showpad Online Platform will reopen. After logging in, the Showpad Online Platform will reopen. You will see a message when you've successfully connected your CRM instance. Now, navigate to the Digital Experience URL field and click Edit. Enter the Experience Cloud Site login URL. This can be found in Salesforce by going to Setup, Digital Experiences, then All Sites. Click Save when done. Next, select which contacts users can view in the Filters tab. In the CRM data to Showpad section, click Edit. Choose if users can view All Contacts from the Salesforce instance or Only user's contacts, meaning only contacts they own. Click Save. You can now enable Content Recommendations for your sales colleagues. Refer to this page if you want more information. To use this feature, you will need to install the Showpad for Salesforce app via Salesforce's AppExchange. Click Save. To enable advanced logging to custom objects, navigate to the Showpad data to CRM section and click Edit. Account and Opportunity will be selected by default, and you can check other boxes to indicate other relevant custom objects for the “Related To” field. This allows your users to relate shares to objects other than accounts or opportunities when logging tasks. In Salesforce, the custom object needs to have the Allow Activities box checked in the Optional Features section. Select the custom objects you want to log activity against then click Save. The list you see has the same objects that are available in the connected SFDC’s instance in the Related To field of a Task. Users are not able to log meetings to a custom object. It is possible to control which user groups can log activity to the Salesforce integration. When enabled, these users can log activities, as well as access sharing insights and content recommendations using the Showpad Insights app in Salesforce.In the Admin Settings, click Features from the left side menu. Scroll to Salesforce Activity Logging, and select All Users or Select Groups. If desired, choose which groups you wish to have access to, then click Apply. When a Share is logged, you'll see the email body and a link to view the Share as the recipient in the comments of the Task Information. Depending on how your settings are configured, it will look similar to this for your users. Back to Top 3. Basic Troubleshooting OAuth authentication error The Showpad and Salesforce integration works with a server to server communication. A consequence of this is that the originating user IP address will be changed with Showpad's address during the login process. In cases where Login IP ranges are used, or when users experience OAuth sign-in errors, we recommend changing the settings in the OAuth app from Enforce IP restrictions to Relax IP restrictions. The Relax IP restrictions setting allows users to run the connected Showpad app without IP restrictions. You can find these settings in the Salesforce Administer section. Open the Connected Apps OAuth Usage options in the Manage Apps tab. Find the Showpad Salesforce Integration app and click Install. In the Connected Apps tab, you can see the OAuth policies and change Enforce IP restrictions to Relax IP restrictions. Salesforce connection is not working on the Web app Make sure you are working on a browser that fully supports HTML, for a full overview of our browser requirements, click here.Please make sure that in the Security settings, you have the miscellaneous option set to enable for both internet and intranet. If this is not the case, Internet Explorer will not allow the Showpad page to connect to the Salesforce domain and get the contacts and leads data. Go to Settings, Internet Options, Security. You should see an Internet icon, make sure it is selected. If they are using Local intranet, make sure to apply the same change there as well. Choose Custom. Scroll until you find the below, make sure Access data sources across domains is enabled Apply and save. Make sure to apply the same settings for their Local intranet as well. You will also have to make sure you have your CORS set-up in your Salesforce instance. XMLHttpRequest cannot load, the Response has status code 401 To make Salesforce API calls we need a valid access token. The access token is obtained on the Showpad servers and not in the user's browser. If the Salesforce setting "locks the session to the IP address" is activated, it means that we can only send api calls from the Showpad servers, because we requested the Salesforce token on our servers. Using that access token on a different IP address (your browser), it will not work due to this Salesforce setting. If you switch off this setting, the access token can be used in the browser as well and you'll be able to make Salesforce requests in the Web app.Note that the mobile apps don't use our servers to request a new access token, so they don't have this issue. See how it's done on Salesforce Lightning Configure CORS in Salesforce Lightning Setup a Salesforce instance in Showpad Basic troubleshooting Do this step by step 1. Configure CORS in Salesforce Lightning The first step in configuring the Salesforce integration is to allow requests coming from the Showpad domain. Salesforce allows its customers to control which websites are allowed to use the Salesforce API. This helps keep your Salesforce instance secure by only allowing requests from known sites and denying all others. This setting is called CORS (Cross-Origin Resource Sharing) and configuration is required for Showpad to integrate with Salesforce. The instructions below show how a Salesforce Admin can enable our Showpad domain to make requests to your Salesforce instance. If you've already done this when setting up your standard Showpad and Salesforce integration, you don't need to do it again. This allows: Showpad to create a Salesforce Activity whenever a user in the Showpad app or the Web App shares content with a prospect or customer. Showpad to create a Salesforce Event whenever a user on any mobile app wants to log a meeting to Salesforce. Go to the Setup page in Salesforce.com as a Salesforce admin. In the left menu, search for CORS. You can also manually select Security Controls > CORS. Add a New Whitelisted Origin. Add https://*.showpad.biz and click Save. Note: If the permission Modify All Data is disabled in Salesforce, we will inform you on Showpad's Online Platform that we could not verify the CORS configuration. You will still be able to continue setting up the integration when you see this warning. Back to Top 2. Setup a Salesforce instance in Showpad To connect Salesforce and Showpad, you need to set up your Salesforce instance(s) in Showpad. You can configure multiple Salesforce instances if your company uses more than one.Open the Showpad Online Platform and log in with your Administrator credentials. In Settings, select CRM under the Integrations section, then select Connect to CRM. Enter an Alias for your CRM Configuration. If you're planning to set up multiple Salesforce instances, be sure to choose appropriate names for each instance to make it easier to identify them. For example, it may be useful to name this instance Salesforce Experience Cloud. Select the Salesforce CRM type from the drop down menu. Choose the connection type: Production or Sandbox. Enter a Domain name for your Salesforce Instance. If you're using a custom domain to access Salesforce, like https://companyxyz.my.salesforce.com, enable Use a Custom Domain and enter companyxyz. By leaving this field blank, users will connect via https://login.salesforce.com If this connection is meant for a Digital Experience site (used, e.g., for selling partners), enable the ‘Is Digital Experience’ checkbox and enter the Site URL found in Salesforce under Digital Experiences > Sites. Click Connect to Salesforce. You'll need to enter your Salesforce credentials now. This login will be used as an Integration user to connect with Salesforce. If the user that is used to configure this integration is not a full admin, the following permissions are needed:System settings API Enabled Edit Tasks Edit Events View Roles and Role Hierarchy View Setup and Configuration Object settings Read/Create/Edit for Leads, Contacts, Opportunities, Accounts objects. Read/Create/Edit/Delete for Showpad Activities, Showpad Activities Items, Showpad Content & Showpad Content Views objects. The integration works with a server to server communication. The outcome of this is that the originating IP address will not be the company's IP range or IP address, but a Showpad IP address. If you use IP restrictions, we advise reading our OAuth app recommendations.After logging in, the Showpad Online Platform will reopen. After logging in, the Showpad Online Platform will reopen. You will see a message when you've successfully connected your CRM instance. Now, navigate to the Digital Experience URL field and click Edit. Enter the Experience Cloud Site login URL. This can be found in Salesforce by going to Setup, Digital Experiences, then All Sites. Click Save when done. Next, select which contacts users can view in the Filters tab. In the CRM data to Showpad section, click Edit. Choose if users can view All Contacts from the Salesforce instance or Only user's contacts, meaning only contacts they own. Click Save. You can now enable Content Recommendations for your sales colleagues. Refer to this page if you want more information. To use this feature, you will need to install the Showpad for Salesforce app via Salesforce's AppExchange. Click Save. To enable advanced logging to custom objects, navigate to the Showpad data to CRM section and click Edit. Account and Opportunity will be selected by default, and you can check other boxes to indicate other relevant custom objects for the “Related To” field. This allows your users to relate shares to objects other than accounts or opportunities when logging tasks. In Salesforce, the custom object needs to have the Allow Activities box checked in the Optional Features section. Select the custom objects you want to log activity against then click Save. The list you see has the same objects that are available in the connected SFDC’s instance in the Related To field of a Task. Users are not able to log meetings to a custom object. It is possible to control which user groups can use the Salesforce integration. In the Admin click Features from the leftside menu. Scroll down to Salesforce Connection, and select All Users, or Select Groups. If desired, choose which groups you wish to have access, then click Apply. When a Share is logged, you'll see the email body and a link to view the Share as the recipient in the comments of the Task Information. Depending on how your settings are configured, it will look similar to this for your users. Back to Top 3. Basic Troubleshooting OAuth authentication error The Showpad and Salesforce integration works with a server to server communication. A consequence of this is that the originating user IP address will be changed with Showpad's address during the login process. In cases where Login IP ranges are used, or when users experience OAuth sign-in errors, we recommend changing the settings in the OAuth app from Enforce IP restrictions to Relax IP restrictions. The Relax IP restrictions setting allows users to run the connected Showpad app without IP restrictions. You can find these settings in the Salesforce Administer section. In Setup, search Connected Apps. Open the Connected Apps OAuth Usage options in the Manage Apps tab. Find the Showpad Salesforce Integration app and click Install. From the Connect Apps OAuth Usage list, click Manage App Policies. Click Edit Policies. Click the IP Relaxation drop down menu, then change Enforce IP restrictions to Relax IP restrictions. Click Save. Salesforce connection is not working on the Web app Make sure you are working on a browser that fully supports HTML, for a full overview of our browser requirements, click here.Please make sure that in the Security settings, you have the miscellaneous option set to enable for both internet and intranet. If this is not the case, Internet Explorer will not allow the Showpad page to connect to the Salesforce domain and get the contacts and leads data. Go to Settings, Internet Options, Security. You should see an Internet icon, make sure it is selected. If they are using Local intranet, make sure to apply the same change there as well. Choose Custom. Scroll until you find the below, make sure Access data sources across domains is enabled Apply and save. Make sure to apply the same settings for their Local intranet as well. You will also have to make sure you have your CORS set-up in your Salesforce instance. XMLHttpRequest cannot load, the Response has status code 401 To make Salesforce API calls we need a valid access token. The access token is obtained on the Showpad servers and not in the user's browser. If the Salesforce setting "locks the session to the IP address" is activated, it means that we can only send api calls from the Showpad servers, because we requested the Salesforce token on our servers. Using that access token on a different IP address (your browser), it will not work due to this Salesforce setting. If you switch off this setting, the access token can be used in the browser as well and you'll be able to make Salesforce requests in the Web app.Note that the mobile apps don't use our servers to request a new access token, so they don't have this issue. Navigate to Session Settings and ensure the box for Lock sessions to the IP address from which they originated is unchecked. Related articles Showpad insights app for Salesforce Experience Cloud Showpad support for Salesforce Experience Cloud Guide to connecting Salesforce and Showpad instances Setting up auto-provisioning for Salesforce users Configure the Showpad Web Tab in Salesforce Experience Cloud