Document trigger_live_flow for Button, PowerApps, and Skills triggers (#2826)

FlowStudio MCP 1.2.42 delivers trigger inputs to Button, PowerApps, and Skills
triggers; the skills still said trigger_live_flow was HTTP-only and told agents
to build an HTTP twin. Verified live against server 1.2.43.
This commit is contained in:
Catherine Han
2026-08-27 14:36:05 +10:00
committed by GitHub
parent 18f06ebbfa
commit 634b92f887
4 changed files with 65 additions and 28 deletions
@@ -435,31 +435,47 @@ responseSchemaCount - Number of Response actions that define output schemas
### `get_live_flow_trigger_url`
Deprecated. Prefer `trigger_live_flow` when you need to invoke an HTTP-triggered
flow; it fetches the current callback URL internally.
Deprecated. Prefer `trigger_live_flow` when you need to run a flow; it fetches the
callback URL internally for HTTP triggers and uses the connector runtime for
Button and PowerApps triggers, which have no callback URL.
Returns the signed callback URL for HTTP-triggered flows. Response includes
`flowKey`, `triggerName`, `triggerType`, `triggerKind`, `triggerMethod`, `triggerUrl`.
### `trigger_live_flow`
Response keys: `flowKey`, `triggerName`, `triggerUrl`, `requiresAadAuth`, `authType`,
`responseStatus`, `responseBody`.
Response keys: `flowKey`, `triggerName`, `triggerKind`, `invocation`, `triggerUrl`,
`requiresAadAuth`, `authType`, `responseStatus`, `responseBody`, `runName`, and
`warning` when a required trigger input was not supplied.
> **Only works for `Request` (HTTP) triggers.** Returns an error for Recurrence
> and other trigger types: `"only HTTP Request triggers can be invoked via this tool"`.
> `Button`-kind triggers return `ListCallbackUrlOperationBlocked`.
> **Works for `Request` triggers: HTTP request, Button, and PowerApps.** Returns an
> error for Recurrence and connector triggers:
> `"only HTTP Request triggers can be invoked via this tool"`.
>
> HTTP triggers go through the signed callback URL (`invocation: callbackUrl`).
> Button and PowerApps triggers have no callback URL; with a `body` they run
> through the Power Platform connector runtime (`connectorFlowToken` or
> `connectorApihubToken`), which is the only route that delivers the inputs.
> With no body they use the cheaper direct run (`directRun`).
>
> `runName` is returned only for connector-runtime runs. Otherwise look the run
> up with `get_live_flow_runs`.
>
> Power Automate does not enforce a trigger's `required` list. A missing input
> still starts the run with a null value; `warning` names the missing keys and
> the body shape to retry with.
>
> Browser-extension keys cannot reach the connector runtime, so Button and
> PowerApps triggers run only with an empty body over that key type. The error
> lists the alternatives (resubmit a past run, default the inputs inside the flow
> with `coalesce()`, or use a standard key).
>
> `responseStatus` + `responseBody` contain the flow's Response action output.
> AAD-authenticated triggers are handled automatically.
>
> **Content-type note**: The body is sent as `application/octet-stream` (raw),
> not `application/json`. Flows with a trigger schema that has `required` fields
> will reject the request with `InvalidRequestContent` (400) because PA validates
> `Content-Type` before parsing against the schema. Flows without a schema, or
> flows designed to accept raw input (e.g. Baker-pattern flows that parse the body
> internally), will work fine. The flow receives the JSON as base64-encoded
> `$content` with `$content-type: application/octet-stream`.
> **Content type**: `body` is sent as `application/json`, so `triggerBody()` and
> the trigger schema see the object you passed. Verified 2026-08-27 on server 1.2.43
> against Button, PowerAppV2, and Skills triggers with `required` schemas.
---
@@ -578,8 +594,10 @@ tool schemas cannot tell you.
connectionReferences. Use `set_live_flow_state` to start/stop a flow.
### `trigger_live_flow`
- **Only works for HTTP Request triggers.** Returns error for Recurrence, connector,
and other trigger types.
- **Works for HTTP, Button, and PowerApps triggers.** Returns error for Recurrence,
connector, and other trigger types.
- Pass trigger inputs as `body`. A `warning` in the result means a required input
was missing and the run started with it null.
- AAD-authenticated triggers are handled automatically (impersonated Bearer token).
### `get_live_flow_runs`