Allow admin to select Company Person Connector upsert key

Related products: None

Need the ability to select  more than just the email address as the upsert key on the the Company Person connector job.  Probably works great if you have clean upstream Contact data, but unfortunately we don’t and it’s out of CS control at this point.  Getting a lot of “duplicate” failures in the sync job because, yes, we have duplicate contacts on SFDC records.  But because of these duplicate failures, the “wrong” contacts are getting synced to Company Person causing discrepancies.

I believe there are other admins out there with a similar need, for various use cases.

Should be up to the Admin to select the Upsert Key/Key Combination for their particular environment.

 

This would be fantastic, as our users have the ability to authenticate SSO with either email or phone, resulting in a ton of usage data we cannot associate to a particular contact since we cannot create it. 


Doesn’t this support the use case: https://support.gainsight.com/Gainsight_NXT/03Connectors/02File-Based_Integration/People_Management#Resolution_Key_Configuration


@john_apple Yeah I looked at that.  that may be what was intended… but in my environment, I would want to use the SFDC Contact ID/Account ID combination - and I have no way of selecting that as an option:

 


@john_apple Yeah I looked at that.  that may be what was intended… but in my environment, I would want to use the SFDC Contact ID/Account ID combination - and I have no way of selecting that as an option:

 

:worried:

Yeah - I think you’d have to map Contact ID to External ID on the Person object


@john_apple  also, that is the unique “Person” not “Company Person” 

 

if there is a way to achieve my use case using this, I would be all ears...it’s not clear from the doc


@john_apple Yeah I looked at that.  that may be what was intended… but in my environment, I would want to use the SFDC Contact ID/Account ID combination - and I have no way of selecting that as an option:

 

:worried:

Yeah - I think you’d have to map Contact ID to External ID on the Person object

Doing this could do the trick @darkknight 

  
End Proctoring-
 

@john_apple @gunjanm  Welp. This didn’t work for me, mainly because we want to keep SFDC Contact and GS Person/Company Person in sync so that we

  • sync new/modified SFDC Contacts to GS Person/Company Person
  • sync changes to Person/CP back to SFDC Contact
  • allow end users to create new Company Persons 
  • create SFDC Contact records when new Company Persons are created
  • and continue the cycle to keep things in sync

So, in my dev environment, I went through this process:

  • Populated Person::External ID with SFDC Contact ID
  • Switched Resolution Key Config FROM Email TO External ID
  • Configured a “Load to People” rule to sync SFDC Contacts to Person/Company Person (works fine)
  • Configured a Load to SFDC rule to sync Person/Company Person to SFDC Contact (works fine...except….)
    • When someone adds a NEW Company Person record, it doesn't yet have a Person EXTERNAL ID
    • The “Load to SFDC” Rule creates the Contact record...
    • The “Load to Person” rule cannot map the SFDC Contact ID to the non-existent Person EXTERNAL ID… so the Person record never gets mapped to the Contact record….

And without direct Load to Gainsight Object access to the Person object, I don’t think there is a way to solve it...


Hi @darkknight 

Just wanted to confirm my understanding.

A new Company Person is created in Gainsight and synced to Salesforce. At this point, the Contact ID is set and when the sync to Gainsight happens next, a duplicate Person record is created. 

Is there any other field that can be populated from Gainsight and can be used as an identifier? 

In this case, I believe the duplicates will still be created even if we expose fields from the Company person as resolution keys as the fields are not populated from Gainsight and would still be blank

 

Do let me know if my understanding is wrong.

Thank you

Preethi


@darkknight did you get a chance to view the comments posted by @pgeorge.


Hi @darkknight 

Just wanted to confirm my understanding.

A new Company Person is created in Gainsight and synced to Salesforce. At this point, the Contact ID is set and when the sync to Gainsight happens next, a duplicate Person record is created. 

Is there any other field that can be populated from Gainsight and can be used as an identifier? 

In this case, I believe the duplicates will still be created even if we expose fields from the Company person as resolution keys as the fields are not populated from Gainsight and would still be blank

 

Do let me know if my understanding is wrong.

Thank you

Preethi

 

@darkknight did you get a chance to view the comments posted by @pgeorge.

 


Hi @darkknight I agree with @pgeorge any more thoughts around this?


@pgeorge @Shilpa Gumnur Looking from data sanitization perspective, this would be much needed feature. Let us suppose you have unique Person but duplicate Company Person - something like below

 

 

Now if I have to flag one as invalid, then there is no option because load to people will consider both the records when applying the action. Person API also works the same.

There isn’t any way to explicitly update the Company Person record in bulk