Hello,
My connector session of Salesforce expire according to Session time out in my user profile
it seems to be related to new version 6.1 because before there was no problem
(my server and desktop sessions never expire)
It's like if the token was not refreshed.
When session is time out the test button in the connector is succesfull but the quota request return "Session expired or invalid"
Is there anything special to setup in "my external client app" with new connectors ?
Hi @pequichsoef
Salesfroce changed one thing recently - since spring 26 you cant create so called 'connected apps' (which we built integration around) and now there are only 'external client apps', and they force refresh token rotation by default on every new app. The setting is locked and can't be turned off.
With this rotation, refresh immeately invalidates the old token. It's stricter than it was, and maybe that's what you're seeing. It may break flows, especially if you use same connector in different places. And with those changes Salesforce as embedded connector in particular would not work.
When did you create the salesforce-side app? The salesforce switch was in august 2026.
And just to check, is refresh token (aka offline_access) scope ticked in the Salesforce app?
Hi Oleksandr,
I created my Salesforce external client app a few days ago, and offline_access is on my scope Recently, some options are no longer available, such as “Refresh token is valid until revoked.”
In addition, “Enable Refresh Token Rotation” is now enabled, and it's imposible to uncheck it.
I looked into it, and the issue is “Session Timeout In Minutes” under “App Authorization.”
this parameter is limited to 1440 (24h), if i dont send any query before the end of this period easymorph session become invalid
I developped a little program in C# calling the same Salesforce app and it works if the period has expired, the refresh token is rotated
May be i'm wrong ,but i think ,this is what is missing in saleforce easymorph connector
Do you think this could be solved in one way or another ?
Regards
Christian
PS: In the mean time ,I'll create a small process , called periodicaly by a task on the hub , to keep my session alive.
Hi
This is handled in the same way with Salesforce connector: if you run the workflow on a regular basis rotation happens automatically.
But the workflow that interacts with Salesforce should be launched on a schedule, similar to your C# workaround.
Sorry to insist , but could you explain me why ?
if i run my c# app after the timeout period it works
but if i run Easymorph it failed
I may have answered too quickly before, let me make sure I have the whole picture correctly:
So, your C# program is separate from EasyMorph, just a standalone .NET app.
It was authorized in some way separately by you against the same external client app, so it has its own access and refresh tokens.
When the C# program runs after more than 24 hours of inactivity, Salesforce rejects the expired session, BUT the program then correctly refreshes the token, gets a new refresh token because of rotation, and carries on normally.
Now, in EasyMorph, a workflow that uses the Salesforce connector works fine if it runs at least once every 24 hours. BUT if more than 24 hours pass between runs, the next run fails with "Session expired or invalid" without similar refresh.
Is all above correct?
If yes, a few more questions:
Where does the failure happen: in a scheduled task on the Hub, or in Desktop? Which action fails, for example "Import from Salesforce"?
Important - is the connector a shared connector in a Hub space, or is it embedded in the project? (embedded connectors cant refresh).
Is the same connector also used from Desktop, or from another space?
And the keep-alive process from your "PS:" is it an EasyMorph project that uses the same Salesforce connector, or that same your C# program started by a task?
Yes ,All your describe is correct
it happen in all sheduled tasks on the hub
it happen also on desktop
the action is import from salesforce
The connector is a shared connector
The same connector is used for desktop and Hub
i test on another desktop with trial version just on desktop , and the same error occured
after time out you always able to test the connexion in the connector but if you request for quota you have the message "session timeout or invalid"
To reproduce my tests you just need to set 5 mn in timeout in salesforce external client app (see joined capture)
The keep alive process is a task with the same connector on my hub
I hope this helps
Thank you, the issue is confirmed. We're working on a fix
Hi @pequichsoef
The issue has been fixed. You can download the new version here.
