Dear Community,
Has anyone had experience connecting to D365 Finance & Operations? I have managed to connect to Dynamics 365 but it looks like it only returns tables for Dynamics 365 CRM, not the Finance & Operations application.
I have gone through this doco - https://zappysys.com/blog/register-app-dynamics-crm-365-cds-dataverse-api-azure-ad-oauth/ but I don’t seem to be able to add the API Permissions for D365 Finance & Operations.
Does anybody know if it is actually possible?
Thanks
Basil
@BasilPrivitera Welcome to the Community
Since you didn’t tell which ETL / Reporting tool you want to use to read D365 FO (Finance & Operation) Data I am assuming you are using SSIS.
- The very first step is to try to make a sample API call for D365 FO API in the Postman Tool (see below video). Download Postman here. Below Video Tutorial might help to understand how to do this.
- Configure similar settings in ZappySys (see this Postman to ZappySys migration article)
Any of the following ZappySys products can be used to read data from D365 Finance & Operation. You have to call OData API using OAuth Connection for Authentication.
- ZappySys SSIS PowerPack > SSIS JSON Source
- ZappySys SSIS PowerPack > OData Connector
- ODBC PowerPack > JSON Driver
- ODBC PowerPack > API Driver > OData Connector
Check this URL how to call Finance & Operation API
How to use OAuth Connection - Client Credentials Grant
Register Azure OAuth App for Dynamics 365 Finance & Operations
- Go to Azure Portal and obtain Client Id / Client Secret and Directory Id (Tenant Id) as mentioned in the previous video
- Go to Dynamics Finance and Operation > search for Azure Applications and enter Client Id to link the app in FO
Here are some screenshots but watch the full video above.
Add App Linking in Dynamics Finance & Operations
Step-By-Step : Loading Dynamics 365 Finance & Operations Data in SSIS
- Drag Data Flow from SSIS Toolbox
- Drag API Source from Toolbox and select OData from the connector list
- Choose Authentication Type = OAuth Connection OData Specify your connection details
- Configure Connection Details as below
- Enter API Base URL something like below
https://###your-instance-id###.operations.dynamics.com/data
- Choose Grant Type =
ClientCredentials
- OAuthVersion =
OAuth2
- Enter Client Id and Client Secret (Obtained from Azure OAuth App page)
- Enter the Token URL as below (Obtained from the Azure OAuth App page)
https://login.microsoftonline.com/###your-tenant-id###/oauth2/v2.0/token
- In the ExtraAttributesForTokenRequest enter below Key/value pair of resource URL
resource=https://###your-instance-id###.operations.dynamics.com/
- Enter API Base URL something like below
-
Click OK and select the Table you like to read from. You can supply Search Criteria to narrow down the search if you like.
-
You can click OK to save UI
-
Connect the Source to the target of your choice (e.g. OLEDB Destination - SQL Server) and run the package to load the data.
That’s it see this helps!!!