How to Configure Collaboration Server to Connect to Salesforce

This note explains how to configure the Collaboration Server to connect to Salesforce in a similar way to connecting to Salesforce through exploratory.io.

This configuration will allow you to do the following

  • Import data from Salesforce into Exploratory Desktop connected to your Collaboration Server.
  • Schedule refreshing of imported data from Salesforce on your Collaboration Server.
  • On Dashboards hosted on your Collaboration Server, dynamically query data from Salesforce by changing values of Parameters.

Prerequisites

The prerequisites to connect to Salesforce with your Collaboration Server are as follows.

  • The Collaboration Server has a host name.
  • The Collaboration Server is set up with SSL (HTTPS).
  • The version of Collaboration Server must be 6.6.2 or above.
  • The version of Exploratory Desktop must be 6.6.2 or above.

Steps for Configuration

There are 3 steps in this configuration.

  • Configure SSL (If it is not done yet.)
  • Register your Collaboration Server to Google
  • Configure Collaboration Server

The following sections explains each step.

Configure SSL

Configure SSL (HTTPS) for the Collaboration Server following instructions in this note

Register your Collaboration Server to Salesforce

Just as exploratory.io connects to Salesforce services as a Salesforce App, Collaboration Server connects to Salesforce as an independent Salesforce App. Just as exploratory.io connects to Salesforce services as a Salesforce App, Collaboration Server connects to Salesforce as an independent Salesforce App, so this registration and configuration is necessary.

Open Salesforce Admin UI

From Quick Search, type in Application and select Application Manager.

In the Lightning Experience App Manager, click New Connection App.

Basic Information

Enter below items in Basic Information

  • Connected App Name: Any name
  • API Name: Any Name (By default, as same as the Connected App Name)
  • Contact Email: Any email.

API (Enable OAuth Settings)

Enable OAuth Settings

Check the checkbox

Callback URL

https://<Collaboration Server Host>/oauthcallback

Change <Collaboration Server Host> to your actual host name.

Selected OAuth Scopes

Select followings.

  • Access and manage your data (api)
  • Perform requests on your behalf at any time (refresh_token, offline_access)

Require Secret for Web Server Flow

Check the checkbox.

Require Secret for Refresh Token Flow

Check the checkbox

After entering these information, click the Save button.

Click the Continue button.

Then you can confirm the information in the below page.

You will see the following two strings of information, which will be required for later configuration, so make a note of them.

  • Consumer Key
  • Consumer Secret

IP Relaxation (Optional)

If you want to relax the access restriction by IP address, click Edit Policy.

Select Relax IP restrictions from IP Relaxation list.

Setup Collaboration Server

Locate docker-compose.yml file under the "exploratory" directory created by uncompressing the distribution file of Exploratory Collaboration Server.

In the docker-compose.yml file, add the following 3 items under the "environment" item list under the "exploratory" container configuration, as in the example screen shot.

  • EXPL_SALESFORCE_OAUTH_CLIENT_ID - The OAuth Consumer Key we just obtained.
  • EXPL_SALESFORCE_OAUTH_SECRET - The OAuth Consumer Secret
  • EXPL_OAUTH_CALLBACK_HOST - The host name used for the Collaboration Server

Example:

 exploratory:
    environment:
      EXPL_ADMIN_EMAIL: sample@yourcompany.com
      EXPL_ADMIN_FIRSTNAME: Admin
      EXPL_ADMIN_LASTNAME: User
            ... Other Settings ...
      EXPL_SALESFORCE_OAUTH_CLIENT_ID:  987654321 
      EXPL_SALESFORCE_OAUTH_SECRET: bbbbbbbbb
      EXPL_OAUTH_CALLBACK_HOST: yourcompany.com

Now, restart Collaboration Server, and you can start accessing Salesforce from the Exploratory Desktop connected to your Collaboration Server.