HomeFeaturesScheduling

Scheduling

Pick the hour. Then stop worrying about it.

Scheduling is the part of a sending tool that quietly goes wrong. Birsend’s scheduler is built around one idea: a scheduled send is a promise about a moment, and a promise that cannot be kept properly should not be kept badly.

Every minute
the scheduler looks for due campaigns
1 hour
grace before a missed send is cancelled
One row
per recipient, so nobody gets it twice

What you get

A campaign scheduled for Tuesday at nine goes out on Tuesday at nine — inside your sending hours, under your daily ceiling, and stoppable mid-flight.

Schedule and forget

Give a campaign a future time and it arms itself. A scheduler checks every minute, so nine o’clock means nine o’clock, not nine oh five.

Sending hours, three layers deep

Workspace hours, narrowed by the number, narrowed by the campaign. Each layer can only tighten the window, never widen it.

Pause mid-send

Stop a campaign that is already going out. It halts within a minute and remembers exactly who it had reached.

Resume where it stopped

Starting again picks up from the next unsent person. Nobody is messaged twice — one row per recipient makes that a guarantee, not a hope.

Every skip has a reason

Nobody is dropped silently. Each person the campaign did not message is recorded with why — blocked, opted out, no consent — and the totals are on the campaign afterwards.

Missed its hour? Cancelled.

A campaign left too long past its time is cancelled rather than sent. Last Tuesday’s promotion arriving on Friday cannot be recalled.

How it works

01

Nobody is messaged twice

When a campaign starts, Birsend writes one row per person it intends to reach, with a database constraint that makes a duplicate impossible. Everything else rests on that: a pause, a resume, a process that dies half way, two scheduler runs overlapping — all of them are safe, because a second row for the same person cannot exist.

  • The audience is resolved when the send starts, not when you saved it — somebody added in between is included
  • Each row records sent, failed or skipped, and why it was skipped
  • A send interrupted by a restart continues on the next run, from the next unsent person
02

Stopping is different from skipping

When Birsend cannot message somebody, it distinguishes between a reason about that person and a reason about the whole send. One skips a single recipient; the other stops the run and leaves everybody else waiting.

  • About the person — blocked, opted out, no consent on file — that recipient is skipped and the send continues
  • About the send — paused, outside hours, daily cap reached, number disconnected — the run stops and the remainder stays pending
  • Getting this backwards would burn a whole audience the first minute a sending window closed
03

A missed hour is cancelled, not sent late

If a campaign sits more than an hour past its time with a sending window open, Birsend cancels it and says so on the campaign, naming the hour it was promised for. Nothing goes out.

  • Measured in opportunity, not on the clock: a campaign waiting for its window to open is not late
  • Cancelled rather than failed — nothing broke, it simply is not going out
  • Give it a new time to send it. Past times are refused when you schedule

What it does not do

The honest list. We would rather you found this here than three weeks into a trial.

  • Sending hours are currently judged in UTC, because a workspace has no timezone of its own yet. Set the window in UTC until it does.
  • There is no “send now” button. Sending is driven by the scheduler, so an immediate send means scheduling it a minute out.
  • There is no rehearsal mode you can switch on. Test with a small campaign aimed at numbers you own.
  • The campaign page shows totals rather than a per-recipient list. Individual message states are visible in the inbox thread.

Questions

What if I pause and never resume?

The campaign stays paused and the people it had not reached stay pending. Nothing expires them, and resuming weeks later continues from the same place.

Can I test an audience without messaging anybody?

Not from the panel. Send a second campaign to a handful of numbers you own instead — it is the only rehearsal that also tells you how the message looks on a real phone. There is a dry mode, but it is set per installation by whoever runs the server, and a dry run marks every recipient as skipped, which uses the campaign up rather than rehearsing it.

Cookies

The site runs what it needs to work, including the Crisp chat bubble. Google Analytics is the one thing we will not load unless you agree to it.