Reference · Credentials
Salesforce OAuth2 credentials
Used by 2 BusyBot nodes.
salesforceOAuth2 7 fields The Salesforce credential uses OAuth2 against a Connected App you create in your org. It needs the app's consumer key and secret, your instance URL, and the tokens from authorising — with the refresh token doing the work of keeping access alive.
Fields
| Field | Type | Required | Notes |
|---|---|---|---|
Access TokenaccessToken | password | Yes | Salesforce OAuth2 access token |
Refresh TokenrefreshToken | password | Yes | Salesforce OAuth2 refresh token for automatic renewal |
Client IDclientId | string | Yes | Consumer Key from the Salesforce Connected App |
Client SecretclientSecret | password | Yes | Consumer Secret from the Salesforce Connected App |
Instance URLinstanceUrl | string | Yes | Your Salesforce instance URL (e.g., https://yourorg.my.salesforce.com) |
Environmentenvironment | string | No | Salesforce environment: "production" or "sandbox" |
Token Expiry (Unix timestamp)expiresAt | string | No | Unix timestamp (seconds) when the access token expires. Managed automatically after refresh. |
Getting your credentials
- In Salesforce Setup, create a Connected App and enable OAuth settings on it.
- Add BusyBot’s redirect URL as a callback URL, and select the OAuth scopes the workflow needs — including refresh_token / offline_access, without which no refresh token is issued.
- Save, then copy the Consumer Key into Client ID and the Consumer Secret into Client Secret. Salesforce can take several minutes before a new Connected App accepts requests.
- Set Instance URL to your org’s URL, for example
https://yourorg.my.salesforce.com. - Set Environment to
productionorsandbox. Sandboxes authenticate against a different login host, so this must match. - Complete the authorisation flow so an access token and refresh token are stored.
Permissions and scopes
The connection acts as the Salesforce user who authorised it, so profile and sharing rules still apply — an object that user cannot see stays invisible to the automation. Connected Apps can also be restricted by profile or permission set; make sure the authorising user is permitted.
Troubleshooting
- invalid_client_id right after creating the app — Salesforce needs a few minutes to propagate a new Connected App. Wait and retry.
- No refresh token stored — the
refresh_token/offline_accessscope was not selected on the Connected App. Add it and re-authorise. - Authentication fails against a sandbox — the Environment field is set to production. Sandboxes use a different login host.
- INSUFFICIENT_ACCESS — the authorising user’s profile lacks permission on that object or field.
Frequently asked questions
Why is there no refresh token?
The Connected App must request the refresh_token / offline_access scope. Without it Salesforce issues only a short-lived access token and the connection dies when it expires.
Why does a brand new Connected App fail?
Salesforce takes several minutes to propagate one. An invalid_client_id error immediately after creation usually resolves itself on retry.
What should Environment be set to?
`sandbox` for a sandbox org and `production` otherwise — they authenticate against different login hosts, so a mismatch fails before any API call.
Whose permissions apply?
Those of the Salesforce user who authorised the app. Profile and sharing rules are enforced exactly as they are in the interface.
Nodes that use Salesforce OAuth2
One credential works across every node below — create it once and reuse it.
Last updated . Spotted something wrong? Tell us.