What happens when tracked records are removed between Outlook and Dynamics CRM?

Here is a small summary describing what occurs when records tracked between Outlook and Dynamics CRM are removed regardless of whether it is removed from Outlook or Dynamics CRM.

Deletions through Microsoft Dynamics CRM:

Type of Record

Dynamics CRM

Microsoft Outlook



Email Stays

Active(Open) Appointments


When the appointment is deleted in CRM, it is deleted in outlook for all users if the appointment start time is in the future.

Canceled/Completed Appointments


Appointment Stays

Active (Open) Tasks


Deleted as well

Cancelled/Completed Tasks


Task Stays



The contact is deleted for all users except the record owner

Deletions through Outlook:

Type of Record

Microsoft Outlook

Dynamics CRM



Email Stays

Active(Open) Appointments


Will be Deleted* when done by Organizer. However the appointment will still remain in Dynamics CRM if deleted from one of the Attendees Outlook

Canceled/Completed Appointments


Appointment Stays

Active (Open) Tasks


Deleted* as well

Cancelled/Completed Tasks


Task Stays



Contact Stays and will synchronize back to record owner’s Outlook when modified in the future.

Deleted* means the ‘Delete’ permission has been granted in one of the user’s security roles and this allows for the removal of CRM records.

Optimizing and Maintaining the Microsoft Dynamics CRM 2011 Outlook Client

Access to Microsoft Dynamics CRM is available in one of three ways:

  1. The Microsoft Dynamics CRM web client leverages Internet Explorer versions 7 through 9 as a browser to provide access to Microsoft Dynamics CRM functionality without requiring the install of any type of client software on the user’s computer.  In the very near future CRM will be supporting multiple browsers.
  2. The Microsoft Dynamics CRM 2011 for Microsoft Office Outlook client provides a familiar experience to the user since it is highly integrated with Outlook. This version of the client also provides offline access as a second configuration option, allowing users to go offline with synchronized Microsoft Dynamics CRM data.
  3. Users can also connect to an implementation of Microsoft Dynamics CRM from an Internet-enabled mobile device, such as a cell phone, tablet, by using the Mobile Express client, which provides access via a lightweight version of the Microsoft Dynamics CRM web client.  In the very near future CRM will be supporting a variety of mobile devices.

This article will focus on optimizing and maintaining the performance of the Microsoft Dynamics CRM 2011 Outlook client.

The major factors that can affect Microsoft Dynamics CRM 2011 client Outlook performance:

  1. Processes and applications running on the client computer
  2. Type of hardware on the client computer
  3. Version of software on the client computer
  4. Network characteristics
  5. Complexity of customizations
  6. Microsoft Dynamics CRM Outlook client configurations

1. BUSINESS Processes and Applications

Some Antivirus applications can cause performance issues with web based applications such as Microsoft Dynamics CRM, particularly those that scan webpages for malicious JavaScript. In cases like this, adding the URL of the Microsoft Dynamics CRM organization to the list of excluded web sites can improve performance. Also removing the CRM file directory from being scanned can improve performance.  Prior to removing web sites and files from being scanned considerate decisions need to be made on what needs to be included and excluded so that there are no undesirable consequences.

Where ever possible turn off non-critical business processes, music/video streaming, gaming software and third party add-ins for Outlook that are not needed to accelerate performance.

2. Hardware Requirements

Component *Minimum *Recommended
Processor (32-bit) 750-MHz CPU, or comparable Multi-core 1.8-GHz CPU or higher
Processor (64-bit) x64 architecture or compatible 1.5 GHz processor Multi-core x64 architecture 2 GHz CPU or higher such as AMD Opteron or Intel Xeon systems
Memory 2 GB RAM 4 GB RAM or more
Hard disk 1.5 GB of available hard disk space 2 GB of available hard disk space
Display Super VGA with a resolution of 1024×768 Super VGA with a resolution higher than 1024×768

* Actual requirements and product functionality may vary based on your system configuration and operating system.

3. Software Requirements

Microsoft Dynamics CRM for Outlook software component prerequisites

The following components must be installed and running on the computer before you run Microsoft Dynamics CRM for Outlook setup:

  • The following versions of Internet Explorer
    • Internet Explorer 7
    • Internet Explorer 8
    • Internet Explorer 9
  • The following versions of Microsoft Office
    • Microsoft Office 2003 with SP3 or later version
    • Microsoft Office 2007
    • Microsoft Office 2010
    • Indexing Service (must be installed and running)

