Salesforce Connection
The Salesforce connection type enables automations to interact with Salesforce orgs -- querying records, creating objects, triggering flows, and more. It is used by the plugin-salesforce plugin, which delegates to the salesforce-connector.
Connection Type
| Property | Value |
|---|---|
| Type enum | SALESFORCE |
| Type ID | salesforce |
| Category | Enterprise Apps |
| Entity class | SalesForceConnectionDetails |
Friendly Example
| What you enter | Example |
|---|---|
| Connection name | Salesforce - Customer Support |
| Used for | Reading accounts, contacts, cases, and update results |
| Main details to collect | Salesforce URL, username, password or token, client ID, and client secret |
| Best person to provide it | Salesforce administrator |
After it is saved, workflow builders select Salesforce - Customer Support in a node instead of entering these details again.
Mandatory Fields
| Field | Type | Required | Description |
|---|---|---|---|
loginUrl | String | Yes | Salesforce login endpoint. Use https://login.salesforce.com for production orgs or https://test.salesforce.com for sandboxes. |
clientId | String | Yes | Consumer Key from the Salesforce Connected App. |
clientSecret | String | Yes | Consumer Secret from the Salesforce Connected App. Encrypted at rest. |
userName | String | Yes | Salesforce username of the integration user (e.g., api-user@contoso.com). |
password | String | Yes | Password for the integration user. If security tokens are enforced, append the security token to the password (e.g., MyPassword + SecurityToken). Encrypted at rest. |
Advanced Fields
| Field | Type | Required | Description |
|---|---|---|---|
securityToken | String | No | Salesforce security token. Required when connecting from an IP address not whitelisted in Salesforce. Can alternatively be appended to the password. |
apiVersion | String | No | Salesforce API version to use (e.g., v59.0). Defaults to a recent stable version. |
Connected App Setup
To allow the platform to authenticate with Salesforce, you need a Connected App:
-
Log in to Salesforce as an administrator.
-
Navigate to Setup > Apps > App Manager > New Connected App.
-
Fill in the basic information:
- Connected App Name:
Qinfinite Automation - API Name:
Qinfinite_Automation - Contact Email: your admin email
- Connected App Name:
-
Enable OAuth Settings:
- Check Enable OAuth Settings.
- Callback URL:
https://login.salesforce.com/services/oauth2/callback(not used for the password flow, but required). - Selected OAuth Scopes -- add at minimum:
Full access (full)- Or more restrictively:
Access and manage your data (api),Perform requests on your behalf at any time (refresh_token, offline_access)
-
Save and wait for the Connected App to be activated (can take up to 10 minutes).
-
Copy the Consumer Key (this is the
clientId) and Consumer Secret (this is theclientSecret). -
Create a dedicated integration user with the appropriate Salesforce profile and permissions. Avoid using personal administrator accounts.
-
IP Relaxation (recommended for automation):
- Go to the Connected App settings > Manage > Edit Policies.
- Under IP Relaxation, select Relax IP restrictions to avoid security token requirements from dynamic IPs.
Authentication Flow
The connector uses the OAuth 2.0 Username-Password flow:
POSTto\{loginUrl\}/services/oauth2/tokenwithgrant_type=password,client_id,client_secret,username, andpassword.- Salesforce returns an
access_tokenandinstance_url. - The connector uses the
access_tokenfor subsequent REST API calls to theinstance_url.
Troubleshooting
| Symptom | Likely Cause |
|---|---|
invalid_grant: authentication failure | Wrong username/password, or security token not appended to password when required |
invalid_client_id | The clientId (Consumer Key) is incorrect or the Connected App has not been activated yet |
invalid_client: Invalid client credentials | The clientSecret (Consumer Secret) is incorrect |
INVALID_SESSION_ID on API calls | The access token has expired. The connector should re-authenticate automatically. |
REQUEST_LIMIT_EXCEEDED | The org has hit its daily API call limit. Check usage in Setup > Company Information. |