Structure
A workflow acts as the blueprint for the notifications that will be sent. The workflow encapsulates the entire flow and rules of messages that are being sent. This is where all the different channels, filters, rules and actions are tied together under a single entity.
Workflow Components
Name and Identifier
Trigger
Channels
- Email (examples include Sendgrid, Postmark)
- In-App (such as feeds, toasts, banners)
- Push (such as APNS, FCM)
- SMS (examples include Twilio, Telnyx)
- Chat (such as Slack, Microsoft Teams, and Discord)
- Webhook (used to send webhooks to custom channels or enable your customers to configure webhooks within your product)
Execution of Workflow Steps
Once a workflow is initiated by its trigger, the steps (and channels) within the workflow are executed in a specific sequence. This sequential execution ensures that each step is completed before the next one begins, maintaining a controlled and orderly flow of the notification process. Here’s what you need to know about this process:- Sequential Execution: Each channel in the workflow is activated one after the other, in the order they are listed within the workflow. This method ensures that each step is given the necessary attention and that dependencies or prerequisites of later steps are adequately met.
- Order of Channels: The order in which channels are listed in the workflow is crucial, as it dictates the sequence of their execution. You should carefully consider the order when setting up your workflows to align with your notification strategy.
Workflow Groups
Workflow groups are used to categorize workflows based on their purpose or function. This grouping allows you to organize your workflows in a way that makes sense to you and your team. For example, you may want to group all your onboarding workflows or group all your transactional workflows together. You can create as many groups as you need and assign workflows to them as you see fit.Working with workflow groups
To create a workflow group, follow these steps:- Navigate to the Workflows page in the Novu interface.
- Select any workflow from the list.
- Click on the cog icon on the top right side to open the workflow settings.
- Stay on the General settings tab.
- Click on the Workflow Group dropdown and select the group you want to assign to the workflow.
- To create a new group start writing some text and a Create New option will appear. Click on it to create a new group and select this group for this workflow.
- Click on the update button on the top right side to save the changes for the entire workflow.

Selecting existing workflow group and creating a new workflow group
- Navigate to the Settings page in the Novu interface.
- Copy the API Key from settings (Each environment has a different API Key).
- Navigate to API Reference page to fetch all workflow groups in Novu documentation.
- Use the previously copied API Key as the Authorization header. Make sure it is in the correct format
ApiKey <API_KEY> - Click on the send button to fetch all the workflow groups.
- In the response field copy the _id field of the workfow group that you want to edit.
- Use the copied _id as the path parameter in the request URL of workflow update API using the same API Key as the Authorization header. Write the new name for the group in the body field.
- Click on the send button to update the workflow group name.
Searching Workflows
Workflows can be searched by their name or trigger identifier. This feature makes it easy to find the desired workflow and quickly access its details.
Workflow search option

Result after serching workflow having event in name
FAQs
Workflow Promotion Error: Notification Group Id Not Found
Workflow Promotion Error: Notification Group Id Not Found
Go to the workflow settings in Novu's interface.
Remain within the general settings tab.
Check the right-hand side for the notification group dropdown.
Verify if any group is selected. The group's association will be demonstrated here.

How to disable a workflow for a single subscriber?
How to disable a workflow for a single subscriber?
- If you want to make a workflow inactive or active, you can do so through the workflow settings. However, it’s important to note that this action will affect all subscribers.
- To disable a workflow for only one subscriber, you can achieve this by having the subscriber disable all channels for that specific workflow through their subscriber preferences. This action will solely impact that particular subscriber.
What is the difference between workflowId and trigger identifier?
What is the difference between workflowId and trigger identifier?
workflowId is a MongoDB-generated identifier within the Novu system, serving as a unique identifier for workflows. It cannot be modified or altered once generated. This workflowId is utilized in several APIs, including the GET Workflow API.
trigger identifier is a distinctive label utilized to activate a workflow, typically represented in a slugified format. Novu generates this identifier automatically based on the workflow’s name, and it can be modified at a later time if needed. Currently, our system supports only a single trigger identifier per workflow. However, as part of our future plans, we intend to enable the use of multiple trigger identifiers for a single workflow, each capable of initiating the workflow from different sources.
workflowId refers to the umbrella structure that holds the entire flow of messages, the trigger identifier is the specific event that starts this sequence.How does Novu prevent duplicate notifications sent to subscribers?
How does Novu prevent duplicate notifications sent to subscribers?
transactionId within Novu is a unique identifier that is used to ensure the idempotent nature of notification delivery.When you trigger an event to send a notification, you have the option to provide a transactionId. If you do not provide one, Novu will generate a UUID for you.This identifier is particularly useful for preventing the same notification from being sent multiple times in case the trigger event is inadvertently called more than once.By leveraging the transactionId, you can make idempotent requests, which means if the same transactionId is used in another request, Novu’s API will recognize it and will not send the same notification again.transactionId.