Skip to main content
Glama

Create a cloud flow

cs_create_flow

Create a Power Automate cloud flow from a step spec or ready-made definition, optionally in a solution. It is created switched off; bind connection references, then activate.

Instructions

Create a new Power Automate cloud flow, from a step spec (see cs_build_flow_definition: trigger plus connector, HTTP, condition, loop, variable and response steps) or from a ready-made definition, optionally straight into a solution. The flow is created switched off, because a flow can only be activated once its connection references are bound: bind them, then cs_set_flow_state on. To let an agent call it, use a trigger of type Request/kind Skills and add it as a tool with cs_add_tool type 'flow'. Changes a live environment: requires confirm: true.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesFlow display name
stepsNoSteps in order; each waits for the previous one to succeed
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.
solutionNoUnique name of the solution to create it in
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, when you have one (from cs_get_flow of another flow, for example)
definitionNoA ready-made Power Automate 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.
connectionReferencesNoproperties.connectionReferences, when you pass a definition rather than steps
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.1/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 the flow is created switched off, why (connection references must be bound first), that activating requires cs_set_flow_state, and that it changes a live environment requiring confirm: true. These are non-obvious behaviors an agent must know before calling.

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?

A single dense paragraph, front-loaded with the core action, and each sentence adds actionable information (creation mode, off-state, activation path, agent-tool wiring, confirm requirement). Slightly long but no filler.

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 tool with nested step objects and no output schema, the description covers the essential workflow and the crucial create-off-then-bind-then-activate sequence. It does not detail return values, but that is a minor gap for a creation tool.

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

Parameters3/5

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

Schema description coverage is 94%, so the schema already documents parameters like steps, definition, confirm, and connectionReferences. The description reinforces the steps-vs-definition distinction and the confirm requirement but adds little syntax beyond what the schema provides, so baseline 3 applies.

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 ('Create a new Power Automate cloud flow') and immediately clarifies the two input modes (step spec vs ready-made definition). It names the relevant sibling cs_build_flow_definition, so an agent can distinguish it from cs_update_flow and cs_add_flow 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 Guidelines4/5

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

Gives clear routing context: use cs_build_flow_definition for the step spec, bind connection references before activating, then cs_set_flow_state, and use cs_add_tool to expose the flow to an agent. It does not state explicit exclusions (when NOT to create), but the alternative-naming is strong.

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