Change to OAuth 2.0 for the Salesforce connector in Jitterbit Studio
Introduction
Salesforce is retiring the SOAP API login() authentication method (username, password, and security token). Any Salesforce connection configured with Basic Auth uses this method, and must be changed to OAuth 2.0 Client Credentials to keep working.
| When | What happens |
|---|---|
| Now, on Salesforce API version 65.0 and later | SOAP API login() is unavailable, so a connection using Basic Auth fails on those API versions. API versions 31.0 through 64.0 still work for now. |
| Salesforce Summer '27 release (mid-2027) | SOAP API login() will be retired in API versions 31.0 through 64.0, so any connection still using Basic Auth will fail once your org is upgraded. |
Salesforce is not retiring the SOAP API as a whole. Only the login step changes, from a SOAP-based login() call to an OAuth 2.0 token request, so your existing activities, transformations, and operations keep working as they are.
This guide covers the end-to-end change for a single connection: what to configure in Salesforce, what to change in Studio, and how to validate the result before rolling it out. The same steps apply to the Salesforce Service Cloud and ServiceMax connectors, which share the same authentication flow.
Connections already configured with OAuth 2.0 Client Credentials need no change.
This guide walks through five steps:
- Confirm your agent version and identify every connection that needs to change.
- Collect an instance URL, client ID, and client secret from a Salesforce external client app or connected app.
- Change the connection to OAuth 2.0 Client Credentials and enter the new credentials.
- Verify the change by deploying and running the operations that use the connection.
- Roll out the change to production.
What changes and what doesn't
Authentication type is a property of the connection, so a single change covers every activity and script that uses that connection:
with username, password,
and security token"| C["Salesforce session"] B -->|"After: OAuth 2.0 token request
with client ID
and client secret"| C C --> D["Salesforce SOAP API call
Query, Insert, Update,
Upsert, or Delete"] D --> E["Records read or written"]
| Component | Action needed |
|---|---|
| Salesforce connection | Change Authentication type to OAuth 2.0 Client Credentials. The Server host, Username, Password, and Security token fields are replaced by Instance URL, Client ID, and Client secret. |
| Activities | No action needed. Standard and bulk activities keep their existing object selections and schemas. |
| Transformations and mappings | No action needed. |
| Operations, operation chains, and schedules | No action needed. |
| Scripts that use Salesforce functions | No action needed. Functions such as SalesforceLogin reference the connection by name. |
| Salesforce permissions | Verify the Run As user has equivalent access to the previous Basic Auth account. See the caution in Collect the values you need from Salesforce. |
The Salesforce API version also changes
Because SOAP API login() is unavailable in later API versions, a connection using Basic Auth stays on Salesforce SOAP API version 64.0. Switching it to OAuth 2.0 Client Credentials moves its non-bulk activities to the latest API version its agent supports. To see which version applies before and after, look up your agent version in Prerequisites and supported API versions. Refreshing each activity's object list when you verify the change picks up any schema differences between versions.
Before you begin
Basic Auth may already be blocked in your Salesforce org
Salesforce disables SOAP API login() by default in orgs created from Winter '26 onward, and where it is enabled, the authenticating user needs the Use Any API Auth permission. If a Basic Auth connection already fails to authenticate, check both of these before troubleshooting further. Changing the connection to OAuth 2.0 Client Credentials removes the dependency on either.
Confirm the agent version
OAuth 2.0 Client Credentials requires cloud agents, or a private agent meeting these minimum versions:
| Connector | 11.x private agents | 12.x private agents |
|---|---|---|
| Salesforce | 11.59 | 12.3 |
| Salesforce Service Cloud, ServiceMax | 11.59 | 12.4 |
Check the agent group for each affected environment.
Identify the connections to change
Build an inventory before you start, so that each change is deliberate rather than reactive. The Management Console Endpoints Usage page is the one place that lists Salesforce endpoints across every project and environment in your organization, so start there:
-
Open the Endpoints Usage page and find the rows for the Salesforce connector and the
SalesforceLoginfunction. This page requires the Admin role permission. -
Click an endpoint to open the endpoint details drawer, which lists the Environment, Project, and Operation where that endpoint is used.
-
Click Go to endpoint to open the connection in Studio, then check its Authentication type. Connections set to Basic Auth need the change.
-
Repeat for each Salesforce row to build the full list.
Endpoints that have not run recently
The Endpoints Usage page reports endpoints used by an operation that ran at least once in the past 12 months on an agent version 11.49 or later. To catch connections that exist but have not run in that window, also check the Studio Global Endpoints page, which lists connections shared across projects, and each project's design component palette or Components tab.
Scripts that reference a Salesforce connection through Salesforce functions don't need editing, but include the operations that run them when you validate.
Collect the values you need from Salesforce
OAuth 2.0 Client Credentials authenticates with an instance URL, a client ID, and a client secret, which come from a Salesforce external client app or connected app. For the full procedure, see 2-legged OAuth 2.0 prerequisites.
-
Instance URL: Your Salesforce instance URL, which depends on your organization's My Domain setting. With My Domain enabled (the default), it takes the form
https://exampleDomain.my.salesforce.com. -
Client ID and client secret: The Consumer Key and Consumer Secret of your Salesforce app.
Important
As of Spring 2026, Salesforce restricted the creation of connected apps. Create an external client app unless you already have an existing connected app.
Whichever app type you use, confirm these settings in Salesforce:
- Enable Client Credentials Flow is selected in the app's OAuth settings and in its Client Credentials Flow policies.
- Under OAuth Scopes, Manage user data via APIs (api) is selected, along with any other scopes your integration requires.
- For an external client app, the Callback URL is set to the URL for your organization's region.
- A Salesforce user is assigned as the app's Run As (or execution) user.
Verify the Run As user's permissions
The Run As user determines what the connection can access, replacing the permissions of the Salesforce account previously used with Basic Auth. If this user has narrower permissions, activities may fail or return incomplete data rather than fail outright. Before you deploy, confirm the Run As user has access to every object and field used by existing activities. For Enterprise Edition orgs, Salesforce recommends a user with the API Only User permission. Use a dedicated integration account rather than a named individual's account, so the connection doesn't break if that person's access changes.
Change the connection to OAuth 2.0
Make the change in a non-production environment first, then promote the validated project.
-
Record the connection's existing Server host, Sandbox, and Username values. Keeping these allows you to restore the connection if you need to roll back before validation is complete.
-
Open the Salesforce connection for editing from the design component palette, the project pane's Components tab, or the Global Endpoints page.
-
Change Authentication type from Basic Auth to OAuth 2.0 Client Credentials. The credential fields change to Instance URL, Client ID, and Client secret.
-
Enter the Instance URL, Client ID, and Client secret you collected from Salesforce. Each of these fields supports project variables, which lets the same project use different credentials in each environment.
-
Click Test to verify the connection, then click Save.
For a description of every field on this screen, see Configure a Salesforce connection.
Verify the change
A successful connection test confirms only that the credentials are valid. Run the operations to confirm the Run As user's permissions are sufficient.
-
Follow the steps in Deploy and execute an operation to deploy and run the operations that use the updated connection, including any operations that run scripts referencing the connection.
-
In the operation logs, confirm each operation succeeded and check the record counts against a run from before the change. A success with fewer records than expected usually indicates the Run As user lacks read access to some records, objects, or fields.
-
Open an activity that uses the connection and click Refresh to reload the Select Object(s) list from Salesforce. If objects or fields that existed before are now missing, the Run As user lacks access to them in Salesforce.
-
Spot-check written records in Salesforce to confirm field values were populated as expected.
-
(Optional) Confirm nothing still uses SOAP API
login(). Salesforce provides a test run that blocks alllogin()calls to an org and returns the same response as the retirement. In Salesforce Setup, under Release Updates, open the SOAP API login() Retirement update, select View Update, then select Enable Test Run. Select Disable Test Run to restorelogin().Caution
A test run applies to the whole Salesforce org, so any integration that still uses
login()fails while it is enabled. Run it in a sandbox after you have changed every connection that authenticates to that org. -
(Optional, private agents only) To confirm the exact Salesforce API version a request used, check the agent's
tomcat/logs/catalina.outlog right after clicking Test on the connection or running an operation. It logs the request URL, for exampleService request URL: https://login.salesforce.com/services/Soap/u/64.0, where the number after/u/is the API version invoked.
Roll out the change
-
Once validated, follow the steps in Project transfer to transfer the project to your production environment.
-
If the production environment uses separate Salesforce app credentials, update the connection there with the values for that app. Using project variables for the client ID and client secret keeps this to a variable value change per environment.
-
Follow the steps in Deploy and execute an operation to deploy the operations that use the updated connection, then confirm the first scheduled or triggered runs complete successfully.
-
Once every environment is validated, retire the Salesforce account previously used for Basic Auth according to your organization's practices.
Need help?
For authentication and configuration errors, see Salesforce connector troubleshooting.
For a coordinated change or assistance planning it, contact Jitterbit support or Jitterbit Professional Services.
