How to use Power Automate to extract data from Microsoft Dynamics 365 Finance and Operations via Data management package REST API
December 24 2019
In Microsoft Dynamics 365 Finance and Operations there are two APIs strategies that support file-based integration scenarios:
- Data management framework's package API
- Recurring integrations API
Both APIs support data import and data export scenarios, and both use batches. Batch data APIs are considered asynchronous integration patterns because when these APIs are called, data is imported or exported in batch mode. However, calls to these APIs are synchronous. For example, a call to the ExportToPackage API schedules a job to import only a specific data package. The scheduling job is quickly returned (synchronously), and the work is done later in a batch (asynchronously). Therefore, batch data APIs are categorized as asynchronous.
In this article, we will review how to leverage Power Automate and the Data Management package REST API to extract data from Dynamics 365 Finance. We will use the example of extracting “Customer groups” in Dynamics 365 Finance. However, any data entity that is exposed can be leveraged to export data from the system. Here are high level steps:
- The flow is triggered manually from Power Automate. However, it can be automated as well based on certain events that can be used with Power Automate.
- The request is submitted from Power Automate to Dynamics 365 Finance to extract the ‘Customer Group’ data. The entity is configurable and other entities can be used as well.
- A data project execution job is scheduled and run in Dynamics 365 Finance.
- Wait for the data project execution for a specific duration to see if the data project execution is completed successfully.
- Retrieve the package URL from the data project execution.
- Leverage Data Package URL to extract the file and store it on One Drive for Business (or another supported data storage service).
- From here the information can be retrieved and reviewed or shared with other systems.
If Power Automate steps are named appropriately, it can be sufficient to explain all the steps, screenshot below provide details:
Power Automate – Important steps in this flow
Learn more about us here
Nice job
Hi Satish,
I need to do what you have developed for extracting information coming from Talent. Your explanation is very clear, just a Thing, where do I create the Exportto Package api? I have experience in creating Power bi API and not 365 api.
Regards
Giorgio
Nice Job
Hi Giorgio,
The ExportToPackage api is inbuild and can be used when we use the connector "Finance and Operations" in Power Automate/Microsoft Flow. Try to see if connector exist for Talent as well.
Export only subset
Hi Satish,
thank you for your post, anh how it's possible to extract only a subset of data?
F.i. customers that has only "EUR" currency set on customerv3 data entity.
Regards,
Roberto
Variable and do until functionality
Hi can you post the detailed steps for executionstatus variable and do until status is success
Error on CallExportToPackage
Hi,
very good visualization, first of all - thanks!
I run into trouble on the very first action ExportToPackage. I can see in D365FO that he job is excecuted, but i get the following error:
The API 'dynamicsax' returned an invalid response for workflow operation 'Excecute:_Call_export_to_Package_i_DIXF' of type 'OpenApiConnection'. Error details: 'The API operation 'ExecuteProcedure' requires the property 'body/value' to be of type 'Object' but is of type 'String'.'
Can you helt me here?
again thanks for a good article!
/Mads
Recording of Demo
If you have questions about some of the steps, the YouTube video where he covers it can be found here: https://www.youtube.com/watch?v=oPx09tiNS6g