Novu · Arazzo Workflow

Novu Onboard a Subscriber and Send Their First Notification

Version 1.0.0

Create a subscriber, trigger a workflow to them, and read back the resulting event.

1 workflow 3 source APIs 1 provider
View Spec View on GitHub NotificationMessagingIn-AppEmailSMSPushChatWorkflowsOpen-SourceSubscribersTopicsInboxWorkflow OrchestrationMulti-ChannelDigestMCPFrameworkReactArazzoWorkflows

Provider

novu

Workflows

onboard-subscriber-and-notify
Create a subscriber then trigger and inspect their first notification.
Creates a subscriber with the supplied profile, triggers the named workflow to that subscriber with a custom payload, then lists and retrieves the resulting notification event for verification.
4 steps inputs: email, firstName, lastName, payload, subscriberId, workflowId outputs: notificationId, subscriberId, transactionId
1
createSubscriber
Create the subscriber. subscriberId is required; if the subscriber already exists it is updated rather than duplicated.
2
triggerEvent
Trigger the named workflow addressed to the newly created subscriber, passing the custom payload. Novu returns a transactionId for the trigger.
3
listEvents
List notification events for the environment filtered to the new subscriber, returning the most recent triggered event so its id can be resolved for a detailed lookup.
4
getNotification
Retrieve the full event detail (execution logs, status, generated messages) for the notification produced by the trigger.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Novu Onboard a Subscriber and Send Their First Notification
  summary: Create a subscriber, trigger a workflow to them, and read back the resulting event.
  description: >-
    The core Novu onboarding loop. The workflow creates (or upserts) a
    subscriber from your application's user record, triggers a notification
    workflow addressed to that subscriber, and then lists the environment's
    events filtered to the new subscriber so the freshly created notification
    event can be retrieved in detail. Every step spells out its request inline
    so the flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: eventsApi
  url: ../openapi/novu-events-api-openapi.yml
  type: openapi
- name: notificationsApi
  url: ../openapi/novu-notifications-api-openapi.yml
  type: openapi
- name: subscribersApi
  url: ../openapi/novu-subscribers-api-openapi.yml
  type: openapi
workflows:
- workflowId: onboard-subscriber-and-notify
  summary: Create a subscriber then trigger and inspect their first notification.
  description: >-
    Creates a subscriber with the supplied profile, triggers the named workflow
    to that subscriber with a custom payload, then lists and retrieves the
    resulting notification event for verification.
  inputs:
    type: object
    required:
    - subscriberId
    - workflowId
    properties:
      subscriberId:
        type: string
        description: The external identifier of the subscriber (your system's user id).
      email:
        type: string
        description: Email address of the subscriber.
      firstName:
        type: string
        description: First name of the subscriber.
      lastName:
        type: string
        description: Last name of the subscriber.
      workflowId:
        type: string
        description: The trigger identifier of the workflow to send.
      payload:
        type: object
        description: Custom payload object used to render the workflow.
  steps:
  - stepId: createSubscriber
    description: >-
      Create the subscriber. subscriberId is required; if the subscriber already
      exists it is updated rather than duplicated.
    operationId: SubscribersController_createSubscriber
    requestBody:
      contentType: application/json
      payload:
        subscriberId: $inputs.subscriberId
        email: $inputs.email
        firstName: $inputs.firstName
        lastName: $inputs.lastName
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      subscriberId: $response.body#/data/subscriberId
      internalId: $response.body#/data/_id
  - stepId: triggerEvent
    description: >-
      Trigger the named workflow addressed to the newly created subscriber,
      passing the custom payload. Novu returns a transactionId for the trigger.
    operationId: EventsController_trigger
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.workflowId
        to: $steps.createSubscriber.outputs.subscriberId
        payload: $inputs.payload
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      acknowledged: $response.body#/data/acknowledged
      status: $response.body#/data/status
      transactionId: $response.body#/data/transactionId
  - stepId: listEvents
    description: >-
      List notification events for the environment filtered to the new
      subscriber, returning the most recent triggered event so its id can be
      resolved for a detailed lookup.
    operationId: NotificationsController_listNotifications
    parameters:
    - name: subscriberIds
      in: query
      value:
      - $steps.createSubscriber.outputs.subscriberId
    - name: page
      in: query
      value: 0
    - name: limit
      in: query
      value: 10
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      notificationId: $response.body#/data/0/_id
  - stepId: getNotification
    description: >-
      Retrieve the full event detail (execution logs, status, generated
      messages) for the notification produced by the trigger.
    operationId: NotificationsController_getNotification
    parameters:
    - name: notificationId
      in: path
      value: $steps.listEvents.outputs.notificationId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      notification: $response.body#/data
  outputs:
    subscriberId: $steps.createSubscriber.outputs.subscriberId
    transactionId: $steps.triggerEvent.outputs.transactionId
    notificationId: $steps.listEvents.outputs.notificationId

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/novu-onboard-subscriber-and-notify-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.