Docs/Integrations

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.

Connect

Add Anypost in Novu to send your workflows' email through Anypost.

Before you start

Connect Novu

In Novu, open Integrations, add a provider, and pick Anypost. Novu asks for three values:

FieldValue
API KeyAn Anypost API key.
From email addressAn address on your verified domain.
Sender's nameThe 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 full key, Novu creates the webhook and stores its signing secret. Nothing else to do.
  • With a send_only key, 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 eventNovu status
email.sentSent
email.deliveredDelivered
email.delayedDelayed
email.bouncedBounced
email.complainedComplaint
email.suppressedDropped
email.unsubscribedUnsubscribed
email.openedOpened
email.clickedClicked

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.