Skip to main content
Glama

Update a cloud flow

cs_update_flow

Edit a flow's name, description, or definition in a live environment. Rebuild steps/trigger or replace clientdata while preserving connection references. Requires confirm: true.

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. Changed12 schema fields changedv0.1.8
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / definitions
      Added value: +{
      +  "__schema0": {
      +    "anyOf": [
      +      {
      +        "properties": {
      +          "connectionReference": {
      +            "type": "string"
      +          },
      +          "connectorId": {
      +            "description": "e.g. shared_office365 (cs_list_connectors)",
      +            "type": "string"
      +          },
      +          "description": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "operationId": {
      +            "description": "cs_describe_connector lists them",
      +            "type": "string"
      +          },
      +          "parameters": {
      +            "additionalProperties": {},
      +            "propertyNames": {
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "type": {
      +            "const": "connector",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "name",
      +          "connectorId",
      +          "operationId"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "body": {},
      +          "headers": {
      +            "additionalProperties": {
      +              "type": "string"
      +            },
      +            "propertyNames": {
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "method": {
      +            "enum": [
      +              "GET",
      +              "POST",
      +              "PUT",
      +              "PATCH",
      +              "DELETE"
      +            ],
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "type": {
      +            "const": "http",
      +            "type": "string"
      +          },
      +          "uri": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "name",
      +          "uri"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "name": {
      +            "type": "string"
      +          },
      +          "type": {
      +            "const": "compose",
      +            "type": "string"
      +          },
      +          "value": {}
      +        },
      +        "required": [
      +          "type",
      +          "name",
      +          "value"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "name": {
      +            "type": "string"
      +          },
      +          "type": {
      +            "const": "initializeVariable",
      +            "type": "string"
      +          },
      +          "value": {},
      +          "valueType": {
      +            "enum": [
      +              "string",
      +              "number",
      +              "boolean",
      +              "object",
      +              "array"
      +            ],
      +            "type": "string"
      +          },
      +          "variable": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "name",
      +          "variable"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "name": {
      +            "type": "string"
      +          },
      +          "type": {
      +            "const": "setVariable",
      +            "type": "string"
      +          },
      +          "value": {},
      +          "variable": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "name",
      +          "variable",
      +          "value"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "else": {
      +            "items": {
      +              "$ref": "#/definitions/__schema0"
      +            },
      +            "type": "array"
      +          },
      +          "expression": {
      +            "description": "Logic Apps expression, e.g. @equals(triggerBody()?['status'],'open')",
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "then": {
      +            "items": {
      +              "$ref": "#/definitions/__schema0"
      +            },
      +            "type": "array"
      +          },
      +          "type": {
      +            "const": "condition",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "name",
      +          "expression",
      +          "then"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "actions": {
      +            "items": {
      +              "$ref": "#/definitions/__schema0"
      +            },
      +            "type": "array"
      +          },
      +          "items": {
      +            "description": "Expression yielding the collection, e.g. @body('List_rows')?['value']",
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "type": {
      +            "const": "foreach",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "name",
      +          "items",
      +          "actions"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "actions": {
      +            "items": {
      +              "$ref": "#/definitions/__schema0"
      +            },
      +            "type": "array"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "type": {
      +            "const": "scope",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "name",
      +          "actions"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "message": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "status": {
      +            "enum": [
      +              "Succeeded",
      +              "Failed",
      +              "Cancelled"
      +            ],
      +            "type": "string"
      +          },
      +          "type": {
      +            "const": "terminate",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "name"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "name": {
      +            "type": "string"
      +          },
      +          "outputs": {
      +            "items": {
      +              "properties": {
      +                "name": {
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "enum": [
      +                    "string",
      +                    "number",
      +                    "boolean",
      +                    "object",
      +                    "array"
      +                  ],
      +                  "type": "string"
      +                },
      +                "value": {}
      +              },
      +              "required": [
      +                "name"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "type": {
      +            "const": "response",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "json": {
      +            "additionalProperties": {},
      +            "propertyNames": {
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "type": {
      +            "const": "raw",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "name",
      +          "json"
      +        ],
      +        "type": "object"
      +      }
      +    ]
      +  }
      +}
    • addedInput schema / properties / clientData / propertyNames
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / connectionReferences / propertyNames
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / definition / propertyNames
      Added value: +{
      +  "type": "string"
      +}
    • removedInput schema / properties / outputs / items / $ref
      Removed value: -"#/properties/steps/items/anyOf/9/properties/outputs/items"
    • addedInput schema / properties / outputs / items / properties
      Added value: +{
      +  "name": {
      +    "type": "string"
      +  },
      +  "type": {
      +    "enum": [
      +      "string",
      +      "number",
      +      "boolean",
      +      "object",
      +      "array"
      +    ],
      +    "type": "string"
      +  },
      +  "value": {}
      +}
    • addedInput schema / properties / outputs / items / required
      Added value: +[
      +  "name"
      +]
    • addedInput schema / properties / outputs / items / type
      Added value: +"object"
    • addedInput schema / properties / steps / items / $ref
      Added value: +"#/definitions/__schema0"
    • removedInput schema / properties / steps / items / anyOf
      Removed value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "connectionReference": {
      -        "type": "string"
      -      },
      -      "connectorId": {
      -        "description": "e.g. shared_office365 (cs_list_connectors)",
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "name": {
      -        "type": "string"
      -      },
      -      "operationId": {
      -        "description": "cs_describe_connector lists them",
      -        "type": "string"
      -      },
      -      "parameters": {
      -        "additionalProperties": {},
      -        "type": "object"
      -      },
      -      "type": {
      -        "const": "connector",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "name",
      -      "connectorId",
      -      "operationId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "body": {},
      -      "headers": {
      -        "additionalProperties": {
      -          "type": "string"
      -        },
      -        "type": "object"
      -      },
      -      "method": {
      -        "enum": [
      -          "GET",
      -          "POST",
      -          "PUT",
      -          "PATCH",
      -          "DELETE"
      -        ],
      -        "type": "string"
      -      },
      -      "name": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "http",
      -        "type": "string"
      -      },
      -      "uri": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "name",
      -      "uri"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "name": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "compose",
      -        "type": "string"
      -      },
      -      "value": {}
      -    },
      -    "required": [
      -      "type",
      -      "name"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "name": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "initializeVariable",
      -        "type": "string"
      -      },
      -      "value": {},
      -      "valueType": {
      -        "enum": [
      -          "string",
      -          "number",
      -          "boolean",
      -          "object",
      -          "array"
      -        ],
      -        "type": "string"
      -      },
      -      "variable": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "name",
      -      "variable"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "name": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "setVariable",
      -        "type": "string"
      -      },
      -      "value": {},
      -      "variable": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "name",
      -      "variable"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "else": {
      -        "items": {
      -          "$ref": "#/properties/steps/items"
      -        },
      -        "type": "array"
      -      },
      -      "expression": {
      -        "description": "Logic Apps expression, e.g. @equals(triggerBody()?['status'],'open')",
      -        "type": "string"
      -      },
      -      "name": {
      -        "type": "string"
      -      },
      -      "then": {
      -        "items": {
      -          "$ref": "#/properties/steps/items"
      -        },
      -        "type": "array"
      -      },
      -      "type": {
      -        "const": "condition",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "name",
      -      "expression",
      -      "then"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "actions": {
      -        "items": {
      -          "$ref": "#/properties/steps/items"
      -        },
      -        "type": "array"
      -      },
      -      "items": {
      -        "description": "Expression yielding the collection, e.g. @body('List_rows')?['value']",
      -        "type": "string"
      -      },
      -      "name": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "foreach",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "name",
      -      "items",
      -      "actions"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "actions": {
      -        "items": {
      -          "$ref": "#/properties/steps/items"
      -        },
      -        "type": "array"
      -      },
      -      "name": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "scope",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "name",
      -      "actions"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "message": {
      -        "type": "string"
      -      },
      -      "name": {
      -        "type": "string"
      -      },
      -      "status": {
      -        "enum": [
      -          "Succeeded",
      -          "Failed",
      -          "Cancelled"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "terminate",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "name"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "name": {
      -        "type": "string"
      -      },
      -      "outputs": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "name": {
      -              "type": "string"
      -            },
      -            "type": {
      -              "enum": [
      -                "string",
      -                "number",
      -                "boolean",
      -                "object",
      -                "array"
      -              ],
      -              "type": "string"
      -            },
      -            "value": {}
      -          },
      -          "required": [
      -            "name"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "type": {
      -        "const": "response",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "json": {
      -        "additionalProperties": {},
      -        "type": "object"
      -      },
      -      "name": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "raw",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "name",
      -      "json"
      -    ],
      -    "type": "object"
      -  }
      -]
    • changedInput schema / properties / trigger / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "inputs": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "description": {
      -              "type": "string"
      -            },
      -            "name": {
      -              "type": "string"
      -            },
      -            "required": {
      -              "type": "boolean"
      -            },
      -            "type": {
      -              "enum": [
      -                "string",
      -                "number",
      -                "boolean",
      -                "object",
      -                "array"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "name"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "kind": {
      -        "const": "agent",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "inputs": {
      -        "items": {
      -          "$ref": "#/properties/trigger/anyOf/0/properties/inputs/items"
      -        },
      -        "type": "array"
      -      },
      -      "kind": {
      -        "const": "manual",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "inputs": {
      -        "items": {
      -          "$ref": "#/properties/trigger/anyOf/0/properties/inputs/items"
      -        },
      -        "type": "array"
      -      },
      -      "kind": {
      -        "const": "http",
      -        "type": "string"
      -      },
      -      "method": {
      -        "enum": [
      -          "GET",
      -          "POST",
      -          "PUT",
      -          "PATCH",
      -          "DELETE"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "frequency": {
      -        "enum": [
      -          "Minute",
      -          "Hour",
      -          "Day",
      -          "Week",
      -          "Month"
      -        ],
      -        "type": "string"
      -      },
      -      "interval": {
      -        "type": "number"
      -      },
      -      "kind": {
      -        "const": "recurrence",
      -        "type": "string"
      -      },
      -      "startTime": {
      -        "type": "string"
      -      },
      -      "timeZone": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "frequency"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "connectionReference": {
      -        "type": "string"
      -      },
      -      "connectorId": {
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "connector",
      -        "type": "string"
      -      },
      -      "operationId": {
      -        "type": "string"
      -      },
      -      "parameters": {
      -        "additionalProperties": {},
      -        "type": "object"
      -      },
      -      "recurrence": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "frequency": {
      -            "type": "string"
      -          },
      -          "interval": {
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "frequency",
      -          "interval"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "connectorId",
      -      "operationId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "json": {
      -        "additionalProperties": {},
      -        "type": "object"
      -      },
      -      "kind": {
      -        "const": "raw",
      -        "type": "string"
      -      },
      -      "name": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "json"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "inputs": {
      +        "items": {
      +          "properties": {
      +            "description": {
      +              "type": "string"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "required": {
      +              "type": "boolean"
      +            },
      +            "type": {
      +              "enum": [
      +                "string",
      +                "number",
      +                "boolean",
      +                "object",
      +                "array"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "name"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "kind": {
      +        "const": "agent",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "inputs": {
      +        "items": {
      +          "properties": {
      +            "description": {
      +              "type": "string"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "required": {
      +              "type": "boolean"
      +            },
      +            "type": {
      +              "enum": [
      +                "string",
      +                "number",
      +                "boolean",
      +                "object",
      +                "array"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "name"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "kind": {
      +        "const": "manual",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "inputs": {
      +        "items": {
      +          "properties": {
      +            "description": {
      +              "type": "string"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "required": {
      +              "type": "boolean"
      +            },
      +            "type": {
      +              "enum": [
      +                "string",
      +                "number",
      +                "boolean",
      +                "object",
      +                "array"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "name"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "kind": {
      +        "const": "http",
      +        "type": "string"
      +      },
      +      "method": {
      +        "enum": [
      +          "GET",
      +          "POST",
      +          "PUT",
      +          "PATCH",
      +          "DELETE"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "frequency": {
      +        "enum": [
      +          "Minute",
      +          "Hour",
      +          "Day",
      +          "Week",
      +          "Month"
      +        ],
      +        "type": "string"
      +      },
      +      "interval": {
      +        "type": "number"
      +      },
      +      "kind": {
      +        "const": "recurrence",
      +        "type": "string"
      +      },
      +      "startTime": {
      +        "type": "string"
      +      },
      +      "timeZone": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "frequency"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "connectionReference": {
      +        "type": "string"
      +      },
      +      "connectorId": {
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "connector",
      +        "type": "string"
      +      },
      +      "operationId": {
      +        "type": "string"
      +      },
      +      "parameters": {
      +        "additionalProperties": {},
      +        "propertyNames": {
      +          "type": "string"
      +        },
      +        "type": "object"
      +      },
      +      "recurrence": {
      +        "properties": {
      +          "frequency": {
      +            "type": "string"
      +          },
      +          "interval": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "frequency",
      +          "interval"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "connectorId",
      +      "operationId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "json": {
      +        "additionalProperties": {},
      +        "propertyNames": {
      +          "type": "string"
      +        },
      +        "type": "object"
      +      },
      +      "kind": {
      +        "const": "raw",
      +        "type": "string"
      +      },
      +      "name": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "json"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. First observedv0.1.5

TDQS

A4.7/5.0
Behavior5/5

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

With zero annotations the description carries the full burden and does so: it discloses the destructive scope ('clientData' replaces the whole document; steps/definition replace properties.definition inside the existing clientdata while preserving connection references), the live-environment confirm requirement, and the managed-flow immutability restriction that appears in no structured field.

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

Conciseness4/5

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

One front-loaded paragraph that opens with the verb and keeps the highest-risk facts (whole-document replacement, managed-flow restriction, confirm) present; each sentence adds information. It is dense and semicolon-chained rather than scannable, which keeps it short of a 5.

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 16-parameter mutation tool with no annotations and no output schema, the description covers the mutation paths, safety gate, and prerequisites an agent needs to invoke it correctly. It does not describe the response shape, though the dry-run/pass-through behavior implied by confirm is at least referenced.

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, but the description adds real value by explaining the mutual-exclusion/override relationship among steps/trigger, definition, and clientData — semantics the per-field schema text only partially conveys ('overrides definition').

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 verb and resource ('Change a flow's name, description or definition') and immediately disambiguates the three mutation paths (steps/trigger, definition, clientData). Named siblings cs_build_flow_definition and cs_get_flow let an agent separate this from building or reading flows without opening 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?

Explicitly routes the agent: use 'steps' like cs_build_flow_definition, or a ready-made 'definition', or 'clientData'. It names when-not ('Managed flows cannot be edited in place; edit them in their source environment or through a solution') and prescribes the prerequisite ('Read the current one with cs_get_flow includeDefinition first').

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