Skip to content

mcp_get_workflows

PhuocLe edited this page Jun 20, 2026 · 3 revisions

Summary

Field Value
Tool name get_workflows
MCP title List classic workflows
Category standard
Implementation DynamicsCrm.DevKit.Cli/Mcp/Tools/GetWorkflowsTool.cs
Estimated token count ~402 tokens (tools/list tool JSON, o200k_base, measured 2026-06-18)
Last verified 2026-06-18

MCP Tool Description (Exact)

Classic workflows (background async + realtime sync) for a Dataverse entity. workflow_id empty = list. Set = detail. Classic only — use get_business_rules / get_custom_apis / get_business_process_flows / get_flows for others.

Key fields:
- triggeronupdateattributelist: trigger fields ('statecode'=status, 'ownerid'=assignment)
- mode: Background (async, Post) | Realtime (sync, Pre/Post; Pre can cancel/rollback)
- scope: User/BU/Parent:ChildBU/Org. runas: Owner/Caller

Fuzzy on name_filter: 0/multi → tool returns disambiguation list and stops; AI must ask user. 1 → auto-detail.

WHEN TO USE:
- Check if a field triggers any workflow (trigger_field + entity_name)
- Find synchronous workflows (mode='realtime'; Pre-op can cancel/rollback)
- Inspect workflow steps before refactoring/disabling

Parameters

Name Type Required Default Description
workflow_id string No "" GUID → detail. Empty = list.
entity_name string No "" Entity Display Name or logical name (e.g. 'Account' or 'account'). Empty = all.
mode string No "" 'background' / 'realtime'. Empty = both.
active_only boolean No true Only activated workflows.
trigger_field string No "" Update trigger field Display Name or logical name when entity_name is set; otherwise contains filter.
name_filter string No "" Name contains. 1 match → auto-detail.
max_records integer No 50 Max 250.

Input Schema

{
  "type": "object",
  "properties": {
    "workflow_id": {
      "type": "string",
      "description": "GUID → detail. Empty = list.",
      "default": ""
    },
    "entity_name": {
      "type": "string",
      "description": "Entity Display Name or logical name (e.g. 'Account' or 'account'). Empty = all.",
      "default": ""
    },
    "mode": {
      "type": "string",
      "description": "'background' / 'realtime'. Empty = both.",
      "default": ""
    },
    "active_only": {
      "type": "boolean",
      "description": "Only activated workflows.",
      "default": true
    },
    "trigger_field": {
      "type": "string",
      "description": "Update trigger field Display Name or logical name when entity_name is set; otherwise contains filter.",
      "default": ""
    },
    "name_filter": {
      "type": "string",
      "description": "Name contains. 1 match → auto-detail.",
      "default": ""
    },
    "max_records": {
      "type": "integer",
      "description": "Max 250.",
      "default": 50
    }
  },
  "required": []
}

Related MCP Resources

Resource URI / URI template MIME type Reason
server_logic_guide docs://server_logic_guide text/markdown Inferred from source: Filtering patterns, list/detail modes, and entity scoping for server-logic tools. Read this when get_plugins, get_workflows, get_flows, etc. returns an error.

When To Use

  • Check if a field triggers any workflow (trigger_field + entity_name)
  • Find synchronous workflows (mode='realtime'; Pre-op can cancel/rollback)
  • Inspect workflow steps before refactoring/disabling

Notes

  • Use the exact MCP description and parameter schema above as the authoritative contract.

Example

{
  "workflow_id": "string"
}

Output

Returns CallToolResult from the MCP server. The response content and structured fields follow the tool implementation and model returned by GetWorkflowsTool.get_workflows.

Prompt Examples

  • "List active real-time workflows on Lead and show their trigger fields."
  • "Inspect this workflow and summarize its mode, scope, run-as setting, and steps."
  • "Find workflows triggered when the owner changes on Opportunity."

Clone this wiki locally