Novu · Capability

Novu API — Workflows

Notifications — Workflows. 9 operations. Lead operation: Create a Workflow. Self-contained Naftiko capability covering one Novu business surface.

Novu API — Workflows is a Naftiko capability published by Novu, one of 16 capabilities the APIs.io network indexes for this provider. It bundles 9 operations across the GET, POST, PUT, DELETE, and PATCH methods rooted at /v2/workflows.

The capability includes 3 read-only operations and 6 state-changing operations. Lead operation: Novu Create a Workflow. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Novu, Notifications, and Workflows.

Run with Naftiko NovuNotificationsWorkflows

What You Can Do

POST
Workflowcontroller_create — Novu Create a Workflow
/v2/workflows
GET
Workflowcontroller_searchworkflows — Novu List All Workflows
/v2/workflows
PUT
Workflowcontroller_sync — Novu Sync a Workflow
/v2/workflows/{workflowId}/sync
PUT
Workflowcontroller_update — Novu Update a Workflow
/v2/workflows/{workflowId}
GET
Workflowcontroller_getworkflow — Novu Retrieve a Workflow
/v2/workflows/{workflowId}
DELETE
Workflowcontroller_removeworkflow — Novu Delete a Workflow
/v2/workflows/{workflowId}
PATCH
Workflowcontroller_patchworkflow — Novu Update a Workflow
/v2/workflows/{workflowId}
POST
Workflowcontroller_generatepreview — Novu Generate a Step Preview
/v2/workflows/{workflowId}/step/{stepId}/preview
GET
Workflowcontroller_getworkflowstepdata — Novu Retrieve Workflow Step
/v2/workflows/{workflowId}/steps/{stepId}

MCP Tools

create-workflow

Novu Create a Workflow

list-all-workflows

Novu List All Workflows

read-only idempotent
sync-workflow

Novu Sync a Workflow

idempotent
update-workflow

Novu Update a Workflow

idempotent
retrieve-workflow

Novu Retrieve a Workflow

read-only idempotent
delete-workflow

Novu Delete a Workflow

idempotent
update-workflow-2

Novu Update a Workflow

idempotent
generate-step-preview

Novu Generate a Step Preview

retrieve-workflow-step

Novu Retrieve Workflow Step

read-only idempotent

Capability Spec

