Hello @ragavi87688 ,
We still have an open ticket with SailPoint Support, and we have planned a debugging session with them in the coming days.
They have recommended the following steps and provided some recommendations. However, we have already aligned with them on these points, and our Salesforce team has informed us that they cannot update the application for certain actions because it is a SailPoint-managed application.
Currently our work around is to Re-Authorize manually in ISC.
Message from Sailpoint support :
Begin
Even though the screenshot confirms that “Refresh token is valid until revoked” is selected under the External Client App (ECA) OAuth Policies, Salesforce will still throw err=invalid_grant: token validity expired under several specific platform conditions.
Further troubleshooting steps:
- Integration User Pre-Authorization Assignment:
Context from Screenshot: Permitted Users is configured as “Admin approved users are pre-authorized”.
When this policy is active, Salesforce strictly requires that the Profile or a Permission Set assigned to the integration user be explicitly linked to the ECA. If it is missing or was modified, Salesforce rejects token refreshes with invalid_grant.
Action:
- In Salesforce, go to Setup → External Client App Manager (or Manage External Client Apps).
Open the SailPoint Identity Security for Salesforce app.
Under the Policies section, verify Manage Profiles and Manage Permission Sets.
Ensure the Profile or Permission Set assigned to the dedicated ISC Integration Service Account is explicitly added.
2. Salesforce 5-Token Limit per User per App (Multi-Environment Conflict)
Salesforce enforces a strict limit of 5 active OAuth refresh tokens per user per connected app / ECA.
If the same Salesforce integration user is used across multiple ISC tenants (e.g., Sandbox/Dev, Test, Prod), multiple ISC sources, or external tools (like Postman or scripts), each new authentication generates a new refresh token and silently revokes the oldest one.
When ISC subsequently attempts to refresh its token, Salesforce returns invalid_grant: token validity expired.
- Ensure a dedicated Salesforce integration user is used solely for this specific ISC tenant and source.
In Salesforce, navigate to Setup → Connected Apps OAuth Usage (or check the Integration User’s profile under OAuth Connected Apps). Revoke stale/duplicate sessions.
3. Re-Authorize in ISC:
- Go to ISC → Admin → Sources → [Salesforce Source] → Connection Settings / Authentication.
Click Re-Authorize / Connect and complete the OAuth login flow using the dedicated integration account.
Save and run Test Connection.
Re-test the failed provisioning operation (Create Account).
End