Reference · Credentials

Salesforce OAuth2 credentials

Used by 2 BusyBot nodes.

Type 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

FieldTypeRequiredNotes
Access Token
accessToken
password Yes Salesforce OAuth2 access token
Refresh Token
refreshToken
password Yes Salesforce OAuth2 refresh token for automatic renewal
Client ID
clientId
string Yes Consumer Key from the Salesforce Connected App
Client Secret
clientSecret
password Yes Consumer Secret from the Salesforce Connected App
Instance URL
instanceUrl
string Yes Your Salesforce instance URL (e.g., https://yourorg.my.salesforce.com)
Environment
environment
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

  1. In Salesforce Setup, create a Connected App and enable OAuth settings on it.
  2. 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.
  3. 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.
  4. Set Instance URL to your org’s URL, for example https://yourorg.my.salesforce.com.
  5. Set Environment to production or sandbox. Sandboxes authenticate against a different login host, so this must match.
  6. 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_access scope 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.