If the following components are missing, they will be installed by Microsoft Dynamics CRM for Outlook setup:

  • Microsoft SQL Server 2008 Express Edition (Microsoft Dynamics CRM for Outlook with Offline Access only)
  • Microsoft .NET Framework 4
  • Microsoft Windows Installer (MSI) 4.5
  • MSXML 4.0
  • Microsoft Visual C++ Redistributable
  • Microsoft Report Viewer 2010
  • Microsoft Application Error Reporting
  • Windows Identity Framework (WIF)

Other prerequisites:

  • Microsoft Internet Explorer 6 or earlier versions are not supported
  • Microsoft Office XP and Microsoft Outlook 2000 versions are not supported for installing and running Microsoft Dynamics CRM for Outlook
  • For the 64-bit version of Microsoft Dynamics CRM for Outlook, a 64-bit version of Office 2010 is required
  • Before you run the Configuration Wizard to configure Microsoft Dynamics CRM for Outlook, a Microsoft Outlook profile must exist for the user
  • Microsoft Outlook must be run at least once to create the user’s Microsoft Outlook profile
  • Cross browser support is coming in the near future in the Microsoft Dynamics CRM Q2 2012 Update

4. Network Characteristics

One of the main causes of poor performance of the Microsoft Dynamics CRM Outlook Client is the latency of the network over which the clients connect to the Microsoft Dynamics CRM Server. Lower latencies normally provide better levels of performance. Latency is the time required for a signal to travel from one point on a network to another. While latency of a network connection can be low, bandwidth (capacity of a specific communications channel) can be a factor if there a lot of resources sharing the network connection, e.g. file downloads and high e-mail traffic.  It is highly recommended to test Microsoft Dynamics CRM Outlook Client performance in a Wide Area Network (WAN) configuration to determine possible bandwidth or latency issues as this testing can vary greatly from performance in a Local Area Network (LAN) configuration.

5. Level of Customization Complexity

When considering performance optimization of Microsoft Dynamics CRM outlook clients, the following should be kept in mind:

  • Number of —
    • Columns in views
    • Columns and grids in use
    • Rows returned per page
    • Sub-grids used on a page
    • Controls on a form (form design)
    • Controls on the ribbon
    • Pinned views
  • Complexity and number of visualizations used in dashboards
  • Use of Jscript and Plugins. Advanced Jscript can add a significant amount of time to, open, save, close and other events especially if calls are made to Microsoft Dynamics CRM or other system. Also plug-ins can affect performance when saving.

In environments with high latency and/or low bandwidth, it is recommended to limit use of these features and functionalities as much as possible without compromising business requirements.

6. Microsoft Dynamics CRM Outlook Client Configurations

For Microsoft Dynamics CRM for Outlook performance optimization, configure the Outlook synchronization filters to affect the fewest record types as well as to occur as infrequently as possible without compromising business requirements and avoid the creation of duplicate records if key fields match.

Note: Over very high latency connections, often a Terminal Services/Citrix connection will improve performance. Note that Terminal Services/Citrix connections are only accessible via Microsoft Dynamics CRM for Outlook; Terminal Services does not support Microsoft Dynamics CRM for Outlook with Offline Access.

In order to optimize Address Book performance, the Address Book should be configured to match only against the contacts that are synchronized to Microsoft Dynamics CRM and to retrieve updates as infrequently as possible without compromising business requirements. For Example, the address book synchronization can be done every 8 hours.

With Microsoft Dynamics CRM for Outlook, users can open tabs to display multiple views of an entity. Users can also “pin” views so they always display when a user logs in to Outlook. Pinned views, which are stored in cache, respond more quickly than do standard views, so be sure that users “pin” the views with which they most commonly interact.

Important: Each pinned view consumes system resources (memory), so balance the use of pinned views against the need for system resources. To optimize the offline synchronization process on computers running Microsoft Dynamics CRM for Outlook with Offline Access, consider the following:

  • Assign all users roles with the minimum access levels and permissions required to perform a job function to help ensure optimized data synchronization to the offline client.
  • Whenever possible, avoid using:
    • “Parent downloaded=true” clauses. Use of this clause often results in the synchronization of unnecessary data, which can degrade the performance of the synchronization process.

