Skip to main content
Glama

Update a cloud flow

cs_update_flow

Update a flow's name, description, or definition in Copilot Studio by providing steps or a ready-made definition, then confirm to apply the changes.

Instructions

Change a flow's name, description or definition in the environment. Pass 'steps' (and optionally 'trigger') to rebuild the definition the way cs_build_flow_definition does, or 'definition' for a ready-made one; either replaces properties.definition inside the existing clientdata and keeps the connection references. 'clientData' replaces the whole document. Read the current one with cs_get_flow includeDefinition first. Managed flows cannot be edited in place; edit them in their source environment or through a solution. Changes a live environment: requires confirm: true.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
stepsNoSteps in order; each waits for the previous one to succeed
flowIdYesFlow (workflow) id
confirmNoRequired to actually perform a change in a live environment. Without it the tool returns a dry run.
outputsNoWhat the flow answers with (agent-callable and HTTP flows)
triggerNoDefault: 'agent' (When an agent calls the flow)
clientIdNoEntra app (client) id for MSAL. Defaults to CPS_CLIENT_ID, then the first-party VS Code id.
tenantIdNoEntra tenant id. Defaults to the workspace sync metadata, then CPS_TENANT_ID.
workspaceNoPath to (or inside) the agent workspace. Defaults to CPS_WORKSPACE or the current directory.
clientDataNoThe whole clientdata document; overrides 'definition'
definitionNoPower Automate definition object (properties.definition), instead of steps
descriptionNo
dataverseUrlNoDataverse URL; default: from the workspace or the environment
environmentIdNoPower Platform environment id (GUID). Defaults to workspace sync metadata or CPS_ENVIRONMENT_ID.
connectionReferencesNoConnection reference entries to add or explicitly replace; existing entries are otherwise preserved
connectionReferencePrefixNoPrefix for generated connection reference names, usually your publisher prefix

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.5

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses that this changes a live environment, requires confirm: true, preserves connection references, replaces properties.definition in the existing clientdata, and that clientData replaces the whole document. It does not mention the dry-run behavior or return format, though the schema's confirm parameter covers the dry-run behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense and front-loaded with no filler. Every sentence contributes: the core action, the two ways to supply a definition, the clientData override, the prerequisite read, the managed-flow exclusion, and the confirm requirement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 16-parameter mutation tool with no output schema, the description covers the important workflow: how to supply changes, what gets replaced, what is preserved, the managed-flow constraint, and the confirm requirement. It does not describe the return value, but the schema and the tool's update nature make that a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 88%, so the baseline is 3. The description adds real semantics beyond the schema for key parameters: steps/trigger rebuild the definition, definition is a ready-made alternative, clientData replaces the entire document, and connection references are preserved. It does not add detail for every parameter, but the schema already documents most of them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action ('Change a flow's name, description or definition in the environment') with a clear resource and scope. It is clearly distinguishable from siblings like cs_create_flow, cs_set_flow_state, and cs_get_flow without needing to open their schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance: read the current flow with cs_get_flow includeDefinition first, use steps/trigger to rebuild definitions the way cs_build_flow_definition does, and notes that managed flows cannot be edited in place but should be edited in their source environment or through a solution. This is strong when/when-not and alternative-tool guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools