Skip to content
Use caseProduct notifications

Product notification emails users actually want

Mentions, alerts, weekly digests, usage warnings and account changes: send them from your product events, keep the copy in versioned templates, and label every message so you can tell the types apart.

  • Batch up to 100 per request
  • Versioned templates
  • default / bulk priorities
  • Preference topics
email api request
ready
send-digests.tsPOST /v1/emails/batch
await fetch("https://sendix.dev/api/v1/emails/batch", {
  method: "POST",
  headers: {
    Authorization: "Bearer " + process.env.SENDIX_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    emails: digests.map((d) => ({
      from: "Acme <[email protected]>",
      to: [d.email],
      template_id: WEEKLY_DIGEST_TEMPLATE_ID,
      template_data: { name: d.name, items: d.items },
      priority: "bulk",
      scheduled_for: d.sendAt, // ISO 8601
      tags: [{ name: "type", value: "weekly-digest" }],
    })),
  }),
});
POST /v1/emails/batchbulkscheduled_for
Short answer

How do I send SaaS notification emails with Sendix?

Call POST /v1/emails from your event handlers — or POST /v1/emails/batch for up to 100 messages per request — with a template_id, template_data and tags such as {"name": "type", "value": "mention"}. Use priority "default" for notifications and "bulk" for digests, scheduled_for for timed sends, and topics plus unsubscribe links for anything users can opt out of.

How it works

Four steps from app event to delivered email.

What your code does, what Sendix does, and where to look when something goes wrong.

  1. 01
    templates

    Map events to templates

    Give each notification type its own Sendix template with the variables it needs, and publish a version before use.

  2. 02
    batch

    Send from the event handler

    Single events call POST /v1/emails; fan-out and digests use /v1/emails/batch (up to 100 emails, partial or strict validation).

  3. 03
    tags · priority

    Tag and prioritise

    Add name/value tags for type or tenant, and choose default or bulk priority so digests never slow down urgent mail.

  4. 04
    webhooks

    Close the loop

    Use bounce, complaint and unsubscribe events to stop mailing addresses that no longer want or accept your mail.

Best practices

Details that keep this mail reliable.

Habits that protect deliverability and your users, whichever provider you use.

Separate urgent and bulk traffic

Sendix runs separate delivery workers per priority, so bulk digests don’t hold up security or billing mail.

Pin template versions

Send template_version with template_id when a change must not reach users until you deploy it.

Let users choose what they get

Model notification categories as Sendix topics so contacts can opt out of digests without losing account mail.

Batch digests

One batch request carries up to 100 messages, each with its own recipient, variables and tags.

Schedule for the recipient

Compute the local send time in your app and pass it as scheduled_for; scheduled mail can be cancelled before it goes out.

Label everything

Up to 20 name/value tags per message make it easy to separate notification types in logs and exports.

Webhook events

The events worth subscribing to.

Sendix signs each webhook with X-Sendix-Signature and keeps the same events on the message at GET /v1/emails/{id}/events.

email.deliveredWhat to do with itAccepted by the receiving server.
email.openedWhat to do with itOpen tracked (when tracking is enabled).
email.clickedWhat to do with itLink click tracked.
email.complainedWhat to do with itMarked as spam — stop non-essential mail.
email.unsubscribedWhat to do with itThe contact opted out.
FAQ

Frequently asked questions

Short answers to the questions teams ask while wiring this up.

Are product notifications transactional or marketing email?

Messages triggered by a user’s own activity or account — mentions, alerts, security and billing notices — are generally treated as transactional. Promotional content is marketing and needs consent and an unsubscribe option. Rules differ by country, so offer opt-outs for non-essential notifications either way.

How do I send the same notification to many users?

Use POST /v1/emails/batch with up to 100 messages per request. For audience-wide announcements, Sendix Broadcasts send to a segment with scheduling and per-recipient results.

Can I stop a scheduled notification?

Yes. POST /v1/emails/{id}/cancel cancels a scheduled message before it is sent, and PATCH /v1/emails/{id} can move its scheduled_for time.

How do users manage notification preferences?

Create topics (POST /v1/topics) for each category and store each contact’s choices with the contact topics endpoints; unsubscribe links are handled by Sendix and recorded as suppressions.

Free to start

Try it on the free plan, keep the same integration as you grow.

The free plan includes 1,000 emails per month. Paid plans change volume and limits, not your API calls or SMTP settings.

Ready to send your first email?

1,000 emails free every month. No credit card required. Upgrade only when you outgrow the free tier — and we will let you know when that time comes.

Managed SaaS platform · Native SMTP engine · SOC 2 in progress