novu-workflows.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Novu API — Workflows
  description: 'Notifications — Workflows. 9 operations. Lead operation: Create a Workflow. Self-contained Naftiko capability covering one Novu business surface.'
  tags:
  - Novu
  - Notifications
  - Workflows
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    NOVU_API_KEY: NOVU_API_KEY
capability:
  consumes:
  - type: http
    namespace: novu-workflows
    baseUri: https://api.novu.co
    description: Novu REST API — Workflows business capability. Self-contained, no shared references.
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.NOVU_API_KEY}}'
      placement: header
    resources:
    - name: v2-workflows
      path: /v2/workflows
      operations:
      - name: WorkflowController_create
        method: POST
        description: Novu Create a Workflow
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: WorkflowController_searchWorkflows
        method: GET
        description: Novu List All Workflows
        inputParameters:
        - name: limit
          in: query
          type: number
          required: false
          description: Number of items to return per page
        - name: offset
          in: query
          type: number
          required: false
          description: Number of items to skip before starting to return results
        - name: orderDirection
          in: query
          type: string
          required: false
          description: Direction of sorting
        - name: orderBy
          in: query
          type: string
          required: false
          description: Field to sort the results by
        - name: query
          in: query
          type: string
          required: false
          description: Search query to filter workflows
        - name: tags
          in: query
          type: array
          required: false
          description: Filter workflows by tags
        - name: status
          in: query
          type: array
          required: false
          description: Filter workflows by status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v2-workflows-workflowid-sync
      path: /v2/workflows/{workflowId}/sync
      operations:
      - name: WorkflowController_sync
        method: PUT
        description: Novu Sync a Workflow
        inputParameters:
        - name: workflowId
          in: path
          type: string
          required: true
          description: workflowId
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v2-workflows-workflowid
      path: /v2/workflows/{workflowId}
      operations:
      - name: WorkflowController_update
        method: PUT
        description: Novu Update a Workflow
        inputParameters:
        - name: workflowId
          in: path
          type: string
          required: true
          description: workflowId
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: WorkflowController_getWorkflow
        method: GET
        description: Novu Retrieve a Workflow
        inputParameters:
        - name: workflowId
          in: path
          type: string
          required: true
          description: workflowId
        - name: environmentId
          in: query
          type: string
          required: false
          description: environmentId
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: WorkflowController_removeWorkflow
        method: DELETE
        description: Novu Delete a Workflow
        inputParameters:
        - name: workflowId
          in: path
          type: string
          required: true
          description: workflowId
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: WorkflowController_patchWorkflow
        method: PATCH
        description: Novu Update a Workflow
        inputParameters:
        - name: workflowId
          in: path
          type: string
          required: true
          description: workflowId
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v2-workflows-workflowid-step-stepid-preview
      path: /v2/workflows/{workflowId}/step/{stepId}/preview
      operations:
      - name: WorkflowController_generatePreview
        method: POST
        description: Novu Generate a Step Preview
        inputParameters:
        - name: workflowId
          in: path
          type: string
          required: true
          description: workflowId
        - name: stepId
          in: path
          type: string
          required: true
          description: stepId
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v2-workflows-workflowid-steps-stepid
      path: /v2/workflows/{workflowId}/steps/{stepId}
      operations:
      - name: WorkflowController_getWorkflowStepData
        method: GET
        description: Novu Retrieve Workflow Step
        inputParameters:
        - name: workflowId
          in: path
          type: string
          required: true
          description: workflowId
        - name: stepId
          in: path
          type: string
          required: true
          description: stepId
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: novu-workflows-rest
    port: 8080
    description: REST adapter for Novu API — Workflows. One Spectral-compliant resource per consumed operation.
    resources:
    - path: /v2/workflows
      name: v2-workflows
      description: REST surface for /v2/workflows.
      operations:
      - method: POST
        name: WorkflowController_create
        description: Novu Create a Workflow
        call: novu-workflows.WorkflowController_create
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: WorkflowController_searchWorkflows
        description: Novu List All Workflows
        call: novu-workflows.WorkflowController_searchWorkflows
        with:
          limit: rest.limit
          offset: rest.offset
          orderDirection: rest.orderDirection
          orderBy: rest.orderBy
          query: rest.query
          tags: rest.tags
          status: rest.status
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/workflows/{workflowId}/sync
      name: v2-workflows-workflowid-sync
      description: REST surface for /v2/workflows/{workflowId}/sync.
      operations:
      - method: PUT
        name: WorkflowController_sync
        description: Novu Sync a Workflow
        call: novu-workflows.WorkflowController_sync
        with:
          workflowId: rest.workflowId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/workflows/{workflowId}
      name: v2-workflows-workflowid
      description: REST surface for /v2/workflows/{workflowId}.
      operations:
      - method: PUT
        name: WorkflowController_update
        description: Novu Update a Workflow
        call: novu-workflows.WorkflowController_update
        with:
          workflowId: rest.workflowId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: WorkflowController_getWorkflow
        description: Novu Retrieve a Workflow
        call: novu-workflows.WorkflowController_getWorkflow
        with:
          workflowId: rest.workflowId
          environmentId: rest.environmentId
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: WorkflowController_removeWorkflow
        description: Novu Delete a Workflow
        call: novu-workflows.WorkflowController_removeWorkflow
        with:
          workflowId: rest.workflowId
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: WorkflowController_patchWorkflow
        description: Novu Update a Workflow
        call: novu-workflows.WorkflowController_patchWorkflow
        with:
          workflowId: rest.workflowId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/workflows/{workflowId}/step/{stepId}/preview
      name: v2-workflows-workflowid-step-stepid-preview
      description: REST surface for /v2/workflows/{workflowId}/step/{stepId}/preview.
      operations:
      - method: POST
        name: WorkflowController_generatePreview
        description: Novu Generate a Step Preview
        call: novu-workflows.WorkflowController_generatePreview
        with:
          workflowId: rest.workflowId
          stepId: rest.stepId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/workflows/{workflowId}/steps/{stepId}
      name: v2-workflows-workflowid-steps-stepid
      description: REST surface for /v2/workflows/{workflowId}/steps/{stepId}.
      operations:
      - method: GET
        name: WorkflowController_getWorkflowStepData
        description: Novu Retrieve Workflow Step
        call: novu-workflows.WorkflowController_getWorkflowStepData
        with:
          workflowId: rest.workflowId
          stepId: rest.stepId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: novu-workflows-mcp
    port: 9090
    transport: http
    description: MCP adapter for Novu API — Workflows. One tool per consumed operation, routed inline through this capability's consumes block.
    tools:
    - name: create-workflow
      description: Novu Create a Workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: novu-workflows.WorkflowController_create
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-all-workflows
      description: Novu List All Workflows
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: novu-workflows.WorkflowController_searchWorkflows
      with:
        limit: tools.limit
        offset: tools.offset
        orderDirection: tools.orderDirection
        orderBy: tools.orderBy
        query: tools.query
        tags: tools.tags
        status: tools.status
      outputParameters:
      - type: object
        mapping: $.
    - name: sync-workflow
      description: Novu Sync a Workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: novu-workflows.WorkflowController_sync
      with:
        workflowId: tools.workflowId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: update-workflow
      description: Novu Update a Workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: novu-workflows.WorkflowController_update
      with:
        workflowId: tools.workflowId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-workflow
      description: Novu Retrieve a Workflow
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: novu-workflows.WorkflowController_getWorkflow
      with:
        workflowId: tools.workflowId
        environmentId: tools.environmentId
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-workflow
      description: Novu Delete a Workflow
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: novu-workflows.WorkflowController_removeWorkflow
      with:
        workflowId: tools.workflowId
      outputParameters:
      - type: object
        mapping: $.
    - name: update-workflow-2
      description: Novu Update a Workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: novu-workflows.WorkflowController_patchWorkflow
      with:
        workflowId: tools.workflowId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: generate-step-preview
      description: Novu Generate a Step Preview
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: novu-workflows.WorkflowController_generatePreview
      with:
        workflowId: tools.workflowId
        stepId: tools.stepId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-workflow-step
      description: Novu Retrieve Workflow Step
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: novu-workflows.WorkflowController_getWorkflowStepData
      with:
        workflowId: tools.workflowId
        stepId: tools.stepId
      outputParameters:
      - type: object
        mapping: $.