Confirmation and output
Two opt-in flags on a topology's MCP description control how the Pulse chat behaves around a run: whether it asks first, and whether it may reformat the result.
Require confirmation before running #
Set requires_confirmation: true to make Pulse ask the user to approve a run before it dispatches:
{
"description": "Files a vacation request for the signed-in employee.",
"requires_confirmation": true,
"input_schema": { "type": "object", "properties": { "from": { "type": "string" }, "to": { "type": "string" } } }
}
When the flag is set, the chat presents a plain-language confirmation card with the parameters it is about to use, framed as part of the conversation rather than as raw JSON. The process runs only after the user approves. The flag is enforced before dispatch, so nothing sensitive runs by accident.
Omit the flag (or set it false) for tools that should run immediately. It is only emitted into the manifest when true, so quick tools stay frictionless.
Output handling #
By default, a query topology's output is returned to the user exactly as the topology produced it. It is not sent back through the model. A response can carry sensitive data, and formatting should happen inside the topology where you control it.
If you do want the assistant to reformat a specific tool's output, opt in with llm_format: true:
{
"description": "Returns a sales summary for a period.",
"llm_format": true
}
llm_format | Behavior |
|---|---|
absent / false | Output is returned verbatim. The model never sees it. |
true | The assistant may summarise or reformat the output for the user. |
Only enable llm_format for tools whose output is safe to pass through the model. Leave it off for anything that may contain sensitive data.