What's in it for you
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
- To follow this guide, switch to Salesforce Classic View if Lightning View is enabled
The quick way to awesomeness
Do this step by step
1. Configure CORS in Salesforce
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.
This will allow:
- 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.
- 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 Configure a Salesforce Instance.
- Enter a Description for your Salesforce Instance. 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.
- If you're using a custom domain to access Salesforce, like https://companyxyz.my.salesforce.com, enable Use a Custom Domain and enter companyxyz.
- Showpad user accounts can be automatically created when users log in for the first time with their Salesforce credentials. Learn more about the Auto-Provisioning option.
- Click Next and 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 and must be an active administrator in Showpad and Salesforce.
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. Your users will see a form when creating a new lead in Salesforce. You can configure the form in this screen. Repeat the steps for the Contacts form.
- Three fields are required. By default, Email, Last Name, and First Name are selected.
- Select the Fields you want to include.
- Rearrange the fields by clicking, holding and dragging a field to a different position in the list.
- 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.
- The last tab you will see is for enabling advanced logging to custom objects. Account and Opportunity will be selected by default, but by toggling this feature on you can indicate other relevant 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. Click the Groups with Access tab and select All Users or Selected groups.
- 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.
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.
For Internet Explorer users, please make sure you're working on IE11 or higher. 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.