Business Hours & Schedules in Zendesk (Time Zones, Holidays & SLAs)
Most Zendesk admins meet schedules the day an SLA breaches at 3 a.m. — for a ticket nobody was even supposed to be working on. The fix is almost always the same: the account had no schedule (or the wrong one), so Zendesk was counting the overnight hours, the weekend, and the public holiday as if your team had been sitting at their desks the whole time.
A schedule is how you tell Zendesk when you're actually open. It's a small, often-overlooked setting that quietly governs your SLAs, your auto-replies, and your reporting. This guide covers what a schedule is, why it matters most for SLAs and out-of-hours behavior, how to set one up, how to run multiple schedules for different regions or teams, which plans unlock that, and the mistakes that trip up almost every team. Mechanics here are verified against Zendesk's own documentation.
What a schedule actually is
In Zendesk's own words: "Create schedules with your business hours, time zones, and holidays. Apply schedules to tickets using triggers… Your default schedule applies to any ticket without one."
Unpacked, a schedule bundles three things:
- A time zone. The reference clock everything else is measured against. A "9–5" schedule means nothing until Zendesk knows which 9–5.
- Business hours. Your weekly operating window, set per day in 15-minute increments (each interval is at least an hour). You can be open 9–5 Monday to Friday, split a day around lunch, or run staggered weekend hours — whatever matches reality.
- Holidays. Named date ranges when you're closed — public holidays, company shutdowns, the week between Christmas and New Year. You can add them up to roughly two years in advance so you're not editing the schedule every December.
Once defined, a schedule isn't just a label. It becomes a clock that your business rules — triggers, automations, and especially SLAs — read from to decide what "an hour" or "a day" means. (If business rules are new to you, start with the Zendesk business rules overview, which ties triggers, automations, SLAs, and schedules together.)
Why schedules matter most: SLAs and out-of-hours behavior
You can run Zendesk without ever touching a schedule. But two things break in ways that are hard to spot until they bite.
1. Business hours vs. calendar hours in SLAs
This is the big one. When you build an SLA policy, every target — first reply time, next reply time, resolution time — is measured in one of two ways:
- Calendar hours count all elapsed time, around the clock. A 4-hour first-reply target set in calendar hours starts ticking the moment the ticket arrives and never stops — nights, weekends, holidays included.
- Business hours count only the time inside your schedule. The same 4-hour target, in business hours, pauses when you close and resumes when you reopen. A ticket that lands at 4:45 p.m. with a 4-hour business-hours target isn't due until mid-morning the next working day — not at 8:45 p.m. while the office is dark.
Here's the catch: business-hours SLAs only make sense if a schedule exists and is correct. Without one, "business hours" has nothing to pause against, and you'll see exactly the 3 a.m. and Sunday breaches that started this article — not because your team failed, but because the clock was wrong. A schedule with the right time zone and holidays is what makes business-hours SLAs fair and your breach numbers trustworthy.
2. Different behavior in vs. out of hours
The second reason is customer-facing. Triggers can branch on whether a ticket arrived inside or outside your hours, using the condition "Within business hours?" (true/false) — and there's a matching "On a holiday?" condition. That lets you send different auto-replies depending on the clock:
- In hours: "Thanks — we've got your message and a member of the team will reply shortly."
- Out of hours / holiday: "Thanks for reaching out. Our team is offline until 9 a.m. Monday; we'll get back to you first thing."
Setting expectations honestly when you're closed is one of the cheapest CSAT wins available, and the schedule is the switch that powers it. (See how triggers work for the condition-and-action mechanics.)
One thing to keep straight: Support business hours (the schedule we're discussing) are separate from Chat/messaging operating hours. They're configured in different places and don't automatically mirror each other — if you run live chat, set both.
How to set up a schedule
Schedules live in the Admin Center under Objects and rules → Business rules → Schedules. Creating one is three steps:
- Pick the time zone. Choose the zone your team primarily works in. This anchors every business-hours and holiday calculation, so get it right before anything else.
- Set your business hours. Drag or enter the open window for each day in 15-minute increments. Leave a day blank to mark it fully closed; split a day into two intervals if you close for lunch. Aim for what your team actually covers, not what you wish you covered — the SLA clock believes you.
- Add holidays. Give each holiday a name and a start/end date. Add the whole year (and next year) at once so the schedule stays accurate without monthly babysitting.
Save, and the schedule is live. On a single-schedule plan, this one schedule automatically becomes the default that every ticket uses.
Multiple schedules — and how a ticket gets one
If you support different regions or run teams with genuinely different hours (say a 24/5 Tier 1 and a 9–5 Billing desk), one schedule can't represent everyone. That's where multiple schedules come in — and the rules for which schedule a ticket uses matter:
- The default schedule. The first schedule in the list is the default, and it "applies to all tickets" that haven't been assigned anything else. Every ticket gets a schedule whether or not you do anything.
- Assigning a different one via trigger. To put a ticket on a non-default schedule, you build a trigger. As Zendesk puts it, "You can create triggers to apply different schedules to tickets." The trigger's conditions decide which tickets qualify (e.g. Organization is EU-Customers, or Group is Billing, or Brand is …), and the action is "Ticket: Set schedule", pointing at the schedule you want. You create one such trigger per schedule you want to route to.
This is how regional SLAs work in practice: your European tickets ride a European schedule, your US tickets ride a US one, and each SLA target pauses and resumes against the right local clock. On multi-schedule accounts, Zendesk confirms that "triggers, SLA policies, views, and automations based on business hours will use the schedule applied to the ticket."
Which plans include multiple schedules
This is the part most teams discover at the worst moment, so verify it against your plan:
| Plan | Schedules |
|---|---|
| Suite Growth | One schedule |
| Suite / Support Professional | One schedule |
| Suite Enterprise / Enterprise Plus (and Support Enterprise) | Multiple schedules |
In short: a single schedule is available on the mid-tier plans, but multiple schedules are an Enterprise feature. If you're on Professional and need different hours per region or team, you have one schedule to work with — which usually means picking the most representative window and accepting that some teams' SLAs won't perfectly reflect their local hours, or upgrading. (Plans and packaging change; confirm in your own Admin Center before committing to a design.)
Best practices and common mistakes
A schedule is simple to set and easy to get subtly wrong. The recurring traps:
- No schedule at all, with business-hours SLAs. The classic. Your SLAs are set to "business hours" but there's no schedule to define them, so time counts around the clock and you rack up phantom overnight and weekend breaches.
- The wrong time zone. A schedule built in the wrong zone is off by hours for every ticket — quietly, consistently, in a way that's hard to notice from the breach numbers alone. Double-check this first.
- Forgetting holidays. The most common ongoing failure. If you don't add holidays, the SLA clock runs straight through every public holiday and company shutdown, and your team comes back from a long weekend to a wall of "breached" tickets. Load the full year ahead of time.
- Assuming Chat hours follow Support hours. They don't. Set messaging/Chat operating hours separately.
- Building multiple schedules but forgetting the routing trigger. On Enterprise, a second schedule does nothing on its own — every ticket stays on the default until a "Ticket: Set schedule" trigger moves it. No trigger, no effect.
- Treating it as set-and-forget. Hours change, offices move, you add a region. Revisit schedules at least yearly (and whenever you change SLAs), and roll holidays forward before they lapse.
Where AI fits — coverage that doesn't watch the clock
Schedules exist because humans have hours. They keep your metrics honest about those hours — but they don't extend them. Out of hours, the customer still waits.
This is the gap an AI agent layer can close. Something like Macha runs on top of Zendesk (it's not a help desk and not a Zendesk replacement) and answers from your knowledge base and connected systems 24/7 — so a customer who writes in at 2 a.m. on a holiday can get an actual resolution to a routine question, not just an "we're closed" auto-reply, while anything it can't handle becomes a normal ticket waiting for your team when the schedule reopens. It complements schedules rather than replacing them: the schedule still governs your human SLAs and reporting; the AI just narrows how much has to wait for working hours.
Worth being straight about the model: Macha is billed per AI action (any automated step — look something up, draft a reply, tag, route, or resolve — costs 0.5–9 credits depending on the model you choose), not per closed ticket, because it's an automation layer, not a per-resolution bot. It's another integration to maintain, and it only performs as well as the knowledge you connect to it. If after-hours volume is your pain point, that's exactly the gap it fills — we walk through the patterns in how to automate Zendesk with AI, and you can try it free — 7-day free trial, no credit card required.
Frequently asked questions
What is a schedule in Zendesk? A schedule defines when your support team is open: a time zone, your weekly business hours, and your holidays. Zendesk uses it as the clock for business rules — most importantly SLA policies, which can pause outside your hours — and triggers can branch on whether a ticket arrived inside or outside that window.
What's the difference between business hours and calendar hours in a Zendesk SLA? Calendar hours count all elapsed time around the clock, including nights, weekends, and holidays. Business hours count only the time inside your schedule, so an SLA target pauses when you're closed and resumes when you reopen. Business-hours targets only work correctly if a schedule (with the right time zone and holidays) is set up. See Zendesk SLA explained.
How does a ticket get a schedule in Zendesk? Every ticket uses the default schedule (the first one in your list) unless a trigger assigns a different one. On multi-schedule accounts, you create a trigger whose conditions match the tickets you want (by organization, group, brand, etc.) and use the action "Ticket: Set schedule" to apply the right one.
Can I have multiple schedules in Zendesk? Yes, but it's plan-gated. Suite Growth and Professional (and Support Professional) allow one schedule; multiple schedules require an Enterprise plan. Multiple schedules let you run region- or team-specific hours and SLAs. Confirm your plan's limit in Admin Center.
How do I set up holidays in Zendesk? In Admin Center → Objects and rules → Business rules → Schedules, open the schedule and add each holiday with a name and a start/end date. You can schedule holidays up to about two years ahead. During a holiday, business-hours SLAs and "within business hours" logic treat your team as closed.
Are Zendesk Support business hours the same as Chat operating hours? No. Support business hours (your schedule) and Chat/messaging operating hours are separate settings configured in different places. If you offer live chat, set both — they don't sync automatically.
The bottom line
A Zendesk schedule is a small setting with outsized reach: it's the clock your business hours, holidays, and time zone live on, and almost everything time-sensitive — SLA pauses, out-of-hours auto-replies, "within business hours" logic — reads from it. Get the time zone and holidays right and your business-hours SLAs become fair and your breach numbers trustworthy; get them wrong (or skip the schedule entirely) and Zendesk will dutifully count the hours you were never open. Set one schedule if that's all your plan allows and it covers you; reach for multiple schedules (Enterprise) plus "Set schedule" triggers when regions or teams genuinely differ. And remember the schedule only describes your hours — closing the after-hours gap itself is where an AI layer earns its place. From here, go deeper on SLAs, triggers, and the business rules that tie them together.
Schedule and SLA behavior verified against Zendesk's official documentation, June 2026. Zendesk updates plans and packaging periodically — confirm specifics in your own Admin Center before relying on them.

