Adding Chat Channel
Learn how to add the Chat channel to your application
Chat channels allow you to deliver instant, contextual messages to your subscribers via their preferred chat platform and apps.
Enable Chat Channel in Novu Dashboard
The Chat channel is not enabled by default. To use it, configure a provider like Slack, Discord, or others.
- Go to the Novu Dashboard and click “Integrations” on the left sidebar
- Click “Add a provider”
- Locate the Chat channel and select the provider you want to use and click “Next”
- Select for which environment you want to add the Provider
- (Optional) Add Conditions to activate the provider only under certain conditions, useful for tenant-based providers
- Click “Create”
- Add your Chat provider credentials:
Each chat provider requires defferent type of credentials. There are few providers which does not require any credentials example:
Discord
- Provider-specific credentials such as API key / Auth token, Client ID, Client Secret, or password
- Save the configuration by clicking “Update”
Setup workflow with chat channel in Novu Dashboard
- Go to the Novu Dashboard and click “Workflows” on the left sidebar.
- Click the “Add a Workflow” button.
- Add a step and select “Chat” as the channel.
- Configure the Chat content:
- Message body (e.g.,
{{subscriber.firstName}}, your order {{orderId}} has shipped.
). - Dynamic placeholders for personalized content.
- Message body (e.g.,
- Optionally, set fallback channels to ensure reliable delivery if Chat fails.
Add a workflow Trigger to your backend
Novu’s server-side SDKs make integrating Novu’s REST APIs straightforward, letting you focus on implementing workflows without dealing with repetitive code.
Server-side SDKs
Test and Verify Chat Channel
Ensure your Chat configuration is working correctly by testing the setup.
- Go to the Novu Dashboard, navigate to the “Workflows” section, and locate your configured workflow.
- Click “Test Workflow” and provide sample data, such as a phone number or dynamic variables.
- Verify delivery in the Novu Logs or your Chat provider’s dashboard.
Sending chat message
Steps to send a chat message using Novu:-
- Add a chat provider integration to your Novu account from the integration store. Enter credentials if required and save the integration. Follow corresponding provider documentation to get the required credentials.
- Create a new subscriber
Step 2 can be skipped if you already have a subscriber. You can use the
subscriberId
of an existing subscriber.
-
Update the subscriber credential
webhookUrl
for this provider and integration. -
Create a new worklow or use an existing workflow. Add chat channel and write content for the message.
-
Trigger this workflow to above
subscriberId
using trigger identifier -
Check the chat provider if message is received.
Update credential webhookUrl
import {
Novu,
ChatProviderIdEnum
} from '@novu/node';
const novu = new Novu("<NOVU_SECRET_KEY>");
await novu.subscribers.setCredentials('subscriberId', ChatProviderIdEnum.Slack, {
webhookUrl: "<WEBHOOK_URL>",
});
Checkout the API reference for more details.
Integration identifier is similar to Provider identifier but it is different than
Provider Id. It is unique for each integration. You can find the integrationIdentifier
in the integration store page.
Common errors
Common erros and reason of those errors while sending chat messages using Novu.
- Subscriber does not have a configured channel.
- if the subscriber does not have credentials set up for any of the chat provider.
- Webhook URL for the chat channel is missing.
webhookUrl
field is null, undefined or not set. Check using get subscriber api.
- Subscriber does not have an active integration.
- if subscriber have credentials set but integration is either not active or deleted for this credential.