OData Query

dynamics_crm.odata_query
ActionCRM & salesconnection required

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

Run a raw OData query against the Web API, or resume a previous query from its @odata.nextLink.

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, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
query
A path and query string relative to the Web API root, for example contacts?$select=fullname&$filter=statecode eq 0 — or an absolute URL, which is how an @odata.nextLink from an earlier step is resumed.
stringYes——contacts?$select=fullname&$top=10
page_size
Rows per page (Prefer: odata.maxpagesize). Dataverse ignores anything above 5000 and ignores $top entirely when this is set.
numberNo—1–5000—
max_results
Stop after this many rows, following @odata.nextLink across pages. Leave empty to return a single page.
numberNo—≥ 1100
include_formatted_values
Also return the display text of choice, lookup and money columns alongside their raw values, as @OData.Community.Display.V1.FormattedValue annotations.
booleanNofalse——

Example configuration

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

{
  "include_formatted_values": false,
  "max_results": 100,
  "query": "contacts?$select=fullname&$top=10"
}

Output

One shape.

result

FieldTypeExample
items
The rows Dataverse returned, in order.
array—
returned
How many rows are in 'items'.
number—
count
Total matching rows, present only when 'count' was requested.
number—
next_link
The @odata.nextLink of the last page read, empty when there are no more rows. Pass it to dynamics_crm.odata_query to resume.
string—
{
  "count": 0,
  "items": [],
  "next_link": "",
  "returned": 0
}

Notes

  • This is the escape hatch for what the structured query cannot say: $apply aggregates, navigation-property collections such as systemusers(<id>)/user_accounts, and Web API functions.
  • A GET URL is capped at 32 KB by Dataverse.

See OData Query 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.