Action flows — flow-level (addressed by actionFlowId). Discover types via op=SELECTABLE_TYPES and ids via op=GET_DETAIL. AI nodes require isAsync=true. Changes apply immediately; use schema_undo to revert the last change. Ops: - op=ADD → ADD_ACTION_FLOWS (req: items) - op=ADD_GLOBAL_VARS → ADD_AC...
AI agents call schema_actionflow to permanently remove resources in Zion — typically in cleanup and lifecycle workflows. It does its job in a single call, and there is no undo.
| Parameter | Type | Required | Description |
|---|---|---|---|
op | string | Yes | |
name | string | — | |
type | object | — | |
items | array | — | |
names | array | — | |
nodeId | string | — | |
appExId | string | null | — | |
isAsync | boolean | — | |
newName | string | — | |
timeout | number | — | |
arrayLevel | number | — | |
displayName | string | — |
Parameters from the server's own tool schema.
An AI agent that decides to call schema_actionflow doesn't hesitate, doesn't double-check, and doesn't stop at one. Whatever it removes from Zion is gone — there is no undo for destructive operations.
Risk signalsHigh parameter count (18 properties)
Attacks that exploit this kind of access
Action flows — flow-level (addressed by actionFlowId). Discover types via op=SELECTABLE_TYPES and ids via op=GET_DETAIL. AI nodes require isAsync=true. Changes apply immediately; use schema_undo to revert the last change. Ops: - op=ADD → ADD_ACTION_FLOWS (req: items) - op=ADD_GLOBAL_VARS → ADD_ACTION_FLOW_GLOBAL_VARIABLES (req: actionFlowId, items) - op=ADD_INPUT_PARAMS → ADD_ACTION_FLOW_INPUT_PARAMS (req: actionFlowId, items) - op=ADD_OUTPUT_FIELDS → ADD_ACTION_FLOW_OUTPUT_FIELDS (req: actionFlowId, items) [pre-type-system-refactor only] - op=ADD_CUSTOM_CODE_NODE_OUTPUT_VALUE → ADD_CUSTOM_CODE_NODE_OUTPUT_VALUE (req: actionFlowId, name, nodeId, type) [pre-type-system-refactor only] - op=CLEAR_OUTPUT → CLEAR_ACTION_FLOW_OUTPUT (req: actionFlowId) [post-type-system-refactor only] - op=CLEAR_CUSTOM_CODE_NODE_OUTPUT_TYPE → CLEAR_CUSTOM_CODE_NODE_OUTPUT_TYPE (req: actionFlowId, nodeId) [post-type-system-refactor only] - op=DELETE → DELETE_ACTION_FLOWS (req: actionFlowIds) - op=DELETE_GLOBAL_VARS → DELETE_ACTION_FLOW_GLOBAL_VARIABLES (req: actionFlowId, variableKeys) - op=DELETE_INPUT_PARAMS → DELETE_ACTION_FLOW_INPUT_PARAMS (req: actionFlowId, names) - op=DELETE_OUTPUT_FIELDS → DELETE_ACTION_FLOW_OUTPUT_FIELDS (req: actionFlowId, names) [pre-type-system-refactor only] - op=DELETE_CUSTOM_CODE_NODE_OUTPUT_VALUE → DELETE_CUSTOM_CODE_NODE_OUTPUT_VALUE (req: actionFlowId, name, nodeId) [pre-type-system-refactor only] - op=GET_DETAIL → GET_ACTION_FLOW_DETAIL (req: actionFlowId) - op=SELECTABLE_TYPES → GET_ACTION_FLOW_SELECTABLE_TYPES - op=LIST → GET_ALL_ACTION_FLOW_INFOS - op=SET_OUTPUT → SET_ACTION_FLOW_OUTPUT (req: actionFlowId, type) [post-type-system-refactor only] - op=SET_CUSTOM_CODE_NODE_OUTPUT_TYPE → SET_CUSTOM_CODE_NODE_OUTPUT_TYPE (req: actionFlowId, nodeId, type) [post-type-system-refactor only] - op=UPDATE → UPDATE_ACTION_FLOW (req: actionFlowId) - op=UPDATE_GLOBAL_VARS → UPDATE_ACTION_FLOW_GLOBAL_VARIABLES (req: actionFlowId, items) - op=UPDATE_INPUT_PARAMS → UPDATE_ACTION_FLOW_INPUT_PARAMS (req: actionFlowId, items) - op=UPDATE_CUSTOM_CODE_NODE_OUTPUT_VALUE → UPDATE_CUSTOM_CODE_NODE_OUTPUT_VALUE (req: actionFlowId, name, nodeId) [pre-type-system-refactor only]. It is categorised as a Destructive tool in the Zion MCP Server, which means it can permanently delete or destroy data. Block by default and require explicit approval.
schema_actionflow accepts 12 parameters: op, name, type, items, names, nodeId, appExId, isAsync, newName, timeout, arrayLevel, displayName. Required: op. The full parameter table on this page comes from the server's own tool schema.
Register the Zion MCP server in PolicyLayer and add a rule for schema_actionflow: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Zion. Nothing to install.
schema_actionflow is a Destructive tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.
Yes. Add a rate_limit block to the schema_actionflow rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for schema_actionflow. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
schema_actionflow is provided by the Zion MCP server (zion-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Every MCP server has a record like this.
Type a name, get the same breakdown: verified identity, auth posture, risk grade, capabilities, recommended policy.
Teams ship this data inside their own products. See what a licence covers →