Features Pricing
Start My Free Trial

Email Blasts

Send bulk emails to everyone on your waitlist.

!
Pro Plan Required Email blasts require a Pro plan.

Overview

Email blasts let you send a message to every person on your waitlist at once. Use them for product updates, launch announcements, or to re-engage your audience.

Send a Blast

API: POST /waitlists/{waitlist_id}/blasts

{
  "subject": "We're launching next week!",
  "html_body": "<h1>Big news!</h1><p>We're launching next Tuesday. Stay tuned.</p>",
  "text_body": "Big news! We're launching next Tuesday. Stay tuned."
}

You must provide at least one of html_body or text_body.

Response:

{
  "blast_id": "e5f6a7b8",
  "recipient_count": 1247,
  "failed_count": 3,
  "status": "sent"
}

How It Works

  1. The system paginates through all signups on the waitlist, collecting up to 50,000 non-opted-out recipients
  2. Opted-out signups are skipped — anyone with email_opt_out: true (i.e., anyone who clicked an unsubscribe link) is automatically excluded from the recipient list
  3. Emails are sent in batches of 100 per request via the Resend batch API. If a batch fails, the system falls back to sending each email in that batch individually so that a single failure doesn’t block the entire blast
  4. Each recipient gets a personalized unsubscribe link in the email footer and List-Unsubscribe headers (RFC 8058) for one-click unsubscribe support in email clients
  5. A blast record is saved in the database with success and failure counts
  6. Processing has a 60-second timeout, so very large lists may take the full duration to process
i
The maximum number of recipients per blast is 50,000. If your waitlist has more than 50,000 non-opted-out signups, only the first 50,000 will receive the email.

Blast Records

Each blast creates a tracking record stored in the database. The blast_id is a UUID (e.g., e5f6a7b8-c9d0-1234-abcd-ef5678901234).

Each record tracks:

Field Description
blast_id Unique identifier (UUID, e.g., e5f6a7b8-c9d0-1234-abcd-ef5678901234)
status Always "sent" — blasts are processed synchronously during the API request
subject The email subject line
recipient_count Number of emails successfully sent
failed_count Number of emails that failed to send
created_at Timestamp when the blast was created

Variable Substitution

Unlike other email templates, blast emails do not support template variables (such as or). The email body is sent as-is to all recipients. If you need personalized content, use Email Templates instead.

Sender Address

The system determines which sender address to use. Emails are sent from one of:

  • Your verified custom domainnoreply@your-verified-domain.com (if you have one set up via Custom Domains)
  • The default sender: noreply@makeemwait.com

The system checks for a verified custom domain first and falls back to the default sender if none is found.

*
Set up a custom domain to send from your own address. Emails from your domain have better deliverability than generic sender addresses.

View Blast History

API: GET /waitlists/{waitlist_id}/blasts

Response:

{
  "blasts": [
    {
      "blast_id": "e5f6a7b8",
      "subject": "We're launching next week!",
      "sent_at": "2025-03-15T10:30:00.000Z",
      "recipient_count": 1247,
      "failed_count": 3,
      "status": "sent"
    }
  ]
}

Blasts are sorted by creation date, newest first.

Best Practices

  • Test first — create a test waitlist with your own email and send a blast to it before sending to your full list
  • Use a custom domain — emails from your own domain are less likely to end up in spam
  • Include both HTML and text — some email clients prefer plain text
  • Keep it short — blast emails with a clear, single call-to-action perform best
x
No Undo Email blasts cannot be recalled once sent. Double-check your content and recipient count before sending.

Audience Filtering

You can target specific segments of your waitlist using the optional audience field in the blast request:

Audience Who Receives It
"all" (default) All signups, regardless of verification status
"verified" Only signups that have verified their email
"unverified" Only signups that have not verified their email
"referred" Only signups that were referred by someone
"not_referred" Only signups that were not referred
{
  "subject": "Exclusive early access!",
  "html_body": "<p>You're in! Here's your early access link...</p>",
  "audience": "verified"
}
i
Unverified signups receive blasts by default (audience "all"). Use the "verified" audience filter to restrict blasts to confirmed email addresses only.

Opted-out signups (those who clicked an unsubscribe link) are always excluded, regardless of the audience filter.