Create local data filters for each offline client to ensure that users only have offline access to the data required to perform their job functions. One the local data filters are setup, be sure to remain online and synchronize the data manually. The first synchronization will be slower than subsequent synchronizations because Microsoft Dynamics CRM must remove records.

Pressure for All-in-one Hospitality CRM is Building, But None Meet the Demand…Yet

In an industry where companies host 45 to 65 software applications to run the business, Hospitality IT is clamoring for any software package that can support a wider array of important business processes. And, Customer Relationship Management (CRM) is no different. Faced with data silos, sales and marketing departments that do not collaborate, and ever-increasing pressure to convert existing customers and leads into revenue, companies want a system that will do the job and further reduce the application services footprint.

The unfortunate reality is that today there is no single solution that meets every requirement to manage customer interactions and increase guest loyalty… yet. Our competitive analysis of six CRM solutions that claim to serve the Hospitality industry revealed a cross section of what these companies want.

Hospitality Sales and Marketing departments have limited choices for specialized CRMs. The applications we explored were mostly packaged extensions to standard CRM architectures, such as Microsoft Dynamics CRM or Salesforce.com. . These solutions are deployed via the cloud or as an on-premise solution, or both, and they come in a variety of pricing configurations. This evaluation does not examine pricing and additional configuration costs, which are an unavoidable factor in ANY implementation of this kind.

What Hospitality CRM Shoppers Want

Based on requests from our own clients and the Hospitality CRM offerings in the IT marketplace, we can derive the following priorities:

  • B2B account management (National and Local Accounts)
  • Standard interaction management with 360 degree view of the guest
  • Commercial-grade email marketing tools and direct mail tools
  • Large group and events management
  • POS and Food and Beverage integration (to support 360 degree view)
  • Guest loyalty program management (with customer kiosk)
  • Reporting and analytics, including targeted vs. actual revenue
  • Turn-key integration with other hospitality systems

What Hospitality CRM Shoppers Get

The following table aggregates specific functions of evaluated packages to general business requirements. We ran a subjective evaluation of whether the tool, based on its marketing collateral and/or sell sheets, mostly or adequately delivered the functionality.   Any product evaluation will find that each software vendor plays to their strengths. For example, NewMarket manages catering and events and integration well, while SuiteCRM excels in supporting National and Regional Account management.

Each package has its strengths and weaknesses. The point of this analysis is to lay out the competitive landscape so CRM shoppers can identify candidates that meet immediate needs and future requirements as well. However, no decision can be made without considering external factors such as change management, data quality, and above all total cost of ownership. See “Get Real with your CRM Solution” for more information on these external factors.

The Final Word

The simple conclusion is that no single tool does it all…There is no silver bullet. Depending on the specific needs, hospitality companies will likely continue to host multiple tools to support its own unique ways of running the business. We talked to several companies at Hitec 2010 and learned that they are actually using various combinations of Salesforce.com, NewMarket and MS Dynamics CRM to meet all of their CRM needs. You can imagine the opportunities to consolidate!

However, the real recommendation is that the right implementation is the one that meets a base set of requirements and can then be extended through open architecture and/or customization to meet very specific needs. By steadily customizing and configuring the CRM, those additional software packages and processes will drop off the IT management footprint and at the same time make sales and marketing more productive.

Extending your CRM solution with XRM and other development kits offer true opportunities to realize ROI. Consider that your implementation is just Phase One on a strategic roadmap, which will later include functionality to:

  • Integrate more data from other systems to get a better view of customer behavior to make proactive marketing decisions and accurately measure the business
  • Deliver advanced customer insight through previously unavailable analytics
  • Increase user adoption by rolling out must-have functionality

Hospitality IT departments will roll out the red carpet to any one application that can retire multiple software packages and data silos at once.  That carrot is always being dangled before CIO’s and Technology Directors. At this time however, Hospitality-centric CRM’s are not there yet.  Hospitality companies must continue to push vendors to deliver on these promises. As these products mature, more and more options and greater functionality will become available. Until then, select a tool that allows you to realize immediate value from out of the box functionality and then exploit the open architecture and development toolkit to extend functionality.

FetchXML versus Query Expression

