One of the items frequently requested, especially in large deployments of Microsoft Dynamics CRM, has been the ability to control Outlook client synchronization. CRM for Outlook provides a fantastic bi-directional synchronization between CRM and Outlook for contacts, appointments, tasks, and other activities; but, in some organizations, business requirements dictate that some or all of the synchronization be disabled, or that the settings not be user modifiable.
With version 4.0, there were SQL database updates that could be used to prevent some types of synchronization, but they were unsupported and could often be overridden by a user updating his CRM for Outlook settings.
Also, contact synchronization options in CRM 4 are based on the user’s local data rules. By default, when users are created, their local data rules default to contacts owned by current user. While this worked well in some situations, in many cases this either resulted in the user’s Outlook contacts being filled with too many contacts (if they own many contacts in crm), or the contacts that they really want to have in their Outlook don't get synchronized. While this could be fixed by updating the user’s local data rules, it was often a surprise for users who just installed the client without first making modifications to their settings.
With CRM 2011, Microsoft has introduced a supported method for setting synchronization settings and controlling them from a global perspective.
First thing you will notice is that in CRM 2011 for Outlook, there are no more checkboxes to enable/disable synchronization for tasks, contacts, or appointments. Now everything is controlled through the local data rules, which are now called Outlook Filters.
Also, in CRM 2011 for Outlook, not only will you see Outlook Filters for contacts, you will also see one for each activity type. These still default to the records that you own or to which you are a party (such as appointments you are attending). However, you can now change the filter rules to adjust what activities synchronize to your calendar.
Imagine a sales manager who wanted to see all appointments involving someone on his team—he could update his outlook filter and include records where the owner of the appointment was on his team.
Also, if someone wanted fewer appointments or tasks to synchronize than everything owned by her, or wanted to turn off task synchronization,you can modify her filter rule for tasks, or disable it altogether.
Controlling Synchronization Filters
So what do you do if you want to control Outlook Filters for all of your users—say you want them to get a different set of filters than the default “my” filters, or you want to disable synchronization for contacts?
CRM 2011 introduces a new feature called filter templates. Outlook filters are stored in the SavedQuery table of the MSCRM database. Filter templates allow you to set one SavedQuery record as the default per entity, then when new users are added to the system, their data rules will reflect the default filter rules.
See this link from the CRM 2011 SDK regarding filter templates:
So you could create one user, set their Outlook filters to the desired default, then set the SavedQuery.IsDefault attribute to 1 on the SavedQuery records for that user. Then subsequent users will default to these rules.
This gives system administrators much greater control over users default Outlook Filters, but what about preventing users from modifying their data rules later?
The security roles in 2011 have been enhanced with a new privilege setting called “Manage User Synchronization Settings” located on the bottom of the Core Records of the security role definition.
If you disable this setting, users will not be able to modify their outlook filters, ensuring that your default settings go unchanged.
Keep in mind that you may not want to do this, especially if you want users to be able to control what records synch/don’t synch; however, if your business requirements dictate limiting synchronization setting modification, this is a welcome addition.
Post by: Joel Lindstrom,
I just saw this (older) blog post for CRM2011 and I appreciate the information. I have a question that is related to the synchronization and I am wondering if my problem might be related to the Filter settings.
We work with CRM 2011, and I am using the Outlook integration on both my laptop and my desktop. Normally the desktop is the synchronization client, and everything works fine. However, when I go on a longer trip, and I am only using my laptop, tasks that my colleagues set up for me are not synchronized to the laptop. I have tried to use the synchronization dialog to switch the synchronization client to the laptop, but the option is always greyed out on the synchronization client, and it will not switch. The only way to actually do that is to use the configuration wizard to delete the connection to the server on both computers, and then re-install them in the right order so that I can set one or the other as the synchronization client. Very tedious.
So, I am wondering if you have any advice. Can I change the filters in a way that allows me to get the tasks even if the synchronization client is off, or is there an easier way to switch the synchronization client?
Thanks for your help.
Designing and building a mkbile website are two
different things. To monitor the heart rate of an individual is not a silly thing.
They are National Securities Depository Limited (NSDL) and Central Depository Services (India) Limited (CDSL).
What's up, just wanted to mention, I liked this post. It was inspiring. Keep on posting!