Microsoft Dynamics Finance
Microsoft Dynamics Finance is an enterprise finance and operations platform that exposes legal-entity business data through OData services and application APIs.
The Flowgear Microsoft Dynamics Finance Node queries entity sets and creates, updates, or deletes rows. Use it to move operational data while keeping company routing and keyed updates inside the Connector.
Revision History
0.0.0.8 - Initial release.
0.0.0.9 - Aligned the V2 Connector contract and public help article.
0.1.0.0 - Added eager startup and lazy continuation for streamed invokes.
0.1.0.1 - Removed query paging controls from templates and kept continuation paging inside the Node.
0.1.0.3 - Published the current V2 overhaul release.
0.1.0.4 - Added metadata-driven templates, company-aware operations, paging, standardized mutation responses, and improved result parsing.
Connection
Use the Connection to configure the Dynamics Finance endpoint and OAuth authorization.
| Property | Type | Description |
|---|---|---|
Tenant ID |
String | The Microsoft Entra tenant ID used to issue OAuth tokens. |
Client ID |
String | The client ID from the Microsoft Entra app registration. |
Client Secret |
Masked | The client secret from the Microsoft Entra app registration. |
Access Token |
Masked | The OAuth access token returned after delegated authorization. |
Refresh Token |
Masked | The OAuth refresh token used to renew access. |
Scopes |
String | The OAuth scopes requested during authorization. This defaults to offline_access. The Node also requests the default scope for the configured Resource URL. |
Resource URL |
String | The HTTPS URL of the Dynamics Finance environment, e.g. https://contoso.operations.dynamics.com. |
Metadata |
String | The hidden OData metadata cache used to populate detailed templates. Flowgear manages this Property when you acquire metadata. |
Setup Notes
Use this Node on a Flowgear Cloud Cluster. It is not available on Run Anywhere Clusters.
- Register an application in Microsoft Entra ID.
- Open
API permissions, clickAdd a permission, selectMicrosoft APIs, and chooseDynamics ERP. - Add these delegated permissions:
Access Dynamics AX Custom ServiceAccess Dynamics AX dataAccess Dynamics AX online as organization users
- Grant admin consent for the permissions, or ensure the signed-in user can provide consent.
- In Dynamics Finance and Operations, open
System administration→Setup→Microsoft Entra applications. - Register the same
Client IDand assign it to a user with the required Finance and Operations security roles. - Configure the Flowgear
ConnectionwithTenant ID,Client ID,Client Secret, andResource URL. SetScopesonly when you require additional scopes. - Complete the OAuth authorization and test the
Connection. - Click
Acquire Metadatain the Connection settings and allow the action to finish. The metadata is required for detailed entity and key-field templates. If a template is incomplete, acquire the metadata again.
Methods
Use the Node templates to select an OData entity set and populate its request and response schema.
Query
Queries a Dynamics Finance OData entity set. The Node retrieves the first page before returning and follows continuation links as the response is consumed.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | The Dynamics Finance Connection profile. |
EntitySet |
String | The OData entity set to query, e.g. CustomersV3, or the reserved GetLoggedInSessionInfo session query. |
Options |
Object | Optional company and OData query settings. |
The Options object supports these Properties:
| Property | Type | Description |
|---|---|---|
Company |
String | Optional legal entity filter, e.g. USMF. A value automatically enables cross-company access and adds a dataAreaId filter for that company. |
Select |
String | A comma-separated list of fields to return. |
Filter |
String | An OData filter expression. The Node combines this with the Company filter when both are supplied. |
OrderBy |
String | An OData order-by expression, e.g. AccountNum asc. |
cross-company |
Boolean | Set to true to return results across legal entities. Leave this as false for current-company queries. |
| Return | Type | Description |
|---|---|---|
Response |
Array | The matching Finance business rows. |
Create
Creates rows in a Dynamics Finance OData entity set.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | The Dynamics Finance Connection profile. |
EntitySet |
String | The OData entity set in which to create rows, e.g. CustomersV3. |
Company |
String | Optional legal entity added as dataAreaId when an item does not already contain one. An item's existing dataAreaId takes precedence. |
Items |
Array | The payload objects to create. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result row for each supplied item. |
Update
Updates rows in a Dynamics Finance OData entity set. Detailed templates populate the metadata-defined key fields required to build the update URL.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | The Dynamics Finance Connection profile. |
EntitySet |
String | The OData entity set in which to update rows, e.g. CustomersV3. |
Company |
String | Optional legal entity added as dataAreaId when an item does not already contain one. An item's existing dataAreaId takes precedence. |
KeyFields |
String | A comma-separated list of key field names used to identify each row, e.g. dataAreaId,CustomerAccount. |
Items |
Array | The payload objects to update. Each item must contain every field named in KeyFields and provide dataAreaId directly or through Company. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result row for each supplied item. |
Delete
Deletes one row from a Dynamics Finance OData entity set. The Node checks that the row exists before sending the delete request.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | The Dynamics Finance Connection profile. |
EntitySet |
String | The OData entity set from which to delete the row, e.g. CustomersV3. |
KeyFields |
Object | The metadata-defined key field names and scalar values that identify the row. |
| Return | Type | Description |
|---|---|---|
Response |
Array | A single result row indicating whether the delete succeeded. |
Usage Notes
- Select the first Query template,
Get Logged In Session Info, to retrieve the authenticated session context and active company. - Leave both
Companyblank andcross-companyset tofalseto query the current company. Setcross-companytotruewith a blankCompanyto query all accessible companies. SetCompanyto query only that legal entity. - Keep cross-company queries narrow by using
Company,Filter, andSelectwhere possible. - Query responses contain Finance business rows without mutation metadata. Empty queries return no rows, and provider failures surface to the Workflow.
Queryretrieves its first OData page while the Node invoke is awaited and retrieves continuation pages as the Workflow consumes rows.CreateandUpdateexecute the first input item while the Node invoke is awaited, then process later items as the Workflow consumes results. EmptyItemsinput emits no rows and performs no provider mutation.Deletecompletes its provider operation before returning its single result row.- Create, Update, and Delete preserve provider fields at the response root and add
Flowgear.IsSuccess,Flowgear.Message, andFlowgear.Request.Flowgear.Requestcontains the originalItemsrow for Create and Update, or the suppliedKeyFieldsfor Delete. - Create and Update return a failure row for an individual item without stopping later items. Delete returns a failure row when no record matches the supplied
KeyFields.