Inbound Email domains are available on Novu Cloud Team plans and above. On Enterprise self-hosted, configure verified domains and routes in the dashboard. Community self-hosted does not include this feature.
How it works
- Add and verify a domain in the Novu dashboard (Domains).
- Point your domain’s MX record to Novu’s inbound mail servers.
- Create routes that map local-parts (for example,
[email protected]) to a destination. - When mail arrives, Novu parses the message and delivers it according to the matching route.
Add a domain
Enter your domain
Use a subdomain (for example,
mail.yourcompany.com) or an apex domain. Apex domains require an MX record at the root; Novu warns if a conflicting CNAME is present.Verify DNS
Add the MX record (and any other records) shown in the dashboard. Novu checks verification automatically; you can also click Verify to re-check.
Route types
Each route matches an address local-part on your verified domain:| Route type | Destination | Use when |
|---|---|---|
| Agent | An agent in your environment | Users email your agent; replies are handled by ACI and your agent handler |
| Webhook | Your outbound webhook endpoints | You want to process inbound mail in your own backend |
Catch-all routes
Set the local-part to* to match any address on the domain that does not have a more specific route. Useful for [email protected] routing.
Route metadata
Each route supports optional JSON metadata. Novu includes this metadata in webhook payloads underroute.data, so you can pass tenant IDs, product slugs, or routing hints without encoding them in the email address.
Webhook routes and email.received
When a message matches a Webhook route, Novu emits anemail.received event to your configured webhook endpoints.
Enable webhooks in the dashboard under Webhooks, create an endpoint, and subscribe to email.received.
The event payload includes normalized mail fields (from, to, subject, text, html, headers, attachments, threading headers) plus your domain and route metadata. See Event types — Email events for the full schema.
Agent routes
When a message matches an Agent route, Novu forwards it to the selected agent’s email integration. Your agent handler receives the message on your bridge URL and can reply withctx.reply().
For quick setup on Novu Cloud, agents can also use the shared @agentconnect.sh inbox provisioned during npx novu connect. For production, add a custom domain route so users email @yourcompany.com.
See Agents and providers — Email and Custom code agent setup.
Test a route
On the domain detail page, open a route and use Send test to simulate an inbound message. Confirm delivery in HTTP Logs (source:inbound_email) or on your webhook endpoint.
Related
Webhooks
Configure endpoints and subscribe to email.received.
Agent conversations
Platform capabilities for agent replies across channels.