Key Takeaways
- Scheduled SMS on an Android gateway is a future send against a phone that must still be online, charged, and loaded when the clock hits.
- POST /messages accepts scheduleAt as ISO-8601 UTC; live docs refuse it beyond 38 days. Confirm in Developer Center.
- The feature pillar owns the product walkthrough. This overview is failure modes and ownership.
- Store recipient local time; submit UTC. Quiet hours are your policy, not a carrier gift.
- You bring the phone and operator credit. Platform pricing is devices plus send volume — including queued sends that actually go out.
A calendar in front of a radio
Product walkthrough: scheduled SMS. This overview is for teams who queued a blast, went home, and woke up to Pending. The scheduler is a clock. The last mile is still a handset.
We meter devices and volume. A future send still counts when it leaves. Starter/Professional/Business uncap platform volume; they do not make carrier SMS free. Starter, Professional, and Business list Unlimited SMS as platform send volume; that is not unmetered carrier SMS.
API vs panel
Canonical send is POST /api/v1/messages with Bearer auth. Campaign lists use POST /campaigns; PATCH /campaigns/{id} can re-time a campaign. Live shapes: Developer Center. Timestamp profile: RFC 3339.
“The scheduler is a calendar. The radio is still a phone that can be asleep.”
What still fails at fire time
| Symptom | Likely cause | First check |
|---|---|---|
| Lands at 03:00 local | UTC stored as if it were local | Recipient TZ in the CRM; submit UTC |
| Window opens, nothing sends | Phone offline / Doze / empty load | Last-seen, battery exemption, airtime |
| Rejected on create | Horizon past live API limit | Docs: scheduleAt refused beyond 38 days |
| OTP delayed behind a blast | Shared device pool | Isolate OTP |
| List already opted out | Scheduler does not fix consent | CSV hygiene |
Timezones
Pick one basis: operator HQ, a campaign zone, or each recipient’s local time when you have it. Getting this wrong is the usual reason a reminder looks like spam. Quiet hours are yours to enforce.
Do not schedule OTP
Login codes belong on an immediate claim path. Use the scheduler for reminders, appointments, and consented campaigns. Pin the campaign to a named device that is not the OTP modem.
Next steps
Queue one staff message for ten minutes out. Confirm last-seen stays fresh through the window. Plans: pricing. Operator credit stays yours.
Related product pages
Jump to the live product docs for this topic—not another long-form article.
- scheduled SMS campaignsSend later windows
- SMS API documentationLive endpoint reference
- device and SMS volume pricingPlans and allowances
- Android SMS gateway product guideDefinition, product, and how to buy





