Start with the history, not the settings
It's tempting to open the settings and start changing things. Don't, yet. HighLevel's workflow history records which time zone it used for a contact, and that one line tells you which of the causes below you're dealing with.
If the history shows the account's time zone, the contact probably had none saved. If it shows a time zone that looks wrong for where the contact lives, the problem is the contact's data. If it shows the right zone and the message still went at an odd hour, look at the Time Window.
Read the history before you change a setting. It tells you which clock the workflow used.
The settings that decide when a message goes
Three settings decide send times, and one behavior catches people out.
- Timezone in the workflow settings controls how waits and time windows are read.
- Time Window delays any message that falls outside it.
- The fallback is the account's own Time Zone, under Settings > Business Profile. A contact with no time zone gets this one.
- Editing a Wait step leaves waits already running unchanged. Contacts part way through keep the timing they started with.
The fix, in order
Work through these one at a time, and recheck the history after each change.
- Open the workflow history for an affected contact and note the time zone it used.
- Review the workflow's Timezone and Time Window settings against what you intended.
- Check Settings > Business Profile > Time Zone, since that's what contacts without one fall back to.
- Check existing waits separately. Contacts already waiting won't pick up an edit to the step.
- If the contact's own time zone is the problem, fix the data, as below.
Rather have it set up for you?
We'll trace which clock your workflows use, fix the settings and contact data behind them, and test the send times, starting with a 30-minute 1:1 with Rob.
When the contact's own time zone is wrong
We've seen contacts whose saved time zone disagreed with both the state on their record and their phone's area code. Every setting can be right and that contact still gets a message at the wrong hour.
When we resolve a contact's time zone, we go by the state first, then the area code, and use HighLevel's stored field last. When the state and the area code agree, they win over the stored field. That order is our own rule from our builds. HighLevel doesn't document it, so treat it as a working method rather than a platform fact.
The booking widget setting is a different switch
HighLevel's Disable Contact Timezone setting sounds like the fix. It isn't. It removes the time zone selector from the booking widget, so appointments are booked in the location's time zone instead of one the visitor picks.
That can be the right choice for a calendar, but it has nothing to do with when a workflow sends. Workflow send times follow the workflow's own Timezone setting.
