Private OAuth 2.0 Apps
Overview
Unlike many other AutoKitteh integrations, Salesforce does not have a default OAuth app.
A user-managed OAuth app enables you to securely integrate with Salesforce APIs and webhooks on behalf of an authorized user.
This connection mode does not require a preexisting AutoKitteh server-wide configuration. Instead, it allows project owners to configure the details of their own OAuth apps.
This guide assumes that the AutoKitteh server is already configured with HTTP tunneling.
Salesforce Documentation
Create an OAuth App
-
Sign into your Salesforce Developer Account
-
Follow the instructions at:
-
From Setup, navigate to "Platform Tools" > "Apps" and then:
- "App Manager" (for Connected Apps)
- "External Client Apps" > "External Client Apps Manager" (for External Client Apps)
-
Navigate to the OAuth configuration page:
- For Connected Apps: Click the dropdown arrow (⌵) next to your app and select "Edit"
- For External Client Apps: Click the dropdown arrow (⌵) next to your app and select "Edit Settings" then expand the "OAuth Settings" section
-
Configure the OAuth settings:
- Callback URL:
https://PUBLIC-AK-ADDRESS/oauth/redirect/salesforce
(wherePUBLIC-AK-ADDRESS
is the AutoKitteh server's public tunnel address)
- Callback URL:
For AutoKitteh cloud users, the PUBLIC-AK-ADDRESS
is https://api.autokitteh.cloud
.
- Click "Save"
App Details
Setup > Settings > Company Settings > My Domain Details
Instance URL: https://<your-domain>.develop.my.salesforce.com
External Client Apps
External Client App Manager > Settings > OAuth Settings
- Consumer Key = Client ID
- Consumer Secret = Client Secret
Connected Apps
App Manager > View > Manage Consumer Details
- Consumer Key = Client ID
- Consumer Secret = Client Secret
AutoKitteh Connection
When you create, initialize, or edit the connection in an AutoKitteh project:
-
Select the "Salesforce" connection type, if not selected yet
-
Select the "Private OAuth 2.0" authentication type, if not selected yet
-
Enter the app details from the previous section:
- Client ID (required)
- Client Secret (required)
- Instance URL (required)