Consider the following scenarios:

(1) You need to migrate data (data migration) in bulk from a legacy application into Microsoft Dynamics CRM 4.0.

(2) You need to regularly share data (data integration) between Microsoft CRM and another application.

(3) Your users want to update many records very quickly - without having to open up a data entry form each time they make an update.

There are many great tools out there to accomplish each of the above tasks.  It can be frustrating because you can waste many hours working with one tool, only to find out that it is not the right tool for the task at hand.  Below is a listing of tools and methods, when to use each and some of the pros/cons.  They are listed mostly in the order of complexity - so if you can get your job done with something higher up in the list, you'll probably save some time on your learning curve.

DISCLAIMER: Each of these tools is constantly evolving - so if I misspeak, please post a comment so I can correct this posting.  THANKS!

More Actions | Edit

The easiest way to do a bulk update on records in Dynamics CRM is to use the Edit button.  It's in the More Actions menu in the button bar just above most grids.  You can first select all the records that you want to update, then select More Actions | Edit - you're presented with a blank data entry form.  Whatever changes you make in the data entry form will be made to every record that was highlighted.  This isn't really for migrating or integrating data - but it's somewhat related so I thought it was worth a mention.

Bulk_Edit_CRM

Import Wizard

The import wizard in CRM 4.0 is a HUGE improvement over the import wizard in CRM 3.0.  While there are still some annoyances to iron out, it is a great tool.  It's perfect for importing that occasional list of leads that a rep brings home from a trade show.  If you find that you import the same lists in the same format time and again - you can save the data map to make the job easier in the future.  It also has a much improved feature for mapping picklists when importing files.

The Import Wizard is found in the Tools menu right next to the Advanced Find button.  Look for the Import Data... menu option.

Dynamics_CRM_Import_Wizard

You can not only use this tool to import records to a "flat file" (such as importing a list of trade show records into the Leads entity), but you can also create links to parent records (such as importing a list of Contacts and associating them with the correct Account).  A full discussion of how to do this is outside the scope of this blog - do a bit of Binging and you should be able to find a blog with that info if needed.

It is not, however, a useful tool for importing complex related data.  For example, if you want to import a list of contacts from another tool, and the activities related to those contacts, you would probably find the Import Wizard to be cumbersome for that task.  It is also not in the consideration set for integration with your accounting system.

Microsoft_CRM_Import_Wizard

 Data Migration Manager

Like the Import Wizard, the Data Migration Manager (DMM) for CRM 4.0 has taken several leaps forward in this latest version.  It takes what you can do with the Import Wizard to the next level. You can not only import your various data sources into CRM - you can also define the links between the original source files, and CRM will do a nice job of preserving those links as it imports the data.

You can save your import templates to re-use, and the tool comes with templates for a few of the more popular entry level CRM tools, such as ACT.

One notable downside is that (to my knowledge) you cannot map your picklist fields.  DMM tries to offset this by offering to update your picklists if it finds new values.

You don't have a lot of interactive tools for performing transformations during the migration process with this tool - but there are some (click here for more info).  You can always do your transformations in MS Access or Excel prior to using DMM to finish off the migration.

A batch line capability, interactive transformations design and better picklist management - and DMM would meet almost all data migration needs and entry-level integration needs as well.

CRM Data Import Tool(s)

We all run into those situations where you need to update a lot of records in a hurry.  Using the Import Wizard, you can do this to an extent.  But it would be nicer if you could just open up a "data entry grid" or "inline data entry" and do the job quickly.

I haven't had a chance to do anything with this yet - but there is a tool available on CodePlex that claims to allow you to do just that.    Here is an article on how the data import tool works: click here

Here is where you can go to download the data import tool: click here

UPDATE: Third Party Data Migration and Integration Tools

The only real option for handling a highly complex data migration project - or an ongoing systems integration project - is a tool dedicated to handling linking two or more databases together.  A number exist on the market today, here is a brief synopsis (look for more detailed reviews later):

* Scribe: Probably the most popular tool on the market for Microsoft CRM data migration and integration.  Scribe has been on the market for quite some time, is a very flexible, contains an easy-to-use adaptor to Dynamics CRM and is supported by a robust community of certified systems integrators. C5 Insight is a Scribe partner.

* Pervasive: Some of you may recognize the name Data Junction?  Pervasive purchased this tool and has evolved it to a new level.  It includes a native connector to CRM.  Pervasive does a good job of extracting data from one source, provides an advanced scripting language for transforms, and loads it into a destination system.  We use it for advanced data migrations and some integrations.  With a little bit of work, Pervasive can even be coaxed into consuming a custom WSDL from another application as a source or destination file. 

* BizTalk: This is the systems integration from Microsoft.  If you drink all of the kool-aid, then you may want to give this a try.  We've taken a look at it in past years and have not been satisfied that it is the best tool for integrating Microsoft CRM with other applications.  With that said, Microsoft has made some announcements about upcoming updates to this tool that may make it a better choice - so it may be worth evaluating this one.

Custom Application

A final option is always to go the coding route.  You can tap directly into the MS CRM API using the SDK to push/pull data as needed.  This option is great job security for the developer who writes the code!  Seriously, this approach tends to consume more time up front and requires deeper expertise to maintain.  In some circumstances this may make sense, but we treat this as a last resort because the tools above can generally do the job at a lower cost and deliver a result that is much easier to maintain.