Microsoft Dynamics CRM 4 provides two main mechanisms for querying data from Microsoft Dynamics CRM, FetchXML and QueryExpression.  In general, it is recommended to use QueryExpression over FetchXML because of its better performance and strongly typed results.  But, FetchXML is handy when you need attributes from multiple entities in a single query.  This blog will discuss each type of query and provide an example of each to return the same result.

QueryExpression is class based and is easy to use, although you can only query one entity type at a time.  Therefore, if you need to get data from a parent entity, such as a contact, and then get data from a child entity, such as a custom product entity, you have to perform two queries.  First you must retrieve the contact to get access to its attributes, then you must retrieve the product using the contact id that links the contact to the product.  With QueryExpression, you can specify the attributes you want returned, or indicate you want all attributes returned, you can specify “and” conditions or ”or” conditions, and you can specify a sort order.  To execute a QueryExpression query:

  • Call the Retrieve or RetrieveMultiple methods on the CrmService web service
  • Receive a BusinessEntityCollection containing the results of the query

With FetchXML you can query multiple entity types at the same time as long as there is a relationship between the types.  You can retrieve attributes from multiple entities in one query in this fashion. To execute a FetchXML query:

  • Create a fetch string specifying the query and pass it to the CrmService web service’s fetch method
  • The fetch string contains XML, which specifies the query criteria

Example of QueryExpression:

      QueryExpression query = new QueryExpression();
      query.EntityName = EntityName.contact.ToString();
      ColumnSet columns = new ColumnSet();
      columns.Attributes =
                         new string[] { “contactid”, “lastname”, “firstname” };

      ConditionExpression whereClause = new ConditionExpression();
      whereClause.AttributeName = “lastname”;
      whereClause.Operator = ConditionOperator.Equal;
      whereClause.Values = new string[] { “Jones” };

      FilterExpression filter = new FilterExpression();
      filter.FilterOperator = LogicalOperator.And;
      filter.Conditions = new ConditionExpression[] { whereClause };

      OrderExpression orderBy = new OrderExpression();
      orderBy.OrderType = OrderType.Descending;
      orderBy.AttributeName = “createdon”;

      query.ColumnSet = columns;
      query.Criteria = filter;
      query.Orders = new OrderExpression[] { orderBy };

BusinessEntityCollection retrieved =

Example of FetchXML:

string fetch = @”
   <fetch mapping=””logical””>
       <entity name=””contact””>
            <attribute name=””contactid””/>
            <attribute name=””lastname””/>
            <attribute name=””firstname””/>
            <order attribute=””createdon””/>
                     <condition attribute=””lastname”” operator=””eq””
           string result = service.Fetch(fetch);
   catch(System.Web.Services.Protocols.SoapException se)
            // handle exception

Marketing List Issues in Microsoft Dynamics CRM 4

There are two main issues I have encountered with marketing lists in Microsoft Dynamics CRM 4:

  1. There are limitations in using advanced find to identify contact, account or lead records to include in the marketing list.
  2. Marketing lists in Microsoft Dynamics CRM 4 only store the contact id.

Both make it difficult to use Microsoft Dynamics CRM 4 to create a marketing list and pull product specific data for each item in the list to include in marketing materials, such as letters or brochures.  I will discuss each limitation in more detail below.

Advanced Find

The main problem with using advanced find to identify contacts, accounts or leads to include in a marketing list lies in the fact that advanced find works from the parent entity (contact, account or lead) down to the child entities (products bought for example).  Many times, however, the search criteria for a marketing list needs to work from the child entities up to the parent entity.  For example, you might need to identify a product based on specific criteria and then navigate up the entity chain the find the contact who owns that product.  Using advanced find, you cannot identify a product based on specific criteria and work back up to the contact.

The second problem with using advanced find to indentify contacts, accounts or leads to include in a marketing list is that you can’t compare two records by an attribute value.  For example, if a contact purchased product A on January 1, 2008 and then bought replacement product B on June 6, 2010, you can’t search for Product A and try to find a matching product B based on serial number or some other attribute.  Many real world query criteria for generating marketing lists rely on such complex matching scenarios, which advanced find cannot handle.

Identification by contact ID

