FastLinkIt

Scheduled mailings

Contacts & Mailingmailing2 min read

Available on Starter and above

Pick a future date and time for a campaign instead of sending immediately. Useful for: Tuesday-9am newsletter slots, product-launch announcements, time-zone-friendly sends to international audiences, and avoiding Friday-afternoon deploys when reply traffic would land in a quiet support inbox.

How to schedule

  1. Compose your mailing at /mailing/compose as normal.
  2. Above the Send button, set the Schedule for later datetime input.
  3. Click Send — the mailing's status flips to scheduled instead of queued.

Clearing the field reverts to immediate-on-next-sweep behaviour.

What happens behind the scenes

  • The MailingSenderService background sweep runs every 10 seconds and only picks up mailings whose Status = queued AND (ScheduledFor IS NULL OR ScheduledFor <= now).
  • A scheduled mailing sits at Status = scheduled until its time arrives, at which point the next sweep transitions it to sending and starts shipping.
  • Recipients are still hygiene-filtered (bounced / globally-unsubscribed) at send time, not at schedule time — so a contact who unsubscribes between scheduling and sending is correctly skipped.

Editing or cancelling

Open the mailing from /mailing while it's still in scheduled state. You can:

  • Edit subject / body — reopens compose with all fields preloaded.
  • Reschedule — pick a new datetime, save.
  • Delete — cancels the send entirely.

Once the status flips to sending the mailing is in flight and you can no longer edit or cancel without contacting support.

A/B tests + scheduling

A/B testing and scheduling work together. Scheduled-for kicks in first; once the scheduled time arrives the A/B sample portion ships, the mailing flips to ab_waiting, and the AbTestWinnerService picks the winner after the configured decision window.

Worked example — Tuesday 9am newsletter

  1. Friday afternoon: write next Tuesday's newsletter in the visual builder.
  2. Set Schedule for later to next Tuesday 09:00 in your timezone.
  3. Click Send. Status goes to scheduled.
  4. Saturday: a contact unsubscribes — correctly excluded at send time on Tuesday.
  5. Tuesday 09:00 UTC: sweep picks it up, ships to the surviving recipients.
  6. Tuesday 09:01: stats start populating on /mailing/{id}/stats.

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.