The Bulk Data Updater for Microsoft Dataverse and the Power Platform is a tool in the XrmToolBox to update and delete bulks of records in one action.
Click here to see the latest Release Notes and all since 2016.
Any and all feedback is greatly appreciated!
Join us in the discussion forum 👉 https://jonasr.app/BDU/forum
Select records 🔗
First step to use the tool is to define which records to work with. There are a few different options to create the query for the records.
Bulk Data Updater is tightly integrated to FetchXML Builder, which provides a nice UI to compose queries for the Dataverse backend.
Click the button to open FetchXML Builder, compose and test the query, then hit Return FetchXML to allow Bulk Data Updater to use the composed query.
If you are familiar with FetchXML or only want to make minor changes to the query, you can hit the Edit FetchXML button.
Many times the easiest way to get started is to open an existing entity view (table list) from Dataverse. This will query the connected environment for all tables, and when a table has been selected it is possible to select a view for that table. The query of the selected view is shown for verification.
If you have a FetchXML query stored in a local file, the Open File option can be used.
Bulk update records 🔗
The Bulk Update feature will update one or more columns on all or selected records. Columns are added one by one, each with its own definition of what shall be done with the value of the column.
Add columns 🔗
First select which column to update in the dropdown list.
Then select which action to take on that column.
When columns are added, it is possible to specify if the value should always be updated only when a change is needed, to improve performance.
Set a fixed value in this column for all records to update. Depending on the column type, different options will be displayed to the user.
Note – the Calculate feature is available from version 1.2020.12.x!
To generate calculated values, add fixed text combined with “tokens” to retrieve information from the record being updated or records related to that. Some tokens are not depending on the record, but instead replaces the tokens with system variables such as current date/time, information from the current user etc.
A preview of the calculation, based on the first selected record, is shown below the calculation field.
👉 Read all about the code XRM Tokens 🔗.
👉 Read all about the tool XRM Tokens Runner 🔗.
Note – current version only works for targets of type string/text/memo. Work is getting for other types!
Adding columns with the Set Null option will clear the value of the selected column for all records included.
Adding columns with the Touch option will force setting the same value as it already had in the database, for each record. This can be a great way to trigger plugins, Power Automate flows, or classic workflows for multiple records at a time.
All or Selected records
Before hitting the Update records button, make sure to verify which records that will be included in the update.
In some scenarios it can be good to “let the server breathe” a bit between calls. Use the Wait betw. calls option to specify breathing time.
Batch size can be used to batch calls inside ExecuteMultiple requests to the server to improve performance. Which setting that is best depends on type of updates, target column types, and possible business logic being triggered by the updates.
Check Ignore errors to force Bulk Data Updater to continue with next record / request even if the backend reports a problem with an update.
A special form of updates is to change the owner of a record in Microsoft Dataverse, which is known as “assigning” records. The owner column is not available for update like other columns in Bulk Data Updater.
Set State 🔗
A special form of updates is to change the status and status reason of a record in Microsoft Dataverse. These columns are not available for update like other columns in Bulk Data Updater.
In addition to updating records – Bulk Data Updater can also be used to delete all or selected records from the connected Dataverse or Dynamics 365 database.