# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Loops OpenAPI Spec Workflow nodes API version: 1.0.0 extends: openapi/loops-workflow-nodes-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 7 - target: $.paths['/v1/workflows/{workflowId}/nodes'].post update: x-apievangelist-phrasing: intent: Add a node to a workflow effect: write questions: - How do I insert a new step into a workflow? - Can I place a new node between two existing nodes? instructions: - text: Add a new node to workflow {workflowId}. slots: workflowId: path.workflowId - text: Insert a default step into workflow {workflowId}. slots: workflowId: path.workflowId method: generated generated: '2026-09-26' - target: $.paths['/v1/workflows/{workflowId}/nodes/{nodeId}/add-branch'].post update: x-apievangelist-phrasing: intent: Add a branch to a branch or experiment node effect: write questions: - How do I add another path under a branch node? - Can I add a new variant to an experiment in a workflow? instructions: - text: Add a branch under node {nodeId} in workflow {workflowId} at revision {expectedRevisionId}. slots: nodeId: path.nodeId workflowId: path.workflowId expectedRevisionId: requestBody.expectedRevisionId - text: Add a variant to experiment node {nodeId} of workflow {workflowId}, revision {expectedRevisionId}. slots: nodeId: path.nodeId workflowId: path.workflowId expectedRevisionId: requestBody.expectedRevisionId method: generated generated: '2026-09-26' - target: $.paths['/v1/workflows/{workflowId}/nodes/{nodeId}'].get update: x-apievangelist-phrasing: intent: Get a workflow node effect: read questions: - How do I see the settings of a single workflow step? - What is configured on a particular node? instructions: - text: Show node {nodeId} in workflow {workflowId}. slots: nodeId: path.nodeId workflowId: path.workflowId - text: Get the details of workflow {workflowId} step {nodeId}. slots: workflowId: path.workflowId nodeId: path.nodeId method: generated generated: '2026-09-26' - target: $.paths['/v1/workflows/{workflowId}/nodes/{nodeId}'].post update: x-apievangelist-phrasing: intent: Update a workflow node's settings effect: write questions: - How do I change the configuration of one workflow step? - Can I change which trigger type a trigger node uses? instructions: - text: Update node {nodeId} in workflow {workflowId} at revision {expectedRevisionId} with {payload}. slots: nodeId: path.nodeId workflowId: path.workflowId expectedRevisionId: requestBody.expectedRevisionId payload: requestBody.payload - text: Change the settings of step {nodeId} of workflow {workflowId} to {payload}, revision {expectedRevisionId}. slots: nodeId: path.nodeId workflowId: path.workflowId payload: requestBody.payload expectedRevisionId: requestBody.expectedRevisionId method: generated generated: '2026-09-26' - target: $.paths['/v1/workflows/{workflowId}/nodes/{nodeId}'].delete update: x-apievangelist-phrasing: intent: Delete a single workflow node effect: destructive questions: - How do I remove just one step from a workflow? - What happens if contacts are queued at a node I delete? instructions: - text: Delete only node {nodeId} from workflow {workflowId} at revision {expectedRevisionId}. slots: nodeId: path.nodeId workflowId: path.workflowId expectedRevisionId: requestBody.expectedRevisionId - text: Delete single node {nodeId} of workflow {workflowId}, revision {expectedRevisionId}, with queued-contact policy {queuedContactPolicy}. slots: nodeId: path.nodeId workflowId: path.workflowId expectedRevisionId: requestBody.expectedRevisionId queuedContactPolicy: requestBody.queuedContactPolicy method: generated generated: '2026-09-26' - target: $.paths['/v1/workflows/{workflowId}/nodes/{nodeId}/reroute'].post update: x-apievangelist-phrasing: intent: Reroute a node's outgoing connection effect: write questions: - How do I point a workflow step at a different next step? - Can I move a node's connection to another target node? instructions: - text: Reroute node {nodeId} in workflow {workflowId} to {newTargetNodeId} at revision {expectedRevisionId}. slots: nodeId: path.nodeId workflowId: path.workflowId newTargetNodeId: requestBody.newTargetNodeId expectedRevisionId: requestBody.expectedRevisionId - text: Connect step {nodeId} of workflow {workflowId} to {newTargetNodeId} instead, revision {expectedRevisionId}. slots: nodeId: path.nodeId workflowId: path.workflowId newTargetNodeId: requestBody.newTargetNodeId expectedRevisionId: requestBody.expectedRevisionId method: generated generated: '2026-09-26' - target: $.paths['/v1/workflows/{workflowId}/nodes/{nodeId}/recursive'].delete update: x-apievangelist-phrasing: intent: Delete a node and everything below it effect: destructive questions: - How do I remove a whole branch of a workflow in one go? - Can I dry-run deleting a node and its downstream steps? instructions: - text: Delete node {nodeId} and its whole subtree from workflow {workflowId} at revision {expectedRevisionId}. slots: nodeId: path.nodeId workflowId: path.workflowId expectedRevisionId: requestBody.expectedRevisionId - text: Dry-run removing {nodeId} and all downstream nodes in workflow {workflowId}, revision {expectedRevisionId}, dryRun {dryRun}. slots: nodeId: path.nodeId workflowId: path.workflowId expectedRevisionId: requestBody.expectedRevisionId dryRun: requestBody.dryRun method: generated generated: '2026-09-26'