Resend BYOK for email. You keep the Resend account; Notifique sends through it when possible.
Goal
With an active Resend integration, email sends try Resend first. Failure → Notifique internal fallback.
Each send consumes 1 email credit on Notifique (or prepaid price), plus your Resend account cost.
External endpoint
Authentication
BEARER with a full-access Resend API key (sending + domains + webhooks):
Sending-only keys return 401 restricted_api_key when listing domains or creating webhooks.
Domains: connect vs send
When saving the integration
Notifique requires all of:
- At least one verified domain in the Notifique workspace.
- At least one send-ready domain on Resend (
capabilities.sending).
- Overlap, some hostname on both sides (
www. ignored).
Domain listing paginates through the Resend API.
At send time
from must use a domain approved on Notifique.
Mapping (Notifique → Resend)
from + fromName → Name <email@domain.com> or email only
to → one recipient on Resend
subject, HTML and text → from the queue
- Header
Idempotency-Key: notifique-email/{emailId} (prevents duplicates on retry)
- Tag
notifique_email_id for correlation in the Resend dashboard
Status webhooks
On create, Notifique registers a Resend webhook:
POST /webhooks/email/resend/:integrationId
Events: sent, delivered, opened, clicked, bounce, complaint, delayed, failed, suppressed. Secret encrypted; on remove, remote webhook is deleted when possible.
Existing integrations are auto-synced on the next workspace integrations list (Resend webhook subscription patched).
Opens and clicks
For email.opened and email.clicked to reach Notifique:
- Enable open and/or click tracking on the domain in Resend (verified tracking subdomain).
- Notifique updates the send to
OPENED / CLICKED and dispatches your workspace email.opened / email.clicked webhooks.
Without Resend tracking enabled, delivery/bounce still work; opens and clicks are not reported.
Failover
HTTP error, timeout or transport failure on Resend:
- External attempt marked failed
- Next external provider (if any, by order). e.g. Amazon SES BYOK
- Notifique internal chain
Observability
Per send:
providerType: EXTERNAL or INTERNAL
providerName: integration name
providerResponse: sanitized response
- Resend external ID when available
Workspace setup
- Channel:
EMAIL
- Provider:
Resend
- Credential: Resend API key
After save, credential does not reappear in plaintext.
Next steps