Create Record

dynamics_crm.create_record
ActionCRM & salesconnection required

Calls the Microsoft Dynamics 365 API with the connection's credentials.

Create a row in any Dynamics 365 table — an account, contact, opportunity, lead, case or custom row — and return it.

Connection

Required
Yes — the node will not save without one
Auth type
OAuth 2.0
Providers
Microsoft Dynamics 365
Secret shape
{"client_id": "…", "client_secret": "…", "refresh_token": "…"}
Config it needs
org_url, tenant, api_version
Resolved by
config.connection_id, else node.connection_id

Configuration

4 fields, 2 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
entity_set
The entity set to work with: 'accounts', 'contacts', 'opportunities', 'leads', 'incidents' (cases), 'tasks', or any other table's entity set name, including custom tables. It is the plural name from the table's 'Copy set name' in Power Apps, which is not always the plural of the table name.
stringYes——accounts
data
The columns to write, as a JSON object of column name to value. Set a lookup through its navigation property with the @odata.bind annotation, for example {"primarycontactid@odata.bind": "/contacts(<id>)"}; clear one with {"primarycontactid": null}.
objectYes——{"name":"Contoso Ltd","telephone1":"+1 425 555 0100"}
select
Comma-separated column names to return ($select). Always name the columns you need: without it Dataverse returns every column on the row.
stringNo——name,revenue,createdon
return_representation
Ask Dataverse to answer with the affected row (Prefer: return=representation). Turn it off only when the row is not needed: Dataverse then answers 204 No Content and 'record' comes back empty.
booleanNotrue——

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "data": {
    "name": "Contoso Ltd",
    "telephone1": "+1 425 555 0100"
  },
  "entity_set": "accounts",
  "return_representation": true,
  "select": "name,revenue,createdon"
}

Output

One shape.

result

FieldTypeExample
entity_set
The entity set the row was created in.
string—
created
True when Dataverse accepted the create.
boolean—
record
The created row as Dataverse returned it, empty when 'return_representation' was turned off.
object—
{
  "created": false,
  "entity_set": "",
  "record": {}
}

Notes

  • Lookups are set through the navigation property with @odata.bind — {"primarycontactid@odata.bind": "/contacts(<id>)"} — not by writing a GUID into the lookup column.
  • Nested objects and arrays in 'data' are a deep insert: they create the related rows in the same atomic operation.

See Create Record run in a workflow.

In a technical demo we add the Microsoft Dynamics 365 connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.