Novu is open-source notification infrastructure for developers, with a unified API and workflow tooling for in-app, email, SMS, push, and chat notifications.
# Novu
> The open-source notification infrastructure for agents and products. Send, receive, and track notifications across channels.
- [Notify (222 pages)](https://docs.novu.co/_llms/notify.txt): Documentation for Notify.
## Agent Connect
### Getting Started
- [Novu Connect - Agent Communication Infrastructure (ACI)](https://docs.novu.co/agents.md): Connect AI agents to Slack, Teams, WhatsApp, Telegram, and email. Route inbound messages, preserve conversation context, and deliver replies through Novu ACI.
- [What is ACI?](https://docs.novu.co/agents/get-started/what-is-aci.md): Learn what the Agent Communication Interface (ACI) is, what problems it solves, and how it helps AI agents talk to users across chat, email, and push.
- [Mental model](https://docs.novu.co/agents/get-started/mental-model.md): Trace how inbound messages flow from Slack, Teams, WhatsApp, email, or in-app Web Chat through Novu's agent communication infrastructure to your agent code and back.
- [Agents and providers](https://docs.novu.co/agents/get-started/agents-and-providers.md): How Novu agents and provider connections route messages, resolve identity, and deliver replies across supported channels.
- [Workflow-assigned agents](https://docs.novu.co/agents/workflow-agents.md): Assign an agent to a workflow so chat and email steps send through the agent's connected channels, and subscriber replies continue as an agent conversation with the original notification payload.
#### Quickstart
- [Connect AI SDK to Slack](https://docs.novu.co/agents/get-started/ai-sdk.md): Add @novu/framework/ai-sdk to an existing app, connect Slack, and return generateText from onMessage. Same handler works on Teams, WhatsApp, Telegram, and email.
- [Connect LangChain to Slack](https://docs.novu.co/agents/get-started/langchain.md): Add @novu/framework/langchain to an existing app, connect Slack, and return a LangChainAgentConfig from onMessage.
- [Connect Mastra to Slack](https://docs.novu.co/agents/get-started/mastra.md): Add @novu/framework to an existing Mastra app, connect Slack, and return generate() output from onMessage.
- [Connect Claude managed agent](https://docs.novu.co/agents/get-started/claude-managed.md): Create a Claude managed agent with Anthropic credentials via the Novu CLI, connect Slack, and send your first message. No bridge server.
- [Connect AWS Claude managed agent](https://docs.novu.co/agents/get-started/aws-claude.md): Create a managed agent on Claude Platform for AWS with the Novu CLI. Provide region, workspace ID, and API key, then connect Slack.
### Channels
- [Overview](https://docs.novu.co/agents/channels/overview.md): Feature support matrix for Novu Connect on Slack, Microsoft Teams, WhatsApp, Telegram, email, and Web Chat.
- [Slack](https://docs.novu.co/agents/channels/slack.md): Connect your agent to Slack: threading, typing indicators, plan cards, Block Kit, and tool approval.
- [Microsoft Teams](https://docs.novu.co/agents/channels/microsoft-teams.md): Connect your agent to Microsoft Teams: threading, typing indicators, Adaptive Cards, and tool approval.
- [WhatsApp](https://docs.novu.co/agents/channels/whatsapp.md): Connect your agent to WhatsApp Business: session context, typing indicators, quick-reply buttons, and tool approval.
- [Telegram](https://docs.novu.co/agents/channels/telegram.md): Connect your agent to Telegram: threading, typing indicators, inline keyboards, edit-in-place plans, and tool approval.
- [Email](https://docs.novu.co/agents/channels/email.md): Connect your agent to email: threaded HTML replies, action-link buttons, and tool approval. No typing indicator or plan card.
#### Web Chat
- [Web Chat](https://docs.novu.co/agents/channels/web-chat.md): Add the Web Chat channel, install @novu/react, and send a first message in your product UI.
- [Messages](https://docs.novu.co/agents/channels/web-chat/messages.md): Render the Web Chat timeline: hook state, errors, text, and thinking.
- [Tools](https://docs.novu.co/agents/channels/web-chat/tools.md): Render tool calls, resolve tool approvals, and complete MCP connect in Web Chat.
- [Generative UI](https://docs.novu.co/agents/channels/web-chat/generative-ui.md): Render Web Chat cards, handle card buttons, and show custom data parts.
- [Conversations](https://docs.novu.co/agents/channels/web-chat/conversations.md): List, resume, page, reconnect, and retry Web Chat conversations.
- [Security](https://docs.novu.co/agents/channels/web-chat/security.md): Turn on HMAC for Web Chat before you ship: subscriberHash on NovuProvider and agentHash on useWebChat.
##### Recipes
- [Use assistant-ui](https://docs.novu.co/agents/channels/web-chat/recipes/assistant-ui.md): Use assistant-ui components with useWebChat. Novu holds the conversation; assistant-ui draws the UI.
### Custom Code Agent
- [Concepts](https://docs.novu.co/agents/custom-code-agent/concepts.md): Agent entities, lifecycle, and handler building blocks for custom code agents: bridge, handlers, and provider routing.
- [Connecting your app](https://docs.novu.co/agents/custom-code-agent/connecting-your-app.md): Expose a bridge endpoint with serve(), register agents, and configure the project structure and environment variables Novu needs to call your handlers.
- [Connect Components](https://docs.novu.co/agents/custom-code-agent/connect-components.md): Use prebuilt React components so your users can install and connect Slack, Microsoft Teams, Telegram and other communication platforms to your agent.
- [Going to production](https://docs.novu.co/agents/custom-code-agent/going-to-production.md): Run your agent locally with a dev tunnel, then deploy the bridge to development and production and register its URL with Novu.
#### Frameworks
- [AI SDK reference](https://docs.novu.co/agents/custom-code-agent/frameworks/ai-sdk.md): API reference for @novu/framework/ai-sdk: return types, tools, MCP, and approval gating with the Vercel AI SDK.
- [LangChain reference](https://docs.novu.co/agents/custom-code-agent/frameworks/langchain.md): API reference for @novu/framework/langchain: agent configs, tools, approval gating, and custom invoke.
- [Other frameworks reference](https://docs.novu.co/agents/custom-code-agent/frameworks/other.md): API patterns for @novu/framework with any LLM stack: OpenAI SDK, Anthropic SDK, Mastra, or custom code.
#### Building blocks
- [Handlers and context](https://docs.novu.co/agents/custom-code-agent/building-blocks/handle-events.md): Write event handlers for your custom code agent and understand the context object that Novu passes on every turn, including messages, users, and providers.
- [Reply](https://docs.novu.co/agents/custom-code-agent/building-blocks/reply.md): Send plain text, markdown, file attachments, and interactive cards from custom code agent handlers with ctx.reply across Slack, Teams, WhatsApp, Telegram, and email.
- [Emit custom events](https://docs.novu.co/agents/custom-code-agent/building-blocks/emit.md): Send a named payload from a custom code agent handler with ctx.emit. Web Chat renders it as a data part.
- [Typing indicator](https://docs.novu.co/agents/custom-code-agent/building-blocks/typing-indicator.md): Show a Thinking… or custom status while your agent handler runs with ctx.typing().
- [Edit sent messages](https://docs.novu.co/agents/custom-code-agent/building-blocks/edit-sent-messages.md): Update, edit, or delete a message in place after sending it from an agent handler using ctx.reply() and the returned ReplyHandle across chat channels.
- [Signals](https://docs.novu.co/agents/custom-code-agent/building-blocks/signals.md): Use signals in custom code agent handlers to update metadata, trigger Novu workflows, and mark conversations resolved from your agent runtime.
- [Tool approval](https://docs.novu.co/agents/custom-code-agent/building-blocks/tool-approval.md): Pause an agent turn and ask the user to approve or deny a tool call before it runs, then resume with the decision.
### Managed Agent
- [Managed Agent Overview - Novu Connect](https://docs.novu.co/agents/managed-agent/overview.md): Managed agents run on Claude (or another connector) without a bridge server. Configure prompt, tools, MCP, and skills in the dashboard.
- [Concepts](https://docs.novu.co/agents/managed-agent/concepts.md): Explore connectors, MCP servers, skills, system prompts, tools, and the conversation lifecycle that shape how a managed agent behaves in Novu.
- [Configure MCP servers](https://docs.novu.co/agents/managed-agent/configure-mcp-servers.md): Enable external tools like Linear, GitHub, and Notion on your Novu managed agent by configuring MCP servers in the dashboard for tool-augmented replies.
- [Add skills](https://docs.novu.co/agents/managed-agent/add-skills.md): Upload custom SKILL.md files to a managed agent to give Claude domain-specific instructions, tool guidance, and behavior for your product workflows.
### Observability
- [Agent Conversations](https://docs.novu.co/agents/conversations.md): View, inspect, and manage agent conversations in the Novu dashboard, including lifecycle state, message history, metadata, and per-channel activity.
- [API Reference (144 pages)](https://docs.novu.co/_llms/api-reference.txt): Documentation for API Reference.
- [Resources (107 pages)](https://docs.novu.co/_llms/resources.txt): Documentation for Resources.
## Other
- [Chat step](https://docs.novu.co/.mintlify/skills/dashboard-workflows/references/chat-step.md)
- [Delay step](https://docs.novu.co/.mintlify/skills/dashboard-workflows/references/delay-step.md)
- [Digest step](https://docs.novu.co/.mintlify/skills/dashboard-workflows/references/digest-step.md)
- [Email step](https://docs.novu.co/.mintlify/skills/dashboard-workflows/references/email-step.md)
- [Http request step](https://docs.novu.co/.mintlify/skills/dashboard-workflows/references/http-request-step.md)
- [In app step](https://docs.novu.co/.mintlify/skills/dashboard-workflows/references/in-app-step.md)
- [Push step](https://docs.novu.co/.mintlify/skills/dashboard-workflows/references/push-step.md)
- [Sms step](https://docs.novu.co/.mintlify/skills/dashboard-workflows/references/sms-step.md)
- [Step conditions](https://docs.novu.co/.mintlify/skills/dashboard-workflows/references/step-conditions.md)
- [Throttle step](https://docs.novu.co/.mintlify/skills/dashboard-workflows/references/throttle-step.md)
- [Channel selection](https://docs.novu.co/.mintlify/skills/design-workflow/references/channel-selection.md)
- [Digest defaults](https://docs.novu.co/.mintlify/skills/design-workflow/references/digest-defaults.md)
- [Severity and critical](https://docs.novu.co/.mintlify/skills/design-workflow/references/severity-and-critical.md)
- [Step conditions](https://docs.novu.co/.mintlify/skills/design-workflow/references/step-conditions.md)
- [Workflow templates](https://docs.novu.co/.mintlify/skills/design-workflow/references/workflow-templates.md)
- [Bridge endpoint](https://docs.novu.co/.mintlify/skills/framework-integration/references/bridge-endpoint.md)
- [Deployment](https://docs.novu.co/.mintlify/skills/framework-integration/references/deployment.md)
- [Email templates](https://docs.novu.co/.mintlify/skills/framework-integration/references/email-templates.md)
- [Examples](https://docs.novu.co/.mintlify/skills/framework-integration/references/examples.md)
- [Schema validation](https://docs.novu.co/.mintlify/skills/framework-integration/references/schema-validation.md)
- [Security](https://docs.novu.co/.mintlify/skills/framework-integration/references/security.md)
- [Studio and cli](https://docs.novu.co/.mintlify/skills/framework-integration/references/studio-and-cli.md)
- [Translations](https://docs.novu.co/.mintlify/skills/framework-integration/references/translations.md)
- [Workflow and steps](https://docs.novu.co/.mintlify/skills/framework-integration/references/workflow-and-steps.md)
- [Branding and styling](https://docs.novu.co/.mintlify/skills/inbox-integration/references/branding-and-styling.md)
- [Headless inbox examples](https://docs.novu.co/.mintlify/skills/inbox-integration/references/headless-inbox-examples.md)
- [Multi tenancy](https://docs.novu.co/.mintlify/skills/inbox-integration/references/multi-tenancy.md)
- [Nextjs inbox examples](https://docs.novu.co/.mintlify/skills/inbox-integration/references/nextjs-inbox-examples.md)
- [Personalization](https://docs.novu.co/.mintlify/skills/inbox-integration/references/personalization.md)
- [React inbox examples](https://docs.novu.co/.mintlify/skills/inbox-integration/references/react-inbox-examples.md)
- [Security](https://docs.novu.co/.mintlify/skills/inbox-integration/references/security.md)
- [Preferences ui examples](https://docs.novu.co/.mintlify/skills/manage-preferences/references/preferences-ui-examples.md)
- [Subscriber preferences examples](https://docs.novu.co/.mintlify/skills/manage-preferences/references/subscriber-preferences-examples.md)
- [Workflow preferences examples](https://docs.novu.co/.mintlify/skills/manage-preferences/references/workflow-preferences-examples.md)
- [Credentials examples](https://docs.novu.co/.mintlify/skills/manage-subscribers/references/credentials-examples.md)
- [Subscriber crud examples](https://docs.novu.co/.mintlify/skills/manage-subscribers/references/subscriber-crud-examples.md)
- [Topics examples](https://docs.novu.co/.mintlify/skills/manage-subscribers/references/topics-examples.md)
- [Best practices](https://docs.novu.co/.mintlify/skills/trigger-notification/references/best-practices.md)
- [Bulk trigger examples](https://docs.novu.co/.mintlify/skills/trigger-notification/references/bulk-trigger-examples.md)
- [Installation](https://docs.novu.co/.mintlify/skills/trigger-notification/references/installation.md)
- [Single trigger examples](https://docs.novu.co/.mintlify/skills/trigger-notification/references/single-trigger-examples.md)
- [Topic trigger examples](https://docs.novu.co/.mintlify/skills/trigger-notification/references/topic-trigger-examples.md)
- [AGENTS](https://docs.novu.co/AGENTS.md)
- [Remove enabled integrations](https://docs.novu.co/agents/plans/remove-enabled-integrations.md)
- [Feature Flags](https://docs.novu.co/community/feature-flags.md): Enable or disable specific Novu features with environment variables and feature flags to control rollout of experimental functionality in your deployment.
- [Novu Documentation](https://docs.novu.co/index.md): Build the communication infrastructure for agents and products.
- [Webhooks](https://docs.novu.co/platform/developer/webhooks.md): Configure webhook endpoints in Novu to receive real-time event notifications for workflow updates, message delivery, and subscriber activity.
- [Adding Chat Channel Chat Integration with Novu](https://docs.novu.co/platform/integrations/chat/adding-chat.md): Add a chat channel provider in Novu to send chat notifications through workflows. Walks through selecting a provider, storing credentials, and testing delivery.
- [Activity Tracking](https://docs.novu.co/platform/integrations/email/activity-tracking.md): Learn how to enable activity tracking to get real-time delivery and engagement events like delivered, opened, and clicked from your email providers.
- [Adding Email Channel Email Integration with Novu](https://docs.novu.co/platform/integrations/email/adding-email.md): Add an email channel provider in Novu to send transactional emails through workflows. Covers selecting a provider, storing credentials, and testing delivery.
- [Adding an SMS Integration with Novu](https://docs.novu.co/platform/integrations/sms/adding-sms.md): Add an SMS channel provider in Novu to send SMS notifications through workflows. Walks through selecting a provider, storing credentials, and testing delivery.
- [Context](https://docs.novu.co/platform/workflow/advanced-features/contexts.md): Learn what Contexts are in Novu, how they differ from payloads, and how they help you organize and personalize notifications across workflows.
- [SEO MAINTENANCE](https://docs.novu.co/SEO_MAINTENANCE.md)
## OpenAPI Specs
- [json-development-with-code-samples](https://spec.speakeasy.com/novu/novu/json-development-with-code-samples)
> The links below point to documentation indexes. Follow each `/_llms/` index recursively until you reach documentation pages.
## Indexes
- [Notify (222 pages)](https://docs.novu.co/_llms/notify.txt): Documentation for Notify.
- [API Reference (144 pages)](https://docs.novu.co/_llms/api-reference.txt): Documentation for API Reference.
- [Resources (107 pages)](https://docs.novu.co/_llms/resources.txt): Documentation for Resources.
This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.
Measured from the saved file
Linked document
UTF-8 text size
16.3 KB16739 bytes
Token count
3887o200k_base encoding
Markdown links
103100 distinct URLs
Fenced code blocks
0153 lines in the file
Size measures the captured UTF-8 text, not compressed transfer size. Tokens are counted with a named tokenizer; other models can count differently. Neither measure establishes context compatibility or answer quality.
Project H1
Novu
Opening blockquote
The open-source notification infrastructure for agents and products. Send, receive, and track notifications across channels.
Context architecture
How the content is divided
4 H2 sections organize 103 parsed Markdown links. 95 links point to .md or .markdown paths; 2 link occurrences use another hostname. Linked destinations have not been recursively validated.
H2 section
Links
UTF-8 bytes
Tokens
Agent ConnectLine 7
44
9123
2089
OtherLine 84
53
6683
1581
OpenAPI SpecsLine 140
1
242
56
IndexesLine 146
4
411
99
Link counts exclude parsed fenced and inline code and resolve relative destinations against the final endpoint. Section sizes cover the text below each H2 until the next H2.
Embedded material
Code, installation and API examples
Fenced blocks
0 closed
Declared languages
No fenced blocks detected
Package-install commands
0 detected in fenced or inline code
Authentication examples
0 fenced lines match API-key, Authorization, Bearer, OAuth or access-token patterns
HTTP request examples
0 fenced lines match request-method patterns
Authentication links
0 links have authentication-related labels
Embedded example text and links to further documentation are counted separately. A code block does not establish that a sample runs or that an authentication flow succeeds.
Publisher prioritization
The Optional section
No H2 section named “Optional” was detected in this file.
The community proposal uses Optional by convention for secondary links that can be skipped for a shorter context. This label does not establish that everything outside it is critical, or that the material inside it is deprecated.
Machine-readable routes
MCP references and configuration text
MCP-related text was detected in the captured file. 1 links have MCP-related labels or paths. 0 fenced lines match mcpServers, mcp_servers or an mcp add command.
Whole-file size not established by the bounded response
Token count
Not measured for the whole file
Retrieval scope
Bounded prefix inspected; the whole body was not downloaded
A verified text response establishes a companion at the checked URL. It does not prove the bundle contains all product documentation, that generation is automated, or that it fits an assistant’s context window.
Change evidence
What can be said about freshness
This capture establishes a baseline. Update frequency cannot be determined from one observation.
File changes can reveal documentation edits or navigation changes. They do not by themselves measure product release velocity, accuracy, agent adoption or AI visibility.
Counts use a deterministic parser, not a spec-compliance grade. Unusual Markdown and indented code can fall outside its recognized patterns. See the llms.txt proposal and tokenizer implementation.