Setting up OAuth for Salesforce Article
This article describes how to establish an OAuth connection between Language IO and your Salesforce org for the Language IO Article application.
In this article
Setting up OAuth for Salesforce Article
Creating a Salesforce Integration User
Create a dedicated Salesforce user for the Language IO Article integration. This user must be a Knowledge User and have the permissions described below.
Creating and Setting the User as a Knowledge User
- In Salesforce, go to Setup > Users.
- Click New User.
- Fill out required user details.
- Give the user an email address that you have access to (to verify it and set a password).
- Check Knowledge User:
- Check Generate new password and notify user immediately:
- Click Save.
- Salesforce sends an email to the user's email address. Verify the account, and set a password.
Note: You must have this user's username to set your External Client App's Policies, and their username and password to establish the OAuth Connection.
Assigning Required Permissions
- Assign the following Permission Sets:
- Language IO Knowledge - Non Quote User
- Language IO Knowledge - Quote User
- Assign a Permission Set with the following permissions:
- App Permissions:
- Article Translation - Edit
- Article Translation - Publish
- Article Translation - Submit for Translation
- Manage Salesforce Knowledge
- If you use Data Categories, set the Data Category Visibility:
- Assign Category Group visibility as applicable.
- App Permissions:
Creating an External Client App
Creating the App and Configuring the App's Settings
- In Salesforce, go to Setup > External Client App Manager.
- Click New External Client App:
- Under Basic Information, fill in the following fields:
- External Client App Name: Give your app a name (e.g. "Language IO Article")
- API Name: Use the auto-generated name (e.g. "Language_IO_Article")
- Contact Email: dev_ops@languageio.com
- Distribution State: Local
- Under API (Enable OAuth Settings), check Enable OAuth:
- Then, under the App Settings sub-section:
- Set the Callback URL: https://golinguist.com/linguistnow/handleHelpOAuthDecision
- Move the following Available OAuth Scopes into the Selected OAuth Scopes box:
- Manage user data via APIs (API)
- Access content resources (content)
- Perform requests at any time (refresh_token, offline_access)
- Under Flow Enablement, check Enable Client Credentials Flow:
- Under Security:
- Check Require Secret for Web Server Flow.
- Check Require Secret for Refresh Token Flow.
- Uncheck Require Proof Key for Code Exchange (PKCE) extension for Supported Authorization Flows.
- At the bottom of the page, click Create:
Setting the App's Policies
- Open the Policies tab (or Setup > External Client App Manager > your app > Edit Policies).
- Click Edit:
- Under OAuth Policies > OAuth Flows and External Client App Enhancements:
- Check "Enable Client Credentials Flow".
- Set "Run As (Username)" to the username of your Integration User.
- Under OAuth Policies > App Authorization
-
Set IP Relaxation to "Relax IP Restrictions":
Important: Inform Language IO if you must enforce IP restrictions. This requires additional configuration to support a successful OAuth connection. - Set Refresh Token Policy to your preferred policy.
-
-
At the bottom of the page, click Save:
Sharing your External Client App Key and Secret with Language IO
- In Salesforce, go to Setup > External Client App Manager.
- Click to Edit Settings of your External Client App for Language IO Article:
- Open the Settings tab:
-
Under OAuth Settings, click Consumer Key and Secret:
Note: Salesforce may ask you to verify your identity before revealing the consumer key and secret. Check your email for the Verification Code and proceed. -
Share the Consumer Key and Consumer Secret with Language IO:
Note: You can share these details with Language IO in a Onetime Secret link (https://onetimesecret.com/) or in a secure manner of your choice. - Language IO confirms receipt, and informs you when you may proceed to the next step: Establishing the OAuth Connection.
Establishing the OAuth Connection
Important:
- You cannot complete these steps until you have completed sharing your External Client App Key and Secret with Language IO.
- You must sign in to the Language IO Customer Self-Service Portal (CSSP) as an admin user to complete these steps. If you do not have a CSSP admin user account, submit a support request.
- Log in to the following Language IO page with your CSSP admin user credentials:
https://golinguist.com/linguistnow/consumer/help-oauth - You are redirected to your Salesforce org login page.
- Log in with your Integration User credentials.
- Click Allow to allow Language IO access to the required OAuth scopes.
- The connection is established. You are redirected to a Language IO page with a message stating that OAuth was successful.
Note: If the connection is not successful:
- Log out with the following link: https://golinguist.com/linguistnow/launch/logout
- Restart establishing the OAuth Connection.