Use this skill only for workflows that are already bound to the current Agent.
Workflow calls are tool-mode calls. They do not take over the conversation stream. Return the tool result to the skill loop and continue from the structured status:
succeeded: useprimary_outputfirst, thenoutputs, to answer or continue. Do not claim that the workflow produced content that is not present inprimary_outputoroutputs. If the workflow succeeded but returned no displayable output, tell the user the workflow ran but returned no displayable output and includeworkflow_run_id.pending_approval: tell the user approval is waiting and include the safe approval entry details from the tool result when useful.failed: summarize the error and decide whether to retry or ask for corrected input.
Do not invent workflow IDs. The Agent runtime injects an available_workflows JSON list when workflows are bound. Use that injected list first to choose a binding. Call list_agent_workflows only if the injected list is missing, ambiguous, or stale.
Call run_agent_workflow only with a binding_id from available_workflows or the fallback list result. For task workflows, follow the binding's input_schema and required_inputs exactly; when the workflow declares no start inputs, pass an empty inputs object. Only conversational workflows use inputs.query for the user's current request. After approval resumes, use get_workflow_run_status with the returned workflow_run_id to query the result.