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 different 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
  • 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

Add Chat Provider Integration

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 Subscriber

Create a new subscriber.

This step can be skipped if you already have a subscriber. You can use the subscriberId of an existing subscriber.

Update Subscriber Credentials

Update the subscriber credential webhookUrl for this provider and integration.

Configure Workflow

Create a new worklow or use an existing workflow. Add chat channel and write content for the message.

Trigger Workflow

Trigger this workflow to above subscriberId using trigger identifier.

Verify Message

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
  • Subscriber does not have an active integration
    • if subscriber have credentials set but integration is either not active or deleted for this credential

On this page