Novu
Novu decides which subscribers get a notification and renders the email step of your workflow. Anypost sends it. Add Anypost as an email provider in Novu and every email step sends from your verified domain, while delivery events flow back into Novu's activity feed.
Add Anypost in Novu to send your workflows' email through Anypost.
Before you start
- A verified sending domain for the address Novu sends from.
- An Anypost API key. See Authentication for creating and scoping keys, and API key scope below for which one to pick.
Connect Novu
In Novu, open Integrations, add a provider, and pick Anypost. Novu asks for three values:
| Field | Value |
|---|---|
| API Key | An Anypost API key. |
| From email address | An address on your verified domain. |
| Sender's name | The display name on outgoing email. |
Set the integration to Active and save. Novu checks the key without sending a test message. Every email step in your workflows now sends through Anypost.
API key scope
A send_only key is enough to send. Use a full key if you want Novu to set
up activity tracking for you, because Novu creates the Anypost webhook on your
behalf. With a send_only key, create the webhook yourself as described next.
Activity tracking
Anypost reports what happened to each message back to Novu through a webhook. Turn on Email Activity Tracking in the Anypost integration in Novu.
- With a
fullkey, Novu creates the webhook and stores its signing secret. Nothing else to do. - With a
send_onlykey, copy the Inbound Webhook URL Novu shows, then in the Anypost dashboard open Webhooks, create a webhook with that URL, and subscribe it to the events below. Paste the webhook's signing secret into Inbound Webhook Signing Key in Novu. Anypost shows the secret once, right after you create the webhook. See Novu's manual setup guide.
| Anypost event | Novu status |
|---|---|
email.sent | Sent |
email.delivered | Delivered |
email.delayed | Delayed |
email.bounced | Bounced |
email.complained | Complaint |
email.suppressed | Dropped |
email.unsubscribed | Unsubscribed |
email.opened | Opened |
email.clicked | Clicked |
Opens and clicks need tracking turned on in Anypost.
Templates and Anypost fields
Novu renders the email step and sends the finished HTML. To send a stored
Anypost template instead, set templateId and variables
in the step's custom data. Anypost renders the template and ignores the step's
body.
Fields only Anypost has, such as tags, topic, and campaign, go in the
step's provider overrides for Anypost. They are passed through to the
send request as written. See
Tags, topics & campaigns.
Novu's transaction ID is sent as the idempotency key, so a Novu retry never sends the same message twice.
Where to go next
- Authentication: create and scope the API key Novu uses.
- Domains & DNS setup: verify the domain you send from.
- Webhooks: how Anypost signs and retries the deliveries behind activity tracking.
- Events: the shape of every event Novu receives.