One of the great features of Dynamics 365 is the ability to import records into the system. While imports can be used for creating new records, as well as updating existing records, I want to focus on the ability to import new records within the scope of this article.
Import File Options
When importing new records into Dynamics 365, there are two options for the source file:
- Produce your own file: Generally, this would be a CSV (or other delimited) file with your own headers. In an ideal world, you will want to make sure the column headings match your field names in Dynamics 365. When walking through the import process, Dynamics 365 will try to automatically map fields based on this information. Some up-front work on this will save you time when manually mapping these fields.
- Use an import template: In Dynamics 365, you can download import template from: Settings > Data Management > Templates for Data Import. When using one of these files, do not remove columns A, B, or C, the system uses this data to know what records you are importing into the system. For ease of use, you may want to delete any columns representative of the fields for this entity in Dynamics 365 to make the file easier to use. Just leave columns A, B, and C alone!
Once your import file is complete, navigate to: Settings > Data Management > Imports > Import Data. This will launch a wizard-esque interface, allowing you to upload your data file, define field mappings, and then import.
The import feature will provide you with the total number of records, the number of successes, the number of partially imported records, and the number of failures. To further diagnose failures, the system provides detailed insight into why any individual row failed. If/when an issue is encountered, Dynamics 365 will fail on that row, and proceed to the next, allowing the import process to continue, and not immediately fail the remainder of the records in the import file.
Below are two of the most common issues experienced during the data import process.
- Look-Ups: If using standard mappings, the import process in Dynamics 365 will attempt to resolve look-up fields referenced in the file based on the entity’s name field. This will work anywhere except for where the data is duplicated, such as Accounts with the same name, or the data does not exist in Dynamics 365. If you do have records with the same name, but these are not true duplicates, the import process has a method where you can resolve these look-ups against some other distinct record ID. I would say it is also not uncommon to create fields specifically for this.
- Option Sets: Any value within your source file must match the option set values in Dynamics 365. If using an import template produced from Dynamics 365, this business logic is built in. If using a CSV file, the values in the file must align. If the values are different, you will need to map the values to a corresponding value in Dynamics 365 when defining your field mappings.
When importing data, you will want to consider any automations which may exist for your data. These considerations may be Business Rules, Processes/Workflows, or other functionality driven by custom code. You also want to take a back-up of your Dynamics 365 database prior to importing, just in case any unanticipated data issues arise.
- Business Rules: If you are driving field values based on other field values, but have not imported all data in alignment with these Business Rules, your users will likely receive a message opening any record as the Business Rule triggers for the proper field update. Users would then be prompted to save the record.
- Processes/Workflow: You may have Processes/Workflows which trigger on the creation of new records. You may want to take this into consideration, inactivating Processes/Workflows which you do not want to trigger.