Connection to Dynamics 365 Finance & Operation

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 :slight_smile:

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.

  1. 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.
  1. 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.

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

  1. Go to Azure Portal and obtain Client Id / Client Secret and Directory Id (Tenant Id) as mentioned in the previous video
  2. 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

image

Step-By-Step : Loading Dynamics 365 Finance & Operations Data in SSIS

  1. Drag Data Flow from SSIS Toolbox
    Drag Data flow from SSIS Toolbox
  2. Drag API Source from Toolbox and select OData from the connector list
  3. Choose Authentication Type = OAuth Connection OData Specify your connection details
  4. Configure Connection Details as below
    1. Enter API Base URL something like below
      https://###your-instance-id###.operations.dynamics.com/data
    2. Choose Grant Type = ClientCredentials
    3. OAuthVersion = OAuth2
    4. Enter Client Id and Client Secret (Obtained from Azure OAuth App page)
    5. Enter the Token URL as below (Obtained from the Azure OAuth App page)
      https://login.microsoftonline.com/###your-tenant-id###/oauth2/v2.0/token
    6. In the ExtraAttributesForTokenRequest enter below Key/value pair of resource URL
      resource=https://###your-instance-id###.operations.dynamics.com/

  1. Click OK and select the Table you like to read from. You can supply Search Criteria to narrow down the search if you like.

  2. You can click OK to save UI

  3. Connect the Source to the target of your choice (e.g. OLEDB Destination - SQL Server) and run the package to load the data.
    Using Upsert Destination to load API Data into SQL Server

That’s it see this helps!!!