Skip to content
Salesforce Dictionary - Free Salesforce GlossarySalesforce Dictionary
DictionarySShift Template
ServiceAdvanced

Shift Template

A Shift Template is a reusable Salesforce record that stores the shape of a working shift, so admins do not rebuild the same details every time they schedule one.

§ 01

Definition

A Shift Template is a reusable Salesforce record that stores the shape of a working shift, so admins do not rebuild the same details every time they schedule one. It holds defaults like the start time, end time, job profile, service territory, and time slot type. When you create shifts from the template, those values copy onto each new Shift record automatically.

Shift Templates live in Field Service, Workforce Engagement, and Salesforce Scheduler, which all share the same underlying scheduling objects. The template defines what a single shift looks like. A Shift Pattern then references one or more templates to define how shifts repeat over days and weeks. The two work as a pair to turn manual roster building into generated records.

§ 02

How Shift Templates fit into Salesforce scheduling

What the ShiftTemplate object actually stores

ShiftTemplate is a standard object that became available in API version 51.0. Each record is a blueprint, not an actual shift on a calendar. The fields you set on it act as defaults that get stamped onto Shift records later. The most used fields are Start Time and End Time, which describe the working window, for example 8 AM to 4 PM. You also set a Job Profile, which captures the type of work, and a Service Territory, which scopes the shift to a location or operating region. A few fields control display and behavior. Background Color lets you tag templates visually so a morning shift and a night shift read differently in schedule views. Time Slot Type is usually set to Normal, because Salesforce Scheduler applies shifts only for the Normal slot type. Because the template is a record like any other, it supports validation rules, field history, and reporting. You can build several templates, one per standard shift type, and reuse them across many weeks of scheduling without retyping the same values.

Templates versus patterns, and why you need both

People mix these up, so it helps to separate them cleanly. A Shift Template defines the details of one shift. A Shift Pattern defines the recurrence, meaning which shifts happen on which days across a repeating cycle. Neither one alone produces a full schedule. The template has no sense of time across days, and the pattern has no sense of what a shift contains. They only become useful together. The link between them is the Shift Pattern Entry. A pattern holds a set of entries, and each entry points at a template and assigns it to a day in the cycle. So a Monday-to-Friday day-shift roster is one pattern with five entries, each referencing your 8-to-4 template. Run that pattern against a date range and Salesforce generates a Shift record for every matching day. This is how a single template can stamp out dozens of shifts in one action. Patterns can be need based, creating unassigned shifts for staffing requirements, or tied to a specific service resource for a named person.

Two ways shifts get created from a template

There are two paths, and admins pick based on volume. The first is one shift at a time. From the Shifts list view you click New from Template, choose the template, set a date, and optionally pick the service resource who will work it. Many fields prepopulate from the template, so you confirm rather than retype. This suits one-off coverage, like a single on-call slot. The second path is bulk creation through Shift Patterns. Instead of generating one shift, you apply a pattern over a date range and the engine creates every shift the pattern describes. This is the route for staffing a team week after week. Both paths read from the same template, so a change to the template default flows into shifts you create afterward. Existing Shift records do not change retroactively, because each shift is a separate record once it is stamped. That distinction matters when you adjust a template and wonder why last week's shifts still show the old times.

Prerequisites you set up before templates pay off

A Shift Template references other scheduling records, so those have to exist first. Service Territories represent the geographic or organizational regions where work happens, and a template is often scoped to one. Operating Hours define when a territory is open, and they drive sensible defaults. If you create a shift with a territory that has defined operating hours, the start and end times default to those hours. Without a territory, or with one that has no operating hours, the times fall back to 12 AM to 12 AM, which is rarely what you want. Service Resources are the people or assets that get assigned to shifts. Job Profiles describe the kind of work a shift covers and help match the right resource. Skills can further refine who is eligible. Getting these foundations right means your templates produce shifts that already carry the correct territory, hours, and work type. Skip them and you end up editing every generated shift by hand, which defeats the point of templating.

