Skip to content

Tools Flows

Ryan James edited this page Aug 17, 2026 · 2 revisions

Flows tools

This page is generated from the code by scripts/gen_wiki_tools.py — do not edit by hand.

8 tools · category token flows · enable with DATAVERSE_TOOLS=flows (unset enables every category)

Tool-Index · Home

Write tools additionally require DATAVERSE_ALLOW_WRITE=true; delete tools require DATAVERSE_ALLOW_DELETE=true.


dataverse_activate_process

Write · idempotent · category flows

Activate a classic process (workflow, business rule, action, or BPF).

Sets statecode=1 (Activated) and statuscode=2 (Activated) on the workflow record. This is idempotent — activating an already-activated process is safe.

Some processes (real-time workflows) require an ownerid set before activation. Use dataverse_list_processes to inspect the current state.

Requires DATAVERSE_ALLOW_WRITE=true.

Param Type Req Default Notes
dataverse_url str yes Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com').
process_id str yes GUID of the workflow record to activate (workflowid from the workflows entity set). (min_len=36)

Returns {"updated": ..., "process_id": ..., "statecode": ..., "statuscode": ...}. Errors return {"error": true, "message": "..."}.


dataverse_batch_disable_cloud_flows

Write · idempotent · category flows

Disable multiple cloud flows in a single $batch request for improved performance.

Use this instead of calling dataverse_disable_cloud_flow repeatedly. Returns per-flow results with status_code and ok flag. Requires DATAVERSE_ALLOW_WRITE=true.

Param Type Req Default Notes
dataverse_url str yes Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com').
flow_ids list[str] yes Ordered list of cloud flow workflow GUIDs to update. Maximum 1,000 IDs. (min_len=1)
statuscode int | None no None Optional statuscode override applied to all flow IDs in the batch.
continue_on_error bool no True When True, includes Prefer: odata.continue-on-error so remaining operations continue after failures.

Returns JSON. Errors return {"error": true, "message": "..."}.


dataverse_batch_enable_cloud_flows

Write · idempotent · category flows

Enable multiple cloud flows in a single $batch request for improved performance.

Use this instead of calling dataverse_enable_cloud_flow repeatedly. Returns per-flow results with status_code and ok flag. Requires DATAVERSE_ALLOW_WRITE=true.

Param Type Req Default Notes
dataverse_url str yes Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com').
flow_ids list[str] yes Ordered list of cloud flow workflow GUIDs to update. Maximum 1,000 IDs. (min_len=1)
statuscode int | None no None Optional statuscode override applied to all flow IDs in the batch.
continue_on_error bool no True When True, includes Prefer: odata.continue-on-error so remaining operations continue after failures.

Returns JSON. Errors return {"error": true, "message": "..."}.


dataverse_deactivate_process

Write · idempotent · category flows

Deactivate a classic process (workflow, business rule, action, or BPF).

Sets statecode=0 (Draft) and statuscode=1 (Draft) on the workflow record. This is idempotent — deactivating an already-draft process is safe.

Use dataverse_list_processes to inspect the current state before calling.

Requires DATAVERSE_ALLOW_WRITE=true.

Param Type Req Default Notes
dataverse_url str yes Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com').
process_id str yes GUID of the workflow record to deactivate (workflowid from the workflows entity set). (min_len=36)

Returns {"updated": ..., "process_id": ..., "statecode": ..., "statuscode": ...}. Errors return {"error": true, "message": "..."}.


dataverse_disable_cloud_flow

Write · idempotent · category flows

Disable a single cloud flow (set statecode=0, statuscode=1).

Requires DATAVERSE_ALLOW_WRITE=true.

Param Type Req Default Notes
dataverse_url str yes Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com').
flow_id str yes GUID of the cloud flow workflow row (min_len=1)
statuscode int | None no None Optional statuscode override. If omitted, the tool uses defaults for the requested enabled/disabled state.

Returns JSON. Errors return {"error": true, "message": "..."}.


dataverse_enable_cloud_flow

Write · idempotent · category flows

Enable a single cloud flow (set statecode=1, statuscode=2).

Requires DATAVERSE_ALLOW_WRITE=true.

Param Type Req Default Notes
dataverse_url str yes Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com').
flow_id str yes GUID of the cloud flow workflow row (min_len=1)
statuscode int | None no None Optional statuscode override. If omitted, the tool uses defaults for the requested enabled/disabled state.

Returns JSON. Errors return {"error": true, "message": "..."}.


dataverse_get_cloud_flows

Read · idempotent · category flows

List cloud flows in the Dataverse environment, optionally scoped to a solution.

Returns workflow records with statecode, statuscode, and category. Scope to a specific solution with solution_id or solution_unique_name.

Param Type Req Default Notes
dataverse_url str yes Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com').
filter str | None no None Optional OData $filter expression applied to workflow rows. When omitted, defaults to cloud-flow category filtering.
select list[str] | None no None Columns to return. Defaults to a cloud-flow projection.
top int no 50 Maximum number of cloud flows to return (ge=1, le=5000)
solution_id str | None no None Optional solution GUID to scope flows to a specific solution. Provide either this or solution_unique_name, not both.
solution_unique_name str | None no None Optional solution unique name to scope flows to a specific solution. Provide either this or solution_id, not both. (pattern=^[a-zA-Z_][a-zA-Z0-9_]*$)

Returns {"records": ..., "count": ..., "has_more": ..., "solution_id": ...} or {"records": ..., "count": ..., "has_more": ...}. Errors return {"error": true, "message": "..."}.


dataverse_list_processes

Read · idempotent · category flows

List classic processes (workflows, business rules, actions, BPFs) from the workflow entity.

Classic process categories: 0=Workflow, 1=Dialog, 2=Business Rule, 3=Action, 4=Business Process Flow. Use the category parameter to filter by a specific category. Cloud flows (category 5) are excluded by default unless you explicitly set category=5.

By default returns only type=1 (definition) records to avoid duplicate activation/template rows. Set type=None to return both types.

Use filter for additional OData conditions (e.g., "statecode eq 1" for activated processes only, or "primaryentity eq 'account'").

Param Type Req Default Notes
dataverse_url str yes Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com').
category int | None no None Optional category filter. Classic process categories: 0=Workflow (background/real-time), 1=Dialog (deprecated), 2=Business Rule, 3=Action, 4=Business Process Flow. Omit to return all classic processes (categories 0–4). Category 5 (Modern Flow / cloud flow) is excluded by default unless explicitly requested. (ge=0, le=5)
type int | None no 1 Optional type filter. 1=Definition (the authored definition record), 2=Activation/template (the deployed activation record). Defaults to 1 (definitions only) to avoid duplicates. Set to None to return both types. (ge=1, le=2)
filter str | None no None Optional additional OData $filter expression applied alongside the category/type filters (e.g., "statecode eq 1" or "primaryentity eq 'account'"). Do not repeat category or type here — use the dedicated fields.
select list[str] | None no None Columns to return. Defaults to a standard projection: workflowid, name, category, type, statecode, statuscode, mode, _ownerid_value, primaryentity, description, createdon, modifiedon.
top int no 50 Maximum number of process records to return. (ge=1, le=5000)

Returns {"records": ..., "count": ..., "has_more": ...}. Errors return {"error": true, "message": "..."}.


Clone this wiki locally