Microsoft Dynamics CRM v2
Provides integration with Microsoft Dynamics CRM and Dataverse, which provide customer, sales, service, and business-data management through a structured table model and application APIs that support querying and updating business records.
The Flowgear Microsoft Dynamics CRM Node lets you query Dataverse tables and create or update records from a Workflow. Use it when you want Flowgear to read CRM data, page through result sets, or write batched business changes into a Dynamics CRM or Dataverse environment.
Revision History
0.0.0.1 - Initial release.
0.0.0.3 - Template changes.
0.0.0.7 - Node name correction.
0.0.0.9 - Aligned the connector contract.
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.2 - Maintenance release.
0.1.0.4 - Renamed the Batch Size parameter to BatchSize on Create and Update.
Connection
The Connection stores the Dataverse instance URL and the Entra application credentials used by every method.
| Property | Type | Description |
|---|---|---|
Instance URL |
String | The base URL for the Dynamics 365 or Dataverse instance, for example https://org.crm.dynamics.com. The URL must be absolute and use HTTPS. |
Client ID |
String | The client identifier from the Entra application registration. |
Client Secret |
Masked | The client secret associated with the Entra application registration. |
Setup Notes
- Register an Entra application that can access your Dynamics CRM or Dataverse environment.
- Grant the permissions required for your CRM scenario.
- Add the application as an application user in the Dynamics CRM or Dataverse environment and assign the required security roles.
- Configure the Flowgear Connection with
Instance URL,Client ID, andClient Secret. - Test the Connection before using the Node in a Workflow. The Connection test verifies authentication by identifying the application user in the environment.
The Microsoft Dynamics CRM Node is available on Cloud Runtime clusters.
Methods
The Node exposes one query method and two batched mutation methods. Select a template for the required table to populate the request shape from Dataverse metadata.
Query
Executes a Dataverse query and returns records as they are read.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | The connection for the Dataverse environment. |
Request |
Object | A query definition containing Entity, optional Select, optional Filter, and optional Order. |
| Return | Type | Description |
|---|---|---|
Response |
Array | The returned Dataverse rows merged with the request context that identified the query. |
Create
Creates Dataverse records in configurable batches.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | The connection for the Dataverse environment. |
Request |
Array | Payloads describing the target Entity, optional Id, and Attributes to create. |
BatchSize |
Integer | The number of items to include per batch request. The minimum is 1 and the default is 20. |
| Return | Type | Description |
|---|---|---|
Response |
Array | The mutation result for each request item, including the echoed request context and CRM-specific fields such as Action, Success, Id, Message, and ErrorCode when available. Each item also includes a Flowgear object containing IsSuccess, Message, and the original input under Request. |
Update
Updates Dataverse records in configurable batches.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | The connection for the Dataverse environment. |
Request |
Array | Payloads describing the target Entity, required Id, and Attributes to update. |
BatchSize |
Integer | The number of items to include per batch request. The minimum is 1 and the default is 20. |
| Return | Type | Description |
|---|---|---|
Response |
Array | The mutation result for each request item, including the echoed request context and CRM-specific fields such as Action, Success, Id, Message, and ErrorCode when available. Each item also includes a Flowgear object containing IsSuccess, Message, and the original input under Request. |
Usage Notes
- Query methods do not append default mutation fields to returned rows.
- If a query returns no matching records, the Node emits zero rows.
- If the first provider query call fails, the provider error surfaces to the Workflow instead of being converted into a query error row.
- Query templates omit
TopandPageSize. The Node ignores stale saved values and follows Dataverse continuation links internally. Queryretrieves its first Dataverse page while the Node invoke is awaited. It retrieves continuation pages only as the Workflow consumes rows.CreateandUpdateexecute the first bounded request batch while the Node invoke is awaited, then process later batches as the Workflow consumes results. EmptyRequestinput emits zero rows and does not send a provider mutation.CreateandUpdatepreserve the existing CRM-specific mutation fields and also add Flowgear mutation metadata underFlowgear.- Selecting a
CreateorUpdatetemplate loads attribute metadata soRequest.Attributescontains the fields that Dataverse marks as writable for that action. - If a table cannot be accessed with application user (app-only) credentials,
Flowgear.Messagereports this instead of the raw provider error. - After upgrading from a version earlier than 0.1.0.4, update any Workflow bindings to
Batch Sizeso they useBatchSize, and refresh the selected templates.