Where Shift Templates show up across products

The same ShiftTemplate object is shared by several Salesforce products, which is why the term appears in more than one help guide. In Field Service, templates feed the dispatcher view and the Gantt, so technicians have shifts that bound when they can be assigned service appointments. In Workforce Engagement, templates support contact center capacity planning, where shifts represent agent availability across channels. In Salesforce Scheduler, shifts created from templates control when customers can book appointments with staff. Because the object is shared, a skill you build in one context often transfers. The fields, the New from Template flow, and the pairing with patterns behave consistently. What differs is the surrounding feature set and the licensing. Field Service and Workforce Engagement are separately licensed products. So while the mechanics of a Shift Template are the same, whether you see shift scheduling at all depends on which product your org has enabled. Confirm the license before promising a scheduling rollout.

Common pitfalls and how to avoid them

The biggest trap is expecting template edits to rewrite history. Once a shift is generated, it is independent. Updating the template changes future shifts only, so you fix existing ones directly or regenerate them. A second trap is missing operating hours. Teams build a polished template, generate shifts, and find every shift runs midnight to midnight because the territory had no hours defined. Set operating hours on the territory first. Time Slot Type catches people in Scheduler. If you leave it as None, Scheduler will not apply the shift, because it only honors the Normal type. Background Color seems cosmetic but pays off at scale, since a wall of identically colored shifts is hard to scan during dispatch. Finally, resist creating one giant template with edge-case values baked in. Smaller, single-purpose templates compose better inside patterns. Build a clean template per standard shift type and let patterns handle the combinations across the week.

§ 03

How to create a Shift Template

Create a Shift Template once for each standard shift type, then reuse it when generating shifts or building Shift Patterns. Set up your service territories and operating hours first so the time defaults are correct.

  1. Open the Shift Templates list

    From the App Launcher, search for Shift Templates and open the tab. Click New to start a fresh template record.

  2. Name the template and set the window

    Give the template a clear name like Day Shift 8-4. Enter the Start Time and End Time that define the working window for this shift type.

  3. Add work and location context

    Set the Job Profile to describe the kind of work, and choose a Service Territory so the shift inherits that region and its operating hours.

  4. Set display and slot options

    Pick a Background Color so the shift type is easy to spot in schedule views, and set Time Slot Type to Normal if these shifts feed Salesforce Scheduler.

  5. Save and use it

    Save the template. Generate a single shift with New from Template on the Shifts list, or reference the template from a Shift Pattern to bulk-create recurring shifts.

Shift Template Namerequired

The label for the template, used when you pick it during shift creation or in a Shift Pattern Entry.

Start Timerequired

The time the shift begins. Defaults to the territory operating hours when a territory with hours is selected.

End Timerequired

The time the shift ends. Falls back to 12 AM if there is no service territory or the territory has no operating hours.

Service Territoryrequired

The region the shift belongs to. Drives the default times and scopes which resources can be assigned.

Gotchas
  • Editing a template does not change shifts you already generated. Existing Shift records are independent, so fix or regenerate them separately.
  • If the chosen service territory has no operating hours, start and end times default to 12 AM to 12 AM rather than a real working window.
  • Salesforce Scheduler only applies shifts whose Time Slot Type is Normal. Leaving it as None means the shift is ignored for booking.
§

Trust & references

Sources

Cross-checked against the following references.

Official documentation

Straight from the source - Salesforce's reference material on Shift Template.

Was this entry helpful?
Help us write better definitions. Quick reactions or detailed edit suggestions.

About the Author

Dipojjal Chakrabarti is a B2C Solution Architect with 29 Salesforce certifications and over 13 years in the Salesforce ecosystem. He runs salesforcedictionary.com to help admins, developers, architects, and cert/interview candidates sharpen their fundamentals. More about Dipojjal.

§

Test your knowledge

Q1. What is a Shift Template?

Q2. How does it differ from a Shift Pattern?

Q3. What do templates pre-populate?

§

Discussion

Loading…

Loading discussion…