Salesforce Integration - Configuring API in Salesforce

API Authentication

To get started with Salesforce in Cadence, there are a couple of simple (but critical) things that will need to be setup in your Salesforce instance. In general, the following pieces of information are needed:

  1. Your instance URL (for example: https://mongooseu.my.salesforce.com)
  2. The Client ID and Client Secret of a Connected App you have created in Salesforce
  3. The Username and Password with Security Token of an API user you have created in Salesforce

Creating a Connected App

The Salesforce documentation for creating a connected app can be found here. If this guide is not sufficient or if you need additional information, please see that guide for additional help.

In the Lightning Experience, start by searching “App” in the quick find box and selecting “App Manager”. Click “New Connected App”.

In the Classic Experience, start by searching “Apps” in the quick find box and selecting “Apps” under Build > Create. Click “New” under “Connected Apps”.

Then. fill out the form, making sure to check “Enable OAuth Settings” and add “ https://sms-api-dev.mongooseresearch.com/” as a callback URL. Please be sure to set Permitted Users to "All users may self-authorize."

After that, we need two permissions:

  1. Manage user data via API's (api) 
  2. Perform requests at any time (refresh_token, offline_access)

After the app is created, you will be shown a screen of information related to it. We need two pieces from this screen: The Consumer Key which serves as the Client ID and the Consumer Secret which serves as the Client Secret.


Creating an API User

The Salesforce documentation for creating an API user can be found here. Please refer to that guide if you find this one incomplete. While we can use a pre-existing user that you might be utilizing for other integrations, we recommend creating a new one so that permissions may be kept separately for Mongoose.

If you already have an API user:

We require just a few permissions to be enabled on it:

  1. API Enabled is checked
  2. Account read is checked
  3. Contact read, create, and edit is checked
  4. Read, create, and edit is checked on any custom SMS object you have created and plan to use to export message history out of Cadence
  5. Edit Tasks is checked
  6. Password never expires

If you don’t already have an API User:

Start by creating a new custom profile (we named ours “API only”) and give it the permissions listed above (at a minimum).

Create a new user and give it the API profile you just created. This will use up one license in your Salesforce instance, but insulates you from changes to actual users which may interrupt your integration with Cadence. Salesforce will email you a security token for this user - keep track of this as it is needed for setting up Cadence.

In either case, the username of this new user is the "Username" we require in Cadence. The password in Cadence is a concatenation of the password and the user’s security token (not the token from the Connected App--the user's security token). For example, if the user’s password is “mypassword” and the security token is “ABC123” then the Cadence password will be “mypasswordABC123”. We recommend setting this user with a very strong password as it is not set to expire or be reset.


Troubleshooting

If you are having difficulty verifying credentials on the API Authentication page in Cadence or not seeing any reports or list views show up, please check the following items:

- Ensure that your Instance URL is accurate. This should begin with "https".

- Ensure that your API user does not have a user profile assigned in Salesforce that does not have the required permissions set.

- Check the "Session Security Level Required at Login" setting and make sure it is blank. If there is a setting there, remove it. 

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us