Microsoft Dynamics CRM 4 marketing lists only store the contact, account or lead id, no attribute fields.  You cannot modify a marketing list to include other fields, such as serial number, product description, or some other attribute.  This issue arises whenever there is a one-to-many relationship between the contact, account or lead and its child entity.  For example, suppose a customer owns two cars, a red Ford Mustang and silver Nissan Altima.  If some attribute of the Altima, such as the brand of tire on the car, results in the customer being on the marketing list, but the Mustang’s brand of tire would not place the customer on the marketing list, you cannot later run a program that will send a letter to the customer and include specific information about the Altima in the letter because all you have is the contact, account or lead id.  You have no way to determine which car should be used to fill out the letter.


To work around the issues, we used an SSRS report and stored procedure to identify the contact records to include in the list.  We then exported the report results to a comma separated file, which included the contact id as well as specific attribute data for the contacts child entities.  We called a web service to create a marketing list in CRM using the CRM APIs and wrote the attribute data to a database table that linked the marketing list and contact to the correct attribute data.  To process the marketing list, we got the marketing list and looped through the contacts.  For each contact record in the marketing list, we pulled the attribute data from the database table and were then able to include that data in marketing materials.

“Get Real” with your CRM solution

A couple years back, Gartner Group released a CRM research study that predicted “through 2006, more than 50 percent of all CRM implementations will be viewed as failures from a customer’s point of view….”

Sad to say but things are not much better today! Retaining and enhancing customer relationships remains a top 5 business issue on the Gartner CIO Agenda. It is critical, especially in today’s economy, that companies continue to invest in managing its most valuable asset, its customers. According to AMR Research, companies are investing in CRM to the tune of $14 billion dollars a year.

Is my CRM Solution Successful?

So, you have made your investment and implemented your CRM tool. Are you part of the 35% of successful deployments, or sadly the 65% that have fallen short?

If there is any doubt where your company falls, consider the following questions…

  • Are you still limited in your ability to grow your top tier accounts?
  • Are your national accounts meeting their revenue commitments?
  • Are your people using Excel and Outlook to fill gaps that your CRM tool is not meeting?
  • Can you track and measure your sales team performance? Are they closing activities and, more importantly, deals?
  • Can you assess the effectiveness of your marketing spend and campaigns? A CRM worth its salt should have great marketing capability. Your CRM should seamlessly integrate with a commercial grade marketing vendor, like email marketers and direct mail vendors. These vendors provide essential functionality including email tracking and spam prevention, integrate MS Word mail merge and direct marketing capabilities, and campaign budget management.  The bad news is that CRM solutions rarely offer this level of marketing functionality out of the box.
  • Is your CRM system a data silo? Is your customer data not feeding other enterprise tools, or are you not interfacing with transaction data to measure projected revenue to actual revenue?

If you answered yes to any of those questions, your implementation may be heading in the wrong direction. Now that you realize the hard reality, how did you right the ship?

  • Perhaps you drank the ASP/SaaS model kool-aide. The cloud is a great and cost effective solution…however, “Success not Software” does not mean “No Risk”. While the promise of speed to market with limited CapEx layout is attractive to everyone, the shortcuts you take early on in your deployment will cost you double down the road.  I have spoken with many people that have struggled to scale their CRM solution to meet the changing needs of their business and is cost prohibitive to deploy across the enterprise.
  • You assumed that CRM success comes out of the box. CRM software is usually designed for many types of business. To make the software work for you, no matter what the vendor tells you, there will be configuration and some customization to meet the unique needs of your industry. CRM packages are designed to meet the needs of the largest common denominator. A Product screen for an insurance company will not look like the Product screen for a hospitality company.
  • You did not focus on critical factors that drive user adoption such as, familiar interface, standardized processes, organizational readiness, change management, or ease of use.

Get on the Road to Recovery

Determining that your CRM implementation has problems may be instant or it may materialize over time. Regardless, you must analyze the situation and determine your rescue strategy. So, what can you do now?

