Just noticed the behavior of Data Exchange Framework that it does not delete the records that is already created in Sitecore upon Synchronization and run Sync again after deleting a record in CRM. Is this something that need to be done as a custom provider? Or is there already an out of the box pipeline on Data Exchange Framework ready for Synchronizing Deleted records.

  • what entity from CRM you want to syncronize? What CRM are you using ? Oct 16 '17 at 7:25
  • I am using the "account" entity.
    – Jovit Mayo
    Oct 16 '17 at 7:35
  • and you create items on Sitecore or contacts in xDB? Oct 16 '17 at 7:41
  • I created the items in Sitecore. Mapped into one of my Template.
    – Jovit Mayo
    Oct 16 '17 at 7:43
  • Do you have an identifier in your account object? Oct 16 '17 at 12:19

Unfortunately Dynamics CRM cannot send request to Sitecore to notify that entity was deleted. You can add a custom solution like "Clean Up Sync" pipeline batch to send a request to determine whether Dynamics Crm Entity exists by Sitecore record Id, if no remove record.

Option 1

Read Sitecore Records Pipeline:

  1. Get All Sitecore Records Step
  2. Iterate Step -> [Clean Up Records Pipeline]

Clean Up Records Pipeline:

  1. Find Dynamics Entity By Record Id Step
  2. Remove Sitecore Record if not found Step

Option 2

Read Sitecore Records Pipeline:

  1. Create Queue Step
  2. Get All Sitecore Records Step
  3. Iterate Step -> [Resolve Records Pipeline]
  4. Remove Bulk Records in Queue Step

Resolve Records Pipeline:

  1. Find Dynamics Entity By Record Id Step
  2. Add Record to the Queue If Not Found Step

Follow this example you can add one more Clean Up Sync but for the records which were removed from Sitecore.

  • Thanks for the idea @Vlad Sphak. I did the option 1 you've mentioned in my problem. Thanks a lot. :)
    – Jovit Mayo
    Nov 3 '17 at 6:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.