Reimaginate.Orchestrator.Dynamics365 1.1.5

dotnet add package Reimaginate.Orchestrator.Dynamics365 --version 1.1.5
                    
NuGet\Install-Package Reimaginate.Orchestrator.Dynamics365 -Version 1.1.5
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Reimaginate.Orchestrator.Dynamics365" Version="1.1.5" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Reimaginate.Orchestrator.Dynamics365" Version="1.1.5" />
                    
Directory.Packages.props
<PackageReference Include="Reimaginate.Orchestrator.Dynamics365" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Reimaginate.Orchestrator.Dynamics365 --version 1.1.5
                    
#r "nuget: Reimaginate.Orchestrator.Dynamics365, 1.1.5"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Reimaginate.Orchestrator.Dynamics365@1.1.5
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Reimaginate.Orchestrator.Dynamics365&version=1.1.5
                    
Install as a Cake Addin
#tool nuget:?package=Reimaginate.Orchestrator.Dynamics365&version=1.1.5
                    
Install as a Cake Tool

Reimaginate.Orchestrator.Dynamics365

Dynamics 365 Dataverse workflow actions for Orchestrator hosts.

Use this package when workflows need generic Dataverse create, update, get, search, or delete operations. The package does not own OAuth flows, connection strings, token storage, or environment selection state. Hosts provide those concerns through IDynamics365WorkflowConnectionProvider.

Registration

Register the action handlers in the customer host:

services.AddDynamics365WorkflowActions(configuration);

If the host uses a custom workflow action resolver, scan this package's action assembly:

using Reimaginate.Orchestrator.Abstractions;
using Reimaginate.Orchestrator.Dynamics365.Actions;

[WorkflowActionResolver]
[ScanAssembly(typeof(Dynamics365WorkflowActionsMarker))]
public partial class WorkflowActionResolver : IWorkflowActionResolver;

Register a host-owned connection provider:

services.AddSingleton<IDynamics365WorkflowConnectionProvider, CustomerDynamics365ConnectionProvider>();

IDynamics365WorkflowConnectionProvider receives the workflow EnvironmentKey and returns an IOrganizationService. EnvironmentKey is optional; null means the host default environment.

Actions

  • D365.CreateRecord
  • D365.UpdateRecord
  • D365.CreateRecords
  • D365.UpdateRecords
  • D365.GetRecord
  • D365.SearchRecords
  • D365.DeleteRecord

All actions return Success and FailureReason plus action-specific result fields. Bulk create/update defaults to a maximum of 50 records, configurable with Orchestrator:Actions:Dynamics365:MaxBulkRecords.

Attribute Values

Plain JSON values map to Dataverse primitive values. Typed values use these shapes:

{ "type": "lookup", "entity": "account", "id": "00000000-0000-0000-0000-000000000000" }
{ "type": "optionset", "value": 100000000 }
{ "type": "money", "value": 1200.50 }
{ "type": "datetime", "value": "2026-06-30T00:00:00Z" }

Examples

do:
  - createAccount:
      call: D365.CreateRecord
      with:
        environmentKey: default
        entityLogicalName: account
        attributes:
          name: Contoso
          revenue:
            type: money
            value: 1200.50

  - updateAccount:
      call: D365.UpdateRecord
      with:
        entityLogicalName: account
        recordId: ${createAccount.recordId}
        attributes:
          telephone1: "+61 2 0000 0000"

  - getAccount:
      call: D365.GetRecord
      with:
        entityLogicalName: account
        recordId: ${createAccount.recordId}
        columns: [name, telephone1]

  - searchByFetchXml:
      call: D365.SearchRecords
      with:
        fetchXml: "<fetch top='10'><entity name='account'><attribute name='name' /></entity></fetch>"

  - structuredSearch:
      call: D365.SearchRecords
      with:
        entityLogicalName: account
        columns: [name]
        conditions:
          - attributeName: name
            operator: like
            value: "%Contoso%"
        topCount: 10

  - deleteAccount:
      call: D365.DeleteRecord
      with:
        entityLogicalName: account
        recordId: ${createAccount.recordId}
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.5 39 7/30/2026
1.1.4 35 7/30/2026
1.1.3-rc.6 30 7/29/2026
1.1.3-rc.5 34 7/29/2026
1.1.3-rc.4 32 7/28/2026
1.1.3-rc.3 33 7/28/2026
1.1.3-rc.2 38 7/28/2026
1.1.3-rc.1 32 7/28/2026
1.1.2 107 7/23/2026
1.1.1 59 7/20/2026
1.1.1-rc.81 66 7/8/2026
1.1.1-rc.80 54 7/8/2026
1.1.1-rc.79 61 7/4/2026
1.1.1-rc.78 55 7/3/2026
1.1.1-rc.77 57 7/3/2026
1.1.1-rc.76 59 6/30/2026