invoke_operation
Execute an Admin API operation through the standard HTTP pipeline (caller's token, account context and permissions apply). Success returns {success: true, body: ...}; an API error returns {success: false, errors: [{code, type, message, hint?}]} (statusCode added only when not 200); a guard refusal returns {error, details?}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body — a JSON object ({"page":1}) or that same JSON as a string. Both work. | |
| confirm | No | Set true ONLY to confirm an intentional un-scoped bulk delete (empty/omitted filter, hits EVERY record). This must reflect a REAL reply from the human — ask them directly what it affects, wait for their next message, and never infer it from their original request or set it in the same turn where you explain the risk. Leave false normally; a refusal explains what to ask. | |
| guideAck | No | Acknowledgement token from an HTML-editing guide (get_operation_schema section="guide", or the refusal). REQUIRED when writing a site page's BodyHtml/HeadHtml, a site header/footer's BodyHtml (fragment only — no HeadHtml), OR a course step's theory designHTMLPublished/designStylePublished/customTheoryHtml — confirms you read and applied that operation's guide; otherwise the write is refused. | |
| pathParams | No | Route parameters, scalars only — a JSON object ({"id":"a1b2"}) or that same JSON as a string. | |
| operationId | No | REQUIRED. Operation id to execute, e.g. 'crm.Lead.GetItems.get'. Get one from capability_map -> list_recipes(search="<intent>") -> search_operations(query). A recipe INTENT is not an operation id — open the recipe and use its operationId. | |
| queryParams | No | Query parameters — a JSON object or that same JSON as a string; array values are sent as repeated keys. |