Business Hours is a Salesforce setup record that defines when your team is open — by day, hour, and time zone. It’s the calendar the platform uses to calculate SLA timers, milestone deadlines, and case escalations.
What a Business Hours record contains
- Name — “Default APAC”, “Premium 24x7”, etc.
- Time Zone — drives all the conversions
- Active checkbox
- Default flag — one record is the org default
- Per-day windows — for each day of the week, either “Closed” or a start time and end time
Example:
Name: India Business Hours
Time Zone: Asia/Kolkata
Active: true
Default: true
Monday — 09:00 to 18:00
Tuesday — 09:00 to 18:00
Wednesday — 09:00 to 18:00
Thursday — 09:00 to 18:00
Friday — 09:00 to 18:00
Saturday — Closed
Sunday — Closed
Holidays
A separate Holidays record list attaches to one or more Business Hours. On a holiday, the clock pauses — a milestone timer that would have run at 11 AM on a holiday now runs at 11 AM the next working day. Holidays can be one-off (“Eid 2026”) or recurring annually.
Where Business Hours are used
| Feature | How Business Hours plays |
|---|---|
| Entitlement / SLA | Each Entitlement is tied to a Business Hours record; milestones count against it |
| Milestone Timers | Pause outside hours and on holidays |
| Case Escalation Rules | Escalation actions evaluate against Business Hours |
| Case Assignment / Auto-Response | Rules can be limited to operating hours |
| Live Agent / Messaging | ”Outside hours” flow vs in-hours queue |
Multiple Business Hours
Big orgs need many calendars:
- Per region — APAC, EMEA, AMER each have their own working hours
- Per tier — Premium customers get 24×7; Standard get 9-5
- Per team — Field Service may have different hours from Tier 1 phone support
You can have as many active Business Hours records as you need; the SLA configuration picks which one applies.
Default Business Hours
Exactly one Business Hours record is marked as the org default. It’s used wherever a Case / Entitlement / rule doesn’t specify another one explicitly. Common practice: set the default to your largest customer-facing team’s calendar.
Apex APIs
Apex can do business-hour math without you reimplementing it:
BusinessHours bh = [SELECT Id FROM BusinessHours WHERE IsDefault = true];
Datetime created = Datetime.now();
Datetime deadline = BusinessHours.add(bh.Id, created, 4 * 60 * 60 * 1000L); // 4 business hours
Long elapsed = BusinessHours.diff(bh.Id, created, Datetime.now());
Boolean within = BusinessHours.isWithin(bh.Id, Datetime.now());
Useful for building custom SLA logic, time-based reports, or auto-responses that change tone outside hours.
Common follow-ups
- 24×7 setup? — One Business Hours record with all days set to 00:00 to 23:59. Or several spanning the week.
- Time zone of the running user? — Business Hours uses its own time zone, not the user’s.
- Can holidays be different per Business Hours? — Yes — each Business Hours record has its own list of associated Holidays.
Verified against: Salesforce Help — Business Hours. Last reviewed 2026-05-17 for Spring ‘26.