Skip to main content
Solved

Salesforce SOAP API login() Retirement

  • August 5, 2026
  • 14 replies
  • 238 views

jglick
Contributor
Forum|alt.badge.img+6

As per this post last year, Salesforce is retiring the SOAP API login().  Any news from FME on when the Salesforce readers and writers will be updated?  

Best answer by desiree_at_safe

Thanks for sharing that ​@jglick! I’ve passed this feedback along to the product team.

Modernizing our Salesforce integrations is currently targeted for the FME 2026.4 release, sometime early-to-mid winter.

Hope this helps with your planning! Let us know if you run into any roadblocks in the meantime or have any other thoughts/feedback 🙂

14 replies

gareth-at-safe
Safer
Forum|alt.badge.img+13

Hi ​@johnglick82 thanks for bringing attention to this. I see you’d previously inquired about this, so I infer this is a matter of significant concern for your existing Salesforce integrations. 

I took a quick look at the internal ticket for this work and, while I can’t provide a specific timeline, can confirm that this change has been acknowledged and prioritized by our product development team.

As previously mentioned IDEA-2203 is our internal reference for this.


gareth-at-safe
Safer
Forum|alt.badge.img+13

Hi ​@jglick following up on this, my colleague ​@desiree_at_safe clarified that the SalesforceConnector may be relevant here: it connects via OAuth2 and enables querying (no writing) of Salesforce data. Does this meet your needs, or are you also looking to write data?


jglick
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • August 13, 2026

Hi ​@garethatsafe, writing is a requirement so the connector will not work in these cases.  


gareth-at-safe
Safer
Forum|alt.badge.img+13

Hey ​@jglick darn, I guessed as much. Thanks for confirming & have a great weekend!


desiree_at_safe
Safer
Forum|alt.badge.img+24

You might still be able to write and update records in Salesforce using the Salesforce REST API via the HTTPCaller transformer.