Treat your CRM system as the critical Enterprise solution that it is. You would not implement a new accounting system without first understanding accounting practices across the organization, identifying integration points, and dealing with change management. It is important to note that the success factors for CRM implementations rest largely outside the scope of the software itself. To establish the best implementation strategy, you must

  • Identify the Organizational impact early on and build change management strategy and tools accordingly.
  • Get executive buy-on on the new strategy and include stakeholders from across the organization (Marketing, Sales, Finance, Customer Service, IT)
  • Pay attention to data quality, specifically data governance practices and procedures. There is nothing more detrimental to user adoption than bad data.
  • Standardize AND SUPPORT your business processes across the enterprise
  • Highlight benefits to sales team often (i.e. up-sell, cross-sell, single system, clean data, 360° view of the customer)
  • Understand your industry-specific CRM needs and ensure your can configure screens and workflows to match
  • Address the complexities of integrating into your enterprise architecture with multiple legacy data silos and even offline processes
  • Provide the right customer intelligence with dashboards and robust reporting to the right people, at the right time, to effect change

Carefully consider the points above and invest in CRM tool experience when designing and implementing your solution. Don’t fall into the trap of trying to learn a new tool on the job! There are many functions and features available within the package, and outside through the open source collaborative environment. Bending your business processes to meet your software will affect user adoption.

Look for a CRM partner with a broad and proven resume of integration and enterprise information system implementations. If you treat your CRM implementation like the critical enterprise application it is, you are more likely to be part of the 35% of CRM implementations that succeed!


We here at Edgewater have had a surprising number of customer conversations recently about skyrocketing CRM costs associated with a very popular hosted CRM package (that shall remain nameless).  In many cases, the conversation goes…

“The CRM initiative was driven by the business (which is great), and initial costs were palatable.  One or two years down the road: deep discounts are a thing of the past and the seat count has doubled or tripled.  Looking to the future all that can be seen is increasing cost; and there are not a lot of options for containing those costs.”

 An obvious question comes up – Can you justify these costs for a CRM platform?  CRM has tremendous benefits of course if it’s really leveraged, but does the annual cost of admission have to be so high?

Our answer is no.  You do have other platform options.  Quite frankly, the best CRM solutions are very similar in look and feel, are very configurable, and have almost identical capabilities.  We’re helping lots of customers adopt MS Dynamics CRM which we’ve found to be a very strong solution.  And it’s a lot less expensive.

Some good news: if you’re in this situation, you’ve probably got a really good understanding of what can make CRM successful at your organization.  And in most cases it has very little to do with the software.  Maybe there are things you’d do a little differently if you could go back.  Maybe a shift is an opportunity. 

If you’re thinking about easing that annual renewal burden but are concerned about how to go about it, here are some things to consider.


By now you know that using the web based configuration/admin interface is relatively simple.  You spent time up to now understanding how CRM should work, what your custom objects look like, how they interact.  That’s the hard part.  And you’ve probably learned some things along the way.  If you could do it over again, you’d x, y, and z.  As opposed to looking for a tool that will port your existing configuration, spend a few days building out your configuration and fixing your mistakes with a new tool.  It can be quite painless.


You’ll need to convert of course.  But the good news is that you should (hopefully) have all of that data in one place (your CRM solution).  Your initial adoption may have (should have in most cases) involved getting customer data out of multiple systems which is tough.  The great news is that you probably don’t have to do that again.  And there are low cost options for loading it into a less expensive solution.


One of the biggest problems with any CRM implementation is low user adoption.  So if you’re facing high renewal costs – that actually good news!  And what would rolling to a lower cost solution look like?  Pretty simple actually, it’s not like client/server days.  Rolling a new web application out is as simple as sending a URL.  And rolling an outlook-integrated client is a pretty simple effort if that’s your preference.  Everyone needs to use email after all.  You’ll also be surprised at how quickly your users will adapt to a new tool – again, the best CRM products are very similar.

Reporting and Integration

You may have also spent quite a bit of time with reporting and integration.  These things are obviously extremely important to successful adoption.  So it might seem like a mountain of work – but think about where you spent a good deal of your time.  Data field identification and mapping.  If you’ve got a good set of requirements, start with that document, add another column to your mapping tables (and make sure you don’t change your requirements).  You can start right with implementation.

If the TCO for that very popular hosted CRM package has got you reeling, why not look at other options?  It’s not going to be any less expensive next year.  Now you know what it takes to make CRM successful.  You can leverage the good work you recently completed to get yourself on a more affordable platform.  Focus on configuration, data, adoption, reporting, and integration when planning your re-platform.  There’s no need to start from square one.  Next year at renewal time, you’ll be in a whole lot better situation.

Of course, it would have been nice to do a complete TCO analysis in the first place.  But that effort probably didn’t make your budget last year. J