This guide walks through sending your first email campaign — from setting up a verified sending identity to a live newsletter with tracked engagement.
Email channel setup (Step 1) and contact import (Step 3) can run in parallel. You don’t need to finish domain verification before importing your audience.
1

Send your first action-based email

Before building a campaign, verify your integration is working end-to-end with a single action-based email. This confirms your API key, channel id, and domain authentication are all correct.What you’ll do:
  • Create an API key in the dashboard
  • Set up an email channel with a from address and display name
  • Verify your sending domain (SPF, DKIM, DMARC)
  • Send one email via POST /v1/messages and confirm delivery

Email quickstart

Full walkthrough with curl examples and domain verification steps.

Email capabilities

Channels, deliverability, suppression, and event types.
2

Configure your email channel for campaigns

Action-based and subscription mail run under the same channel, but subscription mode applies additional rules: one-click unsubscribe headers, list-unsubscribe compliance, and consent enforcement.What you’ll do:
  • Enable the NEWSLETTER message type on your channel (in Channel settings)
  • Confirm your domain has a DMARC policy — required by major mailbox providers for bulk sends
  • Set a default unsubscribe footer in your brand kit
  • Optional: configure a custom reply-to and bounce address
Google and Yahoo require p=quarantine or p=reject DMARC for bulk senders (more than 5,000 messages per day). Set this up before your first newsletter send — retroactive fixes don’t recover reputation damage.

Email API

Channel configuration, domain verification status, and settings.

Introduction to email

Channels, sender domains, and deliverability overview.
3

Build your email audience

Your campaign needs a segment — a filtered view of contacts who have valid email consent for your newsletter channel.
Best for: Migrating an existing list or one-time import.
  1. Export your current list as a CSV with at minimum: email, first name, and a consent flag.
  2. In the dashboard, go to Contacts → Import and upload the file.
  3. Map your CSV columns to contact fields and mark the consent field as newsletter_consent.
  4. Apply a tag (e.g. newsletter-import-2026) during import so you can segment the new batch.
After import, create a segment filtered to that tag to use as your campaign audience.
4

Create your email template

Templates let your design team own the email layout while developers manage the send logic. They version independently — in-flight campaigns always use the snapshot they launched with.What you’ll do:
  • Go to Templates → New template
  • Select your email channel and set message type to NEWSLETTER
  • Build your layout using the block editor (header, hero, text blocks, CTA button, footer)
  • Attach your brand kit — logo, colors, and legal footer are inherited automatically
  • Preview in dark mode and on mobile before publishing
  • Publish the version — campaigns reference the published snapshot
Build an action-based template too (type MESSAGE) for receipts, alerts, and password flows. These live in the same template library and can be sent via API directly.

Templating

Versions, brand kits, and channel constraints.

Email subscription API

Payload structure and billing for subscription sends.
5

Launch your email campaign

With a verified channel, a consented segment, and a published template you’re ready to send.What you’ll do:
  • Go to Campaigns → New campaign
  • Set a trigger: Scheduled (specific date/time) or Manual (launch when you click)
  • Select your audience segment — the builder shows estimated audience size
  • Add a SEND node, select your email channel and newsletter template
  • Optionally add a WAIT + CONDITION node to send a follow-up only to non-openers
  • Review projected cost (number of Basic Message units × price)
  • Launch — each contact gets an execution; the platform handles sending, bounce handling, and unsubscribes
After launch, track:
  • Delivery rate, open rate, click rate in the campaign dashboard
  • Unsubscribes and complaints auto-update your suppression list
  • Set up webhooks to receive real-time engagement events in your backend

Campaigns in depth

Node types, execution states, and the pause/resume flow.

Campaigns API

API-triggered launch, pause, and resume.

Webhooks

Delivery, open, click, and unsubscribe events.

Billing (Email)

Email billing model — all sends are Basic Message.

What comes next

A/B testing

Split your audience between subject lines or layouts with an AB_TEST node.

Multi-channel campaigns

Combine email and RCS in one flow with channel-fallback logic.

Events & analytics

Open, click, and bounce events for engagement-based campaign branching.

Consent sync

Keep consent records current across CRMs, imports, and opt-in forms.