While I haven't set this up personally, here's a general guide to get you started:

  1. Authentication: Set up a Salesforce Web Connection in FME using OAuth 2.0 (see Salesforce's Authorization Through External Client Apps or Connected Apps and OAuth 2.0 guide).
  2. Creating/Updating Records: Check out Salesforce's Working with Records Guide. You can send JSON payloads to the REST endpoints:
    • POST to /services/data/vXX.0/sobjects/{sObject}/ to Create
    • PATCH to /services/data/vXX.0/sobjects/{sObject}/{Record_ID} to Update
    • PATCH to /services/data/vXX.0/sobjects/{sObject}/{Ext_ID_Field}/{Ext_ID_Value} to Upsert
    • DELETE to /services/data/vXX.0/sobjects/{sObject}/{Record_ID} to Delete
    A quick note on Upsert: it looks like the field you reference as {Ext_ID_Field} needs to be marked as an External ID field on the object in Salesforce first, or the call will fail.

A dedicated writer is definitely still the ideal long-term solution, and this ties into the same discussion tracked under IDEA-2203. In the meantime, hopefully this provides a workable path forward!

If you need any help setting this up, feel free to submit a Support Case with us. Hope this helps! 🙂 And thank you again for flagging this!


jglick
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • August 22, 2026

Hi ​@desiree_at_safe.  Yes, that is an option and I use the REST API with HTTP callers in some cases.  The current writer supports bulk updates via the SOAP API, and should be updated to use the newer Bulk API.  And to clarify, I simply need to know that Safe is updating the current writer, so I know if I need to create a create a custom transformer for cases where the current writer is being used.  In any case there’s always a solution in FME, so I’m not worried, just need to plan 😊  


desiree_at_safe
Safer
Forum|alt.badge.img+24

Thanks for sharing that ​@jglick! I’ve passed this feedback along to the product team.

Modernizing our Salesforce integrations is currently targeted for the FME 2026.4 release, sometime early-to-mid winter.

Hope this helps with your planning! Let us know if you run into any roadblocks in the meantime or have any other thoughts/feedback 🙂


mwee
Contributor
Forum|alt.badge.img
  • Contributor
  • September 1, 2026

Hi,

We have current integrations using Salesforce Reader and Writer. We are having FME desktop 2021.2

 

We are receiving this error in the logs when trying to read objects from Salesforce sandbox

 

Worker 34772 > Salesforce: HTTP 500: INSUFFICIENT_ACCESS: SOAP API login() requires the Use Any API Auth user permission.

Worker 34772 > Failed to obtain any schemas from reader 'SALESFORCE' from 1 datasets. This may be due to invalid datasets or format accessibility issues due to licensing, dependencies, or module loading. See logfile for more information

Worker 34772 > Failed to obtain any schemas from reader 'SALESFORCE' from 1 datasets. This may be due to invalid datasets or format accessibility issues due to licensing, dependencies, or module loading. See logfile for more information

Worker 34772 > Failed to read schema features from dataset ' using the 'SALESFORCE' reader

 

But if we see in Salesforce - login is success
 

 

Please help advise on this thank you


gareth-at-safe
Safer
Forum|alt.badge.img+13

Hi @mwee 

I did a bit of digging into the error you shared: SOAP API login() requires the Use Any API Auth user permission, and it looks like the theGrant Use Any API Auth permission needs to be granted to the user authenticating in FME. That’s typically done by a Salesforce Admin likely through the user profile or a permission set. Salesforce covers this in the Granting the Permission section of their login() documentation.


On the login looking successful: it could be that Salesforce is still recognizing that your login event was valid but the permissions are not set to allow you to access Salesforce. I haven’t seen the exact error-login attempt issues you're describing, but this is a common issue seen in other Service connections.
 

It’s also worth flagging that you should consider migration paths for Salesforce integrations and an FME upgrade in the near future. Salesforce is retiring their SOAP API login() in Summer '27. As Desiree mentioned above, modernizing our Salesforce integrations is targeted for FME 2026.4, while FME 2021.2 is a few versions behind (and is actually recently retired for support), so it’s a great idea to build into the plan now rather than later.
 

Luckily, on the read side, the SalesforceConnector already authenticates with the more modern OAuth 2.0 flow, skipping login() altogether. Here’s an article on how to get started with that connector and a more modern authentication flow: Connecting to Salesforce in FME: Setting up the Salesforce Connector

 


mwee
Contributor
Forum|alt.badge.img
  • Contributor
  • September 3, 2026

Hi ​@garethatsafe Thanks for your response on this!! I will review this information and share any follow up questions, thanks again!

 


mwee
Contributor
Forum|alt.badge.img
  • Contributor
  • September 4, 2026

Hi @mwee 

I did a bit of digging into the error you shared: SOAP API login() requires the Use Any API Auth user permission, and it looks like the theGrant Use Any API Auth permission needs to be granted to the user authenticating in FME. That’s typically done by a Salesforce Admin likely through the user profile or a permission set. Salesforce covers this in the Granting the Permission section of their login() documentation.


On the login looking successful: it could be that Salesforce is still recognizing that your login event was valid but the permissions are not set to allow you to access Salesforce. I haven’t seen the exact error-login attempt issues you're describing, but this is a common issue seen in other Service connections.
 

It’s also worth flagging that you should consider migration paths for Salesforce integrations and an FME upgrade in the near future. Salesforce is retiring their SOAP API login() in Summer '27. As Desiree mentioned above, modernizing our Salesforce integrations is targeted for FME 2026.4, while FME 2021.2 is a few versions behind (and is actually recently retired for support), so it’s a great idea to build into the plan now rather than later.
 

Luckily, on the read side, the SalesforceConnector already authenticates with the more modern OAuth 2.0 flow, skipping login() altogether. Here’s an article on how to get started with that connector and a more modern authentication flow: Connecting to Salesforce in FME: Setting up the Salesforce Connector

 

Hi ​@gareth-at-safe 

The Use Any API Auth permission worked when our Salesforce Admin added this permission to our integration user we’ve used to connect to Salesforce from FME.

Just some follow up question:

  • For the FME Desktop Salesforce Readers and Writers, would they be updated in newer version of FME desktop 2023 to 2026 to no longer user Soap api login and connect the same way as the SalesforceConnector?

We are new in Salesforce and currently building our integration, we have used salesforce readers, writers and feature writers and just want to plan around what to do with our integration with this change.

 

Thank you and appreciate your response.


gareth-at-safe
Safer
Forum|alt.badge.img+13

Hi ​@mwee - glad to hear that permission got you rolling!


For the FME Desktop Salesforce Readers and Writers, would they be updated in newer version of FME desktop 2023 to 2026 to no longer user Soap api login and connect the same way as the SalesforceConnector?

 

 

Updates to the Salesforce Reader and Writer aren't in the timeline to be backported for versions 2026.3 or older, native changes are targeted for FME 2026.4. I'd definitely recommend upgrading to FME 2026.2 for the most straightforward, longer-term fix.

In the meantime, the SalesforceConnector (for read workflows) and the HTTPCaller REST API option mentioned above (for write workflows) can serve as viable alternatives, as both can utilize Salesforce OAuth 2.0.

If you run into any roadblocks during your planning or have further questions, please feel free to submit a Support Case. We're happy to dig into it further there!


mwee
Contributor
Forum|alt.badge.img
  • Contributor
  • September 9, 2026

Thanks again ​@gareth-at-safe, just checking if I understand it correctly:

  • If we choose to upgrade to FME 2026.4 we can keep our using the FME Salesforce Readers and Writers in our integration workspaces and would not require a whole rewrite?
  • If we choose to use the SalesforceConnector and HTTPCaller, this would work currently but would require changes to our current workspaces?

Thanks again and appreciate your response.


gareth-at-safe
Safer
Forum|alt.badge.img+13

Hi ​@mwee, you've read both of those roughly correctly.

If we choose to upgrade to FME 2026.4 we can keep our using the FME Salesforce Readers and Writers in our integration workspaces and would not require a whole rewrite?


It shouldn't mean a total rewrite. For the most part, the Reader and Writer should work the same way functionally, with a few extra configuration steps to set up the OAuth connection. I can't say much about exactly how the change will be delivered until it ships, so if anything feels unexpected once you're on it, open a Support Case and we'll dig in.
 

If we choose to use the SalesforceConnector and HTTPCaller, this would work currently but would require changes to our current workspaces?


Correct, and that route would likely require a fair bit more reworking and testing, particularly to get the writer's REST calls behaving. It hasn't been formally tested on our side, so treat it as a viable path rather than a documented one.

Either path also needs Salesforce-side setup: OAuth 2.0 requires an External Client App created in your org by an admin, with a Client ID and Secret supplied to FME. Worth getting on your Salesforce Admin's radar early, since that applies to the Reader and Writer after 2026.4 just as much as it does to the connector today. And keep in mind that Use Any API Auth is a stopgap, as login() retires with Salesforce's Summer '27 release.

If you hit roadblocks on any of it, happy to help in a new community thread or a Support Case.