Back to Novu

WhatsApp

docs/agents/channels/whatsapp.mdx

3.19.02.6 KB
Original Source

Use WhatsApp Business as a messaging channel for your agent. Novu keeps session context, shows a typing indicator during the turn, and uses native quick-reply buttons for choices and tool approval.

Capabilities

CapabilitySupport
Full context historyYes
Threaded replies (within session window)Yes
Live typing indicatorYes (fixed text)
React with eyes on inbound messagesYes
Plan cardNo
Rich textBold / italics only
Tap-to-respond buttonsYes (up to 3 per message)
Emoji reactionsYes
Message edits in placeYes
Action / MCP tool approvalYes (quick-reply buttons)
MCP connect cardYes (short authorize URL)
Resolve conversationYes
File sharingNot yet
Streaming word-by-wordNot yet

Full matrix: Channels overview.

Examples

Inbound message

A user messages the bot. Novu adds an eyes reaction, shows typing, then delivers a complete reply with up to three quick-reply buttons.

Tool approval

Gated tools use Approve / Deny quick replies. The handler resumes after the user taps a button.

Setup

Framework / PlatformGuide
Custom code agentFollow a connect guide, then add WhatsApp as another provider
Managed agentClaude or AWS Claude, then link WhatsApp in the dashboard

WhatsApp Business credentials are configured in the Novu dashboard when you add the provider.

Connect component

@novu/react does not ship a WhatsApp connect button yet. Link WhatsApp Business in the Novu dashboard when you add the provider to the agent, or use the channel endpoints API if you need programmatic subscriber endpoints.

For Slack, Teams, and Telegram embeddable buttons, see Connect components.

<Columns cols={2}> <Card href="/agents/custom-code-agent/building-blocks/reply" title="Reply" icon="message-square"> Plain text and interactive buttons. </Card> <Card href="/agents/custom-code-agent/building-blocks/typing-indicator" title="Typing indicator" icon="ellipsis"> Typing bubble while the handler runs. </Card> <Card href="/agents/custom-code-agent/building-blocks/tool-approval" title="Tool approval" icon="shield-check"> Approve / Deny before tools execute. </Card> <Card href="/agents/channels/overview" title="Channels overview" icon="table"> Compare providers. </Card> </Columns>