Skip to main content

A client has a situation where they are deduping Customer Contacts in their Salesforce Org and are currently providing AuthHandler to provision those Users in Salesforce. However, they are not deduplicating the associated Users in their SSO system.

 

Once the deduplication is complete ( or in progress ) then those Contacts will not exist and their related Users will be deactivated. 

 

Two (simplified for clarity) sample entries in ThirdPartyAccountLink in the current state

First Entry

RemoteIdentifier: EXTID1

UserId: USRID1

Provider: PROV1

 

Second Entry

RemoteIdentifier: EXTID2

UserId: USRID2

Provider: PROV1

 

My thoughts are that, in order to satisfy this, we can request access from Salesforce Support to gain the ability to clear the ThirdPartyAccountLink Sobject (for that Identity provider) using the API. Then we would route the new SSO connections through to the 'winningest' Contact/User using the createUser() flow so that they don't create duplicates once again. I'm hoping this will create a new entry in the ThirdPartyAccountLink Sobject for each User in external system, but they would be linked to the same Contact/User in Salesforce.

 

Two (simplified for clarity) sample entries in ThirdPartyAccountLink in the future state

First Entry

RemoteIdentifier: EXTID1

UserId: USRID1

Provider: PROV1

 

Second Entry

RemoteIdentifier: EXTID2

UserId: USRID1

Provider: PROV1

 

Ideally, this would enable these two external users to come in as the same Contact/User in the Salesforce Community.

 

Is this feasible? Are there any considerations around unique entries or unique compound keys here? I cannot find anything saying this is impossible but would love some more context, I'm having trouble finding documentation on this.

3 commenti
  1. 7 gen 2020, 01:25

    Hi Alec,

    Yes, that's true. However, for each losing user, you can read their TPALs into a temp variable, delete them from the losing user, then create them on the winning user.

0/9000