Understanding of Two sync integration

Hello Robert,

Just wanted to clarify about 2 ways sync integration flow. Currently we’ve an integration of 360Alumni & DonorPerfect which is working perfectly fine and it’s depending upon email id. The integration has been developed email as unique, if email found update the record or create new one. Now the client wants to change the flow which should be based on the record id. My question is if I change the flow of the connector which would be based on record id instead of email, then would it effect the previous records which are already synced long time back. Would it work as it is or no sync for them?
Hope I’m clear about my point or let me know about it.

Thank you
Vishwanath

Hi Vishwanath,

The “Item ID” field in the Two-Way Sync trigger and action modules is what the database stores to link the records:

The system determines whether to invoke the 2ws “add” or “update” action based on whether the item ID is stored in the database. If an item ID is not in the database, the 2ws “add” assembly is invoked. If the item ID is already in the database, then only the “update” assembly is invoked.

It is the 2ws “add” assembly logic you build that determines how records are matched to existing ones in the 3rd party system. It can perform any logic needed to determine if the record needs to be added or if the record already exists.

In the case of those 2 apps, I see they are both using item id fields in the 2ws modules. So you are free to alter the matching logic in the “add” assembly to use something other than email for determining whether a record is new or existing. The previously linked items will continue to work in the automation.

Robert

Understood, that’s all I wanted to know. Thank you so much for your time.

Hello Robert,

One more thing about 2 way sync, when we create a record first time (completely new record) and for some reason (like require fields are missing) error occurred and of-course there will be no sync, now if user filled up correct information for the same record and execute the connector again, this time nothing gets trigger.
If we check the database dump we found that record id but it’s not mapped with any other record’s id. To trigger that record again I need to delete that id from database dump.
Actually one of our client faced the same situation and asking why it’s not triggering once I correct the information about record.
I couldn’t convince them fully that if at the beginning error occurred then it won’t sync until id gets remove from DB. Also they were asking how to deal with this kind of situation.

Thank you
Vishwanath

That’s right, the unlinked record won’t be reprocessed until the id is removed from the database and the record is re-submitted such that the trigger sees it again. So you need to do whatever is possible to avoid the initial error condition.

Understood, thanks Robert.