Skip to content
Get a free quoteGet a quote
Published
Byline
GoHighLevel Partners Editorial

A send window is only as good as the clock it is measured on, and the place it is enforced.

Text message quiet hours rules and how to build a send window that respects them

Quiet hours are the periods when an automated message should not arrive. Part of that is regulation, part of it is carrier and platform policy, and part of it is simply that a text landing at two in the morning does more damage to a brand than the message could ever have been worth. All three point the same way, which is why the practical answer is one send window enforced in one place rather than a rule per campaign.

This article is about how to build and enforce that window. It is not legal advice, and the specific hours and exemptions differ by country, by state or province, and by message type. Check the rules that apply to the audience you are messaging, and where the stakes are meaningful, check them with someone qualified.

Whose clock is the window measured on?

This is the detail that catches most agencies out. A quiet-hours rule is normally about the time where the recipient is, not where the business is, not where the platform is, and not where the person who built the automation happens to live.

So a workflow that sends at nine in the morning on the account’s time zone is sending in the middle of the night to a contact several zones away. Three things follow:

  • Store a time zone on the contact record, and treat it as a field you populate deliberately rather than one you hope gets filled.
  • When it is missing, infer conservatively. An area code or a country code is a weak signal, and a mobile number’s prefix says where it was issued rather than where its owner sleeps. Where you have to guess, prefer the narrower window.
  • Decide the fallback explicitly. A contact with no time zone should either be held until a safe window in every zone you serve, or excluded from automated sends entirely. Silently defaulting to the account’s zone is the version that produces a complaint.

Build one window, in one place

The failure pattern is a send window configured per campaign. Nine workflows, nine slightly different windows, and one of them built in a hurry with none at all. Define the window once as a shared setting, apply it to every automated outbound message, and make an exemption something you consciously grant rather than something a new workflow gets by default.

Message type Window treatment Why
Promotional and nurture Strict window, no exceptions This is what the rules were written for, and it is the least urgent traffic you send
Appointment reminders Window applies, but the schedule needs care A reminder for an early appointment can only be sent the previous evening, so plan the timing rather than sending it at dawn
Transactional confirmations Usually treated differently, but be deliberate A receipt is expected because the person just acted; a “confirmation” that is really marketing is not
Replies in a conversation Person-driven, not automated Somebody chose to send it. That is a staffing decision rather than an automation rule
Automated reply to an inbound message Window applies, with an honest message An instant auto-reply at midnight should say when a human will respond, not pretend one is available

Reminder timing deserves its own pass for the same reason: an automated reminder system is judged on whether the reminder arrives usefully early, and the send window narrows the hours available to it. Automated replies are worth singling out because they are the most common accidental quiet-hours violation. A missed call text back fires whenever a call is missed, including at three in the morning, so decide deliberately whether it runs overnight and what it says if it does.

What to do with a message that hits the wall

When a send lands outside the window, the automation has three options, and picking the wrong one is its own failure.

  • Hold until the window opens. Right for most reminders and anything time-relevant. Watch for the pile-up: if a batch is held overnight, everything arrives in the same minute at the start of the window, which looks worse than one late message.
  • Move to the next scheduled step. Right for a nurture sequence where the exact day matters less than the order.
  • Drop it. Right when the message is only meaningful at the moment it was triggered, and stale delivery would confuse the recipient.

Whichever you choose, spread the release. Adding a small random offset to held messages turns a wall of identical timestamps into a normal-looking morning, and also avoids the throughput problems that come with dumping a queue at once.

Frequency is the other half of the etiquette

Respecting the window and then sending four messages in a day is not restraint. Two limits are worth enforcing alongside the send window:

  • A cap per contact per day, applied across every workflow rather than within each one. Without a shared cap, three well-behaved sequences can add up to badly-behaved messaging.
  • A minimum gap between messages, so a contact who triggers two automations at once does not receive both in the same minute.

Both belong in the same place as the send window, and both are really the suppression side of designing a nurture sequence rather than a separate system.

Consent, identification and opt-out

Timing is one part of messaging conduct and the rest still applies inside the window. In practice that means keeping a record of when and how each contact agreed to be messaged, identifying who is texting in the first message of any conversation the person did not start, honouring opt-out words immediately and across every workflow rather than only the one they replied to, and never scheduling around an opt-out.

