# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Novu Workflows API version: 1.0.0 extends: openapi/novu-workflows-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: 9 - target: $.paths['/v2/workflows'].get update: x-apievangelist-phrasing: intent: List workflows effect: read questions: - What notification workflows exist in my environment? - Can I filter workflows by tag or status? - Is there a way to search workflows by name? instructions: - text: List all my workflows. - text: Find workflows tagged {tags}. slots: tags: query.tags - text: Search workflows for {query} with status {status}. slots: query: query.query status: query.status method: generated generated: '2026-09-26' - target: $.paths['/v2/workflows'].post update: x-apievangelist-phrasing: intent: Create a workflow effect: write questions: - How do I create a new notification workflow with email and in-app steps? - Can I define a payload schema and validate it when creating a workflow? instructions: - text: Create workflow {name} with id {workflowId} and steps {steps}. slots: name: requestBody.name workflowId: requestBody.workflowId steps: requestBody.steps - text: Create a new {severity} severity workflow {workflowId} named {name} with steps {steps}. slots: severity: requestBody.severity workflowId: requestBody.workflowId name: requestBody.name steps: requestBody.steps method: generated generated: '2026-09-26' - target: $.paths['/v2/workflows/{workflowId}/sync'].put update: x-apievangelist-phrasing: intent: Sync a workflow to another environment effect: write questions: - Can I copy a single workflow to my production environment? - Is it possible to sync one workflow without publishing the whole environment? instructions: - text: Sync workflow {workflowId} to environment {targetEnvironmentId}. slots: workflowId: path.workflowId targetEnvironmentId: requestBody.targetEnvironmentId - text: Push just workflow {workflowId} over to {targetEnvironmentId}. slots: workflowId: path.workflowId targetEnvironmentId: requestBody.targetEnvironmentId method: generated generated: '2026-09-26' - target: $.paths['/v2/workflows/{workflowId}'].get update: x-apievangelist-phrasing: intent: Get a workflow effect: read questions: - How do I fetch the full definition of one workflow? - Can I look up a workflow as it exists in a specific environment? instructions: - text: Show me workflow {workflowId}. slots: workflowId: path.workflowId - text: Fetch workflow {workflowId} from environment {environmentId}. slots: workflowId: path.workflowId environmentId: query.environmentId method: generated generated: '2026-09-26' - target: $.paths['/v2/workflows/{workflowId}'].put update: x-apievangelist-phrasing: intent: Replace a workflow's definition effect: write questions: - How do I fully replace a workflow's steps and preferences? - What fields must I send when doing a full workflow update? instructions: - text: Replace workflow {workflowId} with name {name}, steps {steps}, preferences {preferences} and origin {origin}. slots: workflowId: path.workflowId name: requestBody.name steps: requestBody.steps preferences: requestBody.preferences origin: requestBody.origin - text: Overwrite all steps of workflow {workflowId} with {steps}, keeping name {name}, preferences {preferences}, origin {origin}. slots: workflowId: path.workflowId steps: requestBody.steps name: requestBody.name preferences: requestBody.preferences origin: requestBody.origin method: generated generated: '2026-09-26' - target: $.paths['/v2/workflows/{workflowId}'].delete update: x-apievangelist-phrasing: intent: Delete a workflow effect: destructive questions: - What's the way to delete a workflow I no longer need? - Can I remove a workflow by its identifier? instructions: - text: Delete workflow {workflowId}. slots: workflowId: path.workflowId - text: Remove the {workflowId} workflow permanently. slots: workflowId: path.workflowId method: generated generated: '2026-09-26' - target: $.paths['/v2/workflows/{workflowId}'].patch update: x-apievangelist-phrasing: intent: Partially update a workflow effect: write questions: - How do I deactivate a workflow without resending its steps? - Can I change just a workflow's tags or description? instructions: - text: Set workflow {workflowId} active to {active}. slots: workflowId: path.workflowId active: requestBody.active - text: Change only the tags on workflow {workflowId} to {tags}. slots: workflowId: path.workflowId tags: requestBody.tags method: generated generated: '2026-09-26' - target: $.paths['/v2/workflows/{workflowId}/step/{stepId}/preview'].post update: x-apievangelist-phrasing: intent: Preview a workflow step effect: read questions: - How can I see what a workflow step's message will look like with test data? - Can I preview a step with draft control values before saving them? instructions: - text: Preview step {stepId} of workflow {workflowId}. slots: stepId: path.stepId workflowId: path.workflowId - text: Render step {stepId} in workflow {workflowId} with payload {previewPayload}. slots: stepId: path.stepId workflowId: path.workflowId previewPayload: requestBody.previewPayload method: generated generated: '2026-09-26' - target: $.paths['/v2/workflows/{workflowId}/steps/{stepId}'].get update: x-apievangelist-phrasing: intent: Get a workflow step effect: read questions: - Where can I read the configuration of one step in a workflow? - What controls and settings does a particular workflow step have? instructions: - text: Show step {stepId} of workflow {workflowId}. slots: stepId: path.stepId workflowId: path.workflowId - text: Fetch the data for step {stepId} in {workflowId}. slots: stepId: path.stepId workflowId: path.workflowId method: generated generated: '2026-09-26'