Configure business hours
Create a reusable business-hours schedule and use it two ways.
-
Create the schedule with a timezone.
{ "id": "sch_01j0jvpe0wzc6g05bktfew0xyx", "account_id": "acc_01jf18ah3jeb5w6dfp27sgjsbt", "name": "Support hours", "timezone": "America/New_York" } -
Add weekly rules and a holiday.
dowis0=Sun … 6=Sat.is_closed: 1marks a holiday override.[{ "schedule_id": "sch_01j0jvpe0wzc6g05bktfew0xyx", "kind": "weekly", "dow": 1, "start_time": "09:00", "end_time": "17:00" },{ "schedule_id": "sch_01j0jvpe0wzc6g05bktfew0xyx", "kind": "weekly", "dow": 2, "start_time": "09:00", "end_time": "17:00" },{ "schedule_id": "sch_01j0jvpe0wzc6g05bktfew0xyx", "kind": "weekly", "dow": 3, "start_time": "09:00", "end_time": "17:00" },{ "schedule_id": "sch_01j0jvpe0wzc6g05bktfew0xyx", "kind": "weekly", "dow": 4, "start_time": "09:00", "end_time": "17:00" },{ "schedule_id": "sch_01j0jvpe0wzc6g05bktfew0xyx", "kind": "weekly", "dow": 5, "start_time": "09:00", "end_time": "17:00" },{ "schedule_id": "sch_01j0jvpe0wzc6g05bktfew0xyx", "kind": "date", "start_date": "2026-07-04", "is_closed": 1 }] -
Use it in a flow with a
timeConditionnode:{ "id": "hours", "type": "timeCondition", "data": { "kind": "timeCondition", "scheduleId": "sch_01j0jvpe0wzc6g05bktfew0xyx" } }Draw
in_hoursto your menu andout_of_hoursto voicemail. Aholidayoutcome falls back to theout_of_hoursedge unless you draw a separateholidayedge. -
…or attach it directly to a queue so being closed overrides the route into the queue:
{"id": "q_01j160r23gw5zkpfjme3fwzs5k", "name": "Support","schedule_id": "sch_01j0jvpe0wzc6g05bktfew0xyx","closed_dest_kind": "voicemail", "closed_dest_id": "vm_01jg8asp59ps9rtt7azhrhvcre"}
- A schedule with
timezone: nullinherits the account timezone, which is handy when most schedules share one zone. - If a schedule is missing or misconfigured, evaluation fails open (
in_hours) so a call is never stranded. - See Route after-hours calls to voicemail for the full closed-hours pattern.