The registration and vetting side of business messaging carries its own requirements, which is where A2P 10DLC registration comes in, and other channels have their own rulebooks entirely — WhatsApp messaging limits work on a different model from SMS and need to be treated separately rather than folded into one policy.

Testing the window before it matters

  • Set a test contact’s time zone to somewhere several hours away and confirm the send is held, not sent.
  • Clear the time zone entirely and confirm the fallback behaves the way you decided, rather than defaulting silently.
  • Trigger a workflow just before the window closes and check what happens to a step that would land just after it.
  • Release a held batch and look at the delivery timestamps: if they are identical, the spread is not working.
  • Send an opt-out from a test number mid-sequence and confirm every other workflow stops too.
  • Check what an automated reply says at three in the morning, by reading it as a recipient rather than as the person who wrote it.

The mistakes that repeat

  • The window is set on the account’s time zone. Correct for local clients, quietly wrong for everyone else.
  • Only some workflows enforce it. One campaign built in a hurry undoes the policy.
  • Held messages all release at once. The recipient gets a burst and the pattern looks automated in the worst way.
  • Auto-replies are treated as exempt. They are the most likely thing to fire overnight.
  • No per-contact cap. Several well-behaved sequences add up to a bad experience.
  • Nobody re-checked after expanding to a new region. The window that was right for one market may not be right for the next.

Frequently Asked Questions

Whose time zone do text message quiet hours follow?

The recipient’s, in almost every framing of the rule. That is why a workflow scheduled on the account’s time zone quietly breaks the moment you have contacts in another region. Store a time zone on the contact record and treat it as a field you populate deliberately, and decide explicitly what happens when it is missing rather than letting the account default apply.

What should happen to a message scheduled inside quiet hours?

One of three things, chosen on purpose. Hold it until the window opens, which suits reminders and anything still relevant later. Move to the next scheduled step, which suits a nurture sequence where order matters more than the exact day. Or drop it, which suits a message that only made sense at the moment it was triggered. Whichever you pick, add a small random offset when releasing held messages so they do not all arrive in the same minute.

Do quiet hours apply to appointment reminders?

Treat them as inside the window and plan the schedule around it. The practical consequence is that a reminder for an early appointment has to go out the previous evening rather than at dawn, which is a scheduling decision to make when you design the reminder rather than something to discover from a complaint. Where a reminder genuinely needs different treatment, make that an exemption you grant knowingly.

Are automated replies exempt from quiet hours?

They are the most common accidental violation, because they fire whenever the trigger happens, including overnight. A missed call text back at three in the morning is still an automated message arriving at three in the morning. Decide deliberately whether it runs outside the window, and if it does, make sure it says when a person will actually respond rather than implying someone is available now.

How do I handle a contact with no time zone on record?

Decide the fallback before it happens. The two defensible options are to hold the message until a time that is safe across every region you serve, or to exclude that contact from automated sends until the field is filled. Inferring from an area or country code is a weak signal, because a number’s prefix says where it was issued rather than where its owner currently lives.

Is a send window enough on its own?

No. Timing is one part of messaging conduct. You also need a record of when and how each contact agreed to be messaged, clear identification of who is texting in the first message of any conversation the person did not start, immediate opt-out handling that applies across every workflow rather than just the one they replied to, and a cap on how many messages a contact can receive in a day across all sequences combined.

Where should the send window be configured?

In one shared place that every automated outbound message passes through, not per campaign. The usual failure is nine workflows with nine slightly different windows and one built in a hurry with none at all. Make an exemption something you consciously grant, so that a new workflow inherits the restriction by default instead of inheriting nothing.

We build your GoHighLevel account for you

CRM, pipelines, funnels, SMS and automation — configured for your business, not left for you to figure out.

  • Setup (one-time)$850
  • Ongoing (per month)$38.80
Get my free setup quote

No obligation quote · reply within 1 business day

This site is independently operated and is not officially affiliated with, endorsed by, or sponsored by HighLevel LLC. We do not receive referral commissions — this is our own flat-fee implementation service.

$850 setup, $38.80/mo ongoingGet a quote