Novu can be used to deliver chat messages to your customers using a unified delivery API. You can easily integrate your favorite chat provider using the built-in integration store.

Configuring chat providers

To configure a chat provider, you need to add a new integration to your Novu account. You can do this by navigating to the integration store and clicking on the Add a provider button and then select the chat provider you want to configure. You can find the integration store in the left sidebar of the Novu dashboard.

Each chat provider requires defferent type of credentials. There are few providers which does not require any credentials example: Discord

Sending chat message

Steps to send a chat message using Novu:-

  1. 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.
  2. Create a new subscriber

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

  1. Update the subscriber credential webhookUrl for this provider and integration.

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

  3. Trigger this workflow to above subscriberId using trigger identifier

  4. Check the chat provider if message is received. If not, check the logs in activity feed for for any errors.

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.

  1. Subscriber does not have a configured channel.
    • if the subscriber does not have credentials set up for any of the chat provider.
  2. Webhook URL for the chat channel is missing.
  3. Subscriber does not have an active integration.
    • if subscriber have credentials set but integration is either not active or deleted for this credential.
Are we missing a provider you'd like to use for SMS channel? Please consider adding a new feature request on github or help us upvoting the existing ones on our public roadmap