About the series

This series will introduce you to two major areas related to Outlook Synchronization in Microsoft Dynamics CRM for Outlook:

Concepts & Rules

Troubleshooting

 

Introduction

In order to further understand the Outlook Synchronization, let’s look at some synchronization scenarios of the Outlook Synchronization. 

In this article, we will review the synchronization flow when an item (ACT – Appointment, Contact, Task) is changed in Outlook and how the changes are processed by the Outlook client and Dynamics CRM.

 

Changes to items in Outlook (ACT)

 

Synchronization flow:

(1) The user modifies a tracked contact record in Outlook.

(2) The Outlook synchronization process detects changes by monitoring MAPI change notifications, which are generates whenever an item is changed.

(3) When a MAPI notification is detected for an item that is marked for synchronization, entries are added to the OutlookSyncTable and the IDMappingTable.

(4) Synchronization process takes all items in the table for processing.

(5) Synchronization process updates the changed fields in Dynamics CRM.

(6) The contact record is updated.

 

Follow below some concepts and important notes about MAPI:

  • MAPI is a Messaging API that was developed for building solutions on Microsoft Outlook.

  • CRM for Outlook uses MAPI for displaying CRM data in the Outlook add-in using navigation folders, and items in the grid.

  • CRM for Outlook also uses MAPI notifications for synchronization.

  • To prevent missed MAPI change notifications, each notification is written to a MAPI Contents Table (in Outlook’s native cache or store).

  • The CRM Add-in periodically scans the MAPI Contents Table for any new items that have occurred since the last synchronization date/time.

  • Examples when CRM for Outlook misses MAPI notifications:

    • The add-in was disabled during the change          

    • If a change were to occur before the Outlook add-in had been fully loaded

       

Troubleshooting sample

Let’s show a sample of how to use the troubleshooting tools (article Dynamics CRM Outlook client: Simple list of Troubleshooting Tools) considering this synchronization scenario: changes to items in Outlook (ACT).

 

Steps:

(1) Navigate to client machine, open the client side tools and clean up old traces:

CRM client traces

(2) Open the SQL CE Toolbox tool > OutlookSyncCache.sdf database file and prepare the queries (attachment):

SELECT * FROM [IdMappingTable]; 

SELECT * FROM [OutlookSyncTable];

 

(3) Start the collections (client-side)

                CRM client traces (%localappdata%\Microsoft\MSCRM\Traces)

 

(4) Select a tracked contact record and change it by Explorer View (i.e. Job Title)

(5) Stop all collections

(6) Review the CRM client traces, focusing on the crmaddin-#date#.log file

(a) Search for MapiEvents

(b) Noticed about MAPI Change Notification

(7) Go to SQL CE Toolbox and run the queries, reviewing the outcomes

 

References

Outlook Synchronization in Microsoft Dynamics CRM

Outlook 2013 MAPI Reference

MAPI Tables

How to enable tracing for the Microsoft Dynamics CRM for Outlook client

SQL Server Compact & SQLite Toolbox