Salesforce Integration
Customer IT / SpaceIQ Onboarding Team
Salesforce is an enterprise-grade customer-relationship management service that also supports marketing automation, analytics, and application development. It can be extended with custom ticketing functionality.
SpaceIQ (SiQ) has built a custom integration using Salesforce's API interfaces to let SiQ planners push Move information to Salesforce (only "Now" Moves, not future Moves). Also, the Move Plan's Undo feature will remove the moves from Salesforce.
Prerequisites
You will need Salesforce admin privileges to complete this integration and for the SiQ setup, you must have a SiQ Admin or an IT role.
Integration Activities
Step 1. Active the Salesforce Integration in SiQ
From the SiQ Web App, complete the following:
- Click your Profile Name in the top right corner.
- Click Settings. The Settings screen displays.
- From the left menu, click Integrations.
- From the Third Party Integrations area, click the READ MORE link. The Integrations screen displays.
You can either search for Salesforce in the Search field or navigate to the Salesforce tile. To navigate complete the following:
- From the left menu, click Ticketing.
- For Salesforce, click the Activate button.
The Salesforce dialog displays and it contains the Ticketing Integration tab.
Ticketing Integration Tab
Complete the following fields and note that each field has its own explanation of where the value is found in Salesforce.
- Salesforce account username (required) - Your API Only User's username.
- Salesforce account password (required) - The password associated with the API Only User.
- Salesforce API client secret (required) - Also called the Consumer Secret. See the section below called Located Client ID and Client Secret for more instructions on locating this value.
- Salesforce client id (require) - Also called the Consumer Key. See the section below called Locate Client ID and Client Secret for more instructions on locating this value.
- Salesforce domain name (required) - This is taken from the URL that is found in your browser when you are logged in to your company's account in Salesforce. For example, https://mycompany.salesforce.com/.
Step 2. Set up Salesforce
For all of these steps, we will be using the Salesforce Classic interface. Instructions will be different if you are using Lightning. We recommend switching to Classic at least temporarily if you are having trouble in Lightning.
Where Salesforce's documentation is adequate, we will refer you to their support material. Where it is not, we will fill in the blanks in this article.
Step 2.1 Set up an API Only Profile
We recommend you create an API-only integration user inside Salesforce which can be used to share information with SiQ.
First, set up an API only profile, which you will later assign to the user.
Salesforce Documentation
- Information about profiles within Salesforce.
- Instructions on how to create a custom profile.
Make sure that the API Only User option is checked when creating your custom profile.
Step 2.2 Create a User and Assign the API Profile
The API-only integration user must be created by a Salesforce System Administrator.
The integration user's credentials will be used by all users in your SiQ organization. An Admin User can also be used instead of an API-only user for this purpose, but it is recommended practice to limit role permissions to only those functions actually required by the role.
Salesforce Documentation
- Instructions on how to create a secure Salesforce API user.
When you are done you can use this newly created integration user account - under the API Only profile - to initialize the connection between SiQ and Salesforce.
Step 2.3 Custom Case Fields
In order for ticketing to work properly, custom fields must be set up in Salesforce (inside cases). These fields will be populated by SiQ while propagating tickets to Salesforce.
Log in to Salesforce as an admin.
Click on the Setup link in the top right corner.
On the left side of the screen you'll need to scroll down until you see the Build section [1].
Click on Customize [2] to expand it.
There you'll look for Cases [3], and finally Fields [4].
On the Case Fields page, scroll down until you see the Case Custom Fields & Relationships header [1].
Click on the New button [2] to continue.
On the next screen, you'll first need to select a field Data Type.
Look at the table below in the Data Type column when making your Data Type selection.
Choose either Text [1] or Text Area (Long) [2] depending on which row you are creating.
You will need to repeat this process for each row in the table below.
Click the Next button [3] to continue.
Then enter the rest of the values from the table in their appropriate locations.
Field Label | Field Name | External ID | Length | Data Type |
---|---|---|---|---|
ExternalID |
ExternalID |
checked |
255 |
Text |
Department |
Department |
unchecked |
255 |
Text |
Team |
Team |
unchecked |
255 |
Text |
CurrentSeat |
CurrentSeat |
unchecked |
255 |
Text |
NewSeat |
NewSeat |
unchecked |
255 |
Text |
EmployeeAssets |
EmployeeAssets |
n/a |
1,024 |
Text (Long) (visible lines 2) |
EmployeeNotes |
EmployeeNotes |
n/a |
1024 |
Text (Long) (visible lines 2) |
When you are all done, you should see all seven of the custom case fields in your Case Custom Fields & Relationships list.
Step 2.4 Create a New Connected App
Navigate to the Setup screen in Salesforce as described above, and look for the Build section on the left [1]. Expand the Create menu [2] and click on Apps [3]:
On the Apps page, scroll down until you see the Connected Apps section [1].
Click on the New button[2].
On the Connected App creation screen, you will need to provide any name in the Connected App Name field [1].
The API Name [2] can be the same, and should auto-populate.
Enter an appropriate contact email [3] for whoever in your organization manages your integrations.
Check the box for Enable OAuth Settings [4] and enter https://api.spaceiq.com for the Callback URL value [5].
Select Full access (full) in the list of Available OAuth Scopes [6], then click the Add arrow icon [7] so that selection appears in the list of Selected OAuth Scopes [8].
Finally, uncheck the Required Server for Web Server Flow check box [9].
When all that is done you can scroll to the very bottom and click the Save button.
After your connected app has been successfully created, go back to your list of Connected Apps. You may need to wait 2-10 minutes for the new connected app to be functional.
Step 2.5 Locate Client ID and Client Secret
After you create a Connected App in Salesforce as described above, you can find the Client ID and Client secret (also called the Consumer Key and Consumer Secret).
Navigate to the Setup page in Salesforce.
Click on Create [1] under the Build section, and open the Apps page [2].
Scroll down to Connected Apps [3].
Click on the name of your newly created SiQ integration app [4] (the exact name of your app may vary depending on what name was assigned during creation).
On the connected app page, look for the Consumer Key field [1] (also called the Client ID) and copy/paste it into SiQ;'s integration screen as seen above.
You will need to click to reveal your Consumer Secret [2] (also called the Client Secret). Copy and paste that into SiQ as well.