Skip to content

Changelog

Latest updates and improvements in the chat category.

Follow us on X

All changelog posts

  • Novu Chat SDK Adapter

    Bring your Chat SDK agent to Slack, Teams, WhatsApp, Telegram, and email: deliver multi-channel notifications from one trigger, resolve every channel to one unified subscriber, and drop in React connect components to put channels in front of your end-customers.

    The @novu/chat-sdk-adapter is now available. Wire it into your Chat SDK app and Novu manages credentials, identity, and delivery across Slack, Microsoft Teams, WhatsApp, Telegram, and email.

    npm install @novu/chat-sdk-adapter

    Multi-channel notifications from one trigger

    Define a workflow once in Novu with the channels you want, then fire a single trigger from any handler. Novu fans out to every step — Slack, email, WhatsApp, and more — and routes replies back through the same agent loop, so proactive notifications and conversational replies share one handler set.

    const ctx = getNovuContext(thread);
    
    // One trigger delivers to every channel in the workflow.
    await ctx.trigger("order-shipped", {
      payload: { orderId: "1234", trackingUrl: "https://example.com/track/1234" },
    });

    One unified subscriber across every channel

    Every channel resolves to a single Novu subscriber mapped to your own user, so your agent always knows who it's talking to — with email, phone, locale, custom data, and the canonical conversation history available inside any handler.

    const ctx = getNovuContext(thread);
    
    const subscriber = await ctx.getSubscriber(); // email, phone, locale, custom data
    const history = await ctx.getHistory();       // canonical transcript — ideal for LLM context

    Expose channels to end-customers with connect components

    Drop the prebuilt SlackConnectButton from @novu/react into your app so your end-customers can install and connect their own Slack workspace to your agent — OAuth, credentials, and Slack Connect handled by Novu. Microsoft Teams and Telegram connect buttons are in pre-release.

    import { SlackConnectButton } from '@novu/react';
    
    <SlackConnectButton
      integrationIdentifier={integrationIdentifier}
      connectionIdentifier={`${subscriberId}:${integrationIdentifier}:${agent.identifier}`}
      connectionMode="subscriber"
      connectLabel={`Install ${agent.name} ↗`}
      connectedLabel="Connected to Slack"
      onConnectSuccess={handleSlackOAuthSuccess}
    />

    Get started with npx novu connect --runtime chat-sdk, or read the connect components docs.

  • Native Slack and Microsoft Teams Integration

    Route notifications to Slack or Microsoft Teams channels and DMs using your app identity. One integration, simple OAuth per customer, and Novu handles the rest.

    Author:Adam Chmara
    Adam Chmara
    Native Slack and Microsoft Teams Integration

    Notify Slack channels, Microsoft Teams, and users through DMs using your app identity.

    The new chat integrations let you connect your Slack app or Microsoft Teams bot to Novu. You can then route notifications to the exact destinations your users choose.

    Messages go where they’re needed. You can alert teams about server problems. You can update hiring managers on candidates. You can send operational alerts to specific channels.

    Both integrations work the same way:

    • First, set up your app credentials in Novu.
    • Then, let users connect their workspaces via OAuth.
    • Finally, register endpoints for channels or users.

    Novu handles token management. It routes messages and delivers them. All this happens across different customer tenants using a single integration.

    Slack integration beta

    The Slack chat integration bot is currently in beta. Contact [email protected] to enable it for your organization.

    Multi-tenant by design

    A single Slack app or Teams bot can serve all your customers. Each customer connects their own workspace through a one-time OAuth consent flow.

    Novu keeps the connection for you. It sends messages on your app's behalf.

    You won't need to manage tokens. Also, you won't have to set up separate integrations for each customer.

    In Microsoft Teams, your customers grant admin consent only once. Then, Novu can send messages to any team or user with your app installed.

    Users authorize their Slack workspace, so you can quickly route messages to channels or DMs.

    Flexible delivery targets

    Create Channel Endpoints to define exactly where notifications should land:

    • Channels: Post to `#alerts`, `#engineering`, or any channel where your app has access
    • Direct messages: Send personal notifications to individual users
    • Webhooks: Use Slack incoming webhooks or Teams Workflows. They allow easy channel-only delivery without needing a full bot setup.
    // Create a Slack channel endpoint
    await novu.channelEndpoints.create({
      type: 'slack_channel',
      subscriberId: 'user-123',
      integrationIdentifier: 'slack',
      connectionIdentifier: 'conn_slack_acme',
      context: { tenant: 'acme' },
      endpoint: {
        channelId: 'C01234567'
      }
    });

    When you trigger a Workflow, Novu matches the subscriber and context to the right endpoints and delivers messages through the appropriate workspace connection.


    See the Slack integration guide and Microsoft Teams integration guide to get started.