Nexus-SF Data Exchange Handshake Procedure
Step-by-Step Guide for Configuring the Handshake Between Salesforce (SF) and Engagement Hub for Data Integration.
Step 1: Create Connected App for BriefingEdge Integration
- Open Settings - Custom Code - Remote Access
- Create a new connected App for the Nexus Package.
- Connected Apps - New - Create a Connected App
- Go into the “Edit” view for newly created connected app.
- Check the box for “Enable OAuth Settings” (1)
- Add the following Callback URLs (CRMInstanceID (SFDCInstance) = 1) (2)
https://w17.briefingedge.com/MVC2/Admin/SFDC/Authenticate?sfdcInstance=1
*(The link above may have a differing SFDCInstanceID if you have more than 1 instance of SFDC linked to BriefingEdge. Confirm with BriefingEdge Team if unsure.)
- https://w17.briefingedge.com/MVC2/Account/OauthSuccess
- Add the following OAuth Scopes into the “Selected OAuth Scopes” box (3)
- Manage User Data via APIs (api)
- Manage User Data Via Web Browsers (web)
- Perform requests on behalf at any time (refresh_token, offline_access)
- Uncheck "Require Proof Key for Code Exchange (PKCE)"
- Check:
Enable Client Credential Flow
- Save the changes to the connected app
Note that you cannot skip steps 1 and 2 and just go to "Manage Connected Apps" to get this information, although it has that title in the header; you still have to go through remote Access, because otherwise the key and secret don't show up.
Step 2: Manage Connected App OAuth Policies
- Open Setup - Connected Apps - Manage Connected Apps
- Click “Edit” next to the BriefingEdge connected app that you create
- Set the OAuth Policies - Permitted Users to “All users may self-authorize”
- Set OAuth Policies - Refresh Token Policy to "Refresh Token is Valid until Revoked"
To set permissions at a more granular level you can follow instructions in This Article
Step 3: Create Integrated User
Step-by-step guide for configuring a Salesforce user with minimum access to allow integration. This configuration is designed to provide a secure, role-specific user profile that has the necessary permissions to ensure smooth integration without the need for full admin access. Instructions => here
Step 4: Set the Integration User
- Open Setup - App Manager - Select the connected app - Manage - Edit Policies
- Client Credential Flow
Run As: Integration User (Select user created in Step 3)
Step 5: Enable Allow Authorization Code and Credentials Flows
- Open Setup - OAuth and OpenID Connect Settings
- Set Allow Authorization Code and Credentials Flows to “On”
Step 6: Get the information needed for the integration
Consumer Key & Consumer Secret
Open Settings - Remote Access - Manage Connected Apps - Click on the Manage Consumer Details - Verify your Identity - Copy the Consumer Key and Secret
Organization ID
Open Settings - Company Settings - Company Information - Copy the SF Organization ID
Step 7: Verify your credentials work
In Postman or similar tool, attempt to send a request using the following parameters.
Client Credentials Flow:
Request type: POST
URL : <org custom domain here>/services/oauth2/token
Request body
- grant_type: client_credentials
- client_id(consumer key): (check step 6)
- client_secret: (check step 6)
Step 8: Send info to the Nexus Team
Send the following information to the Nexus Team:
- Consumer Key
- Consumer Secret
- Org ID
- Org Custom Domain (e.g. nexus.salesforce.com)
Step 8: Almost Done!
The Salesforce team will be informed once the Nexus team completes the integration.