---
schema_version: "1"
id: c7613101c9f2e60ecc7ce217b9712902f235a0a6ad6e2a39549d080fe17d9656
title: Preparing for Shift Scheduling
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/service/264-0-0/workforce_engagement_prepare_shift_sched.md
canonical_url: https://help.salesforce.com/s/articleView?id=service.workforce_engagement_prepare_shift_sched.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 0bd13bd60b21872b389750ffeacdf9dc1e285ecbd95b030bd3cf0945fcc4e9f5
description: Before your planners can create shifts and assign them, configure Salesforce for shift scheduling.
products:
  - Service Cloud
  - Digital Engagement
release: "264"
---
# Preparing for Shift Scheduling

Before your planners can create shifts and assign them, configure Salesforce for shift scheduling.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;"><a href="https://help.salesforce.com/s/articleView?id=service.workforce_engagement_editions.htm&amp;release=264.0.0&amp;type=5" title="Learn about the Salesforce user interfaces, editions, and add-ons that support Workforce Management and Quality Management">View supported editions</a>.</td></tr></tbody></table>

If you set up Workforce Management to create a capacity plan, you completed some steps already. If you completed a step, skip it and proceed to the next one.

A queue-based workflow uses Omni-Channel queues and job profiles to match work assignments to support reps.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d130090e66">Configuration Step</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d130090e69">Documentation</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Configuration Step" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e66 ">Step 1. Assign the appropriate permission sets to your users. Assign the Shift Scheduling Planner or Workforce Engagement Planner permission set to users who create and schedule shifts. Assign the Shift Scheduling Agent or Workforce Engagement Agent permission set to your support reps.</td>

            <td data-label="Documentation" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e69 ">
              <p>Manage Permission Set Assignments</p>
              <p style="margin-bottom:0;">Workforce Management User Permission Sets</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Configuration Step" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e66 ">Step 2. In the profile for the user who creates and assigns shifts, set standard object permissions for Service Resource Preferences to View All Records. It's not possible to edit standard object permissions on a standard user profile, so this user must have a custom profile.</td>

            <td data-label="Documentation" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e69 ">Edit Object Permissions in Profiles</td>

          </tr>
          <tr class="">
            <td data-label="Configuration Step" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e66 ">
              <p>Step 3. Add related lists to objects.</p>
              <p>Add the Time Slots related list to the Operating Hours object.</p>
              <p>Add the Skill Requirements related list to the Job Profiles object.</p>
              <p style="margin-bottom:0;">Add the Service Territory, Shifts, Skills, Preferences, Absences related lists to the page layout for the Service Resources object.</p>
            </td>

            <td data-label="Documentation" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e69 ">Add a Related List to an Object</td>

          </tr>
          <tr class="">
            <td data-label="Configuration Step" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e66 ">Step 4. Create operating hours with time slots to represent your business operating hours.</td>

            <td data-label="Documentation" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e69 ">Create Operating Hours with Time Slots</td>

          </tr>
          <tr class="">
            <td data-label="Configuration Step" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e66 ">Step 5. Create service territories for the contact centers where your support reps work. Select the operating hours for each service territory.</td>

            <td data-label="Documentation" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e69 ">Create a Service Territory</td>

          </tr>
          <tr class="">
            <td data-label="Configuration Step" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e66 ">Step 6. Create a service resource for each agent that you want to assign shifts to. In the Type field, select Agent. To specify where an agent works, add a service territory to the Service Territory related list on the service resource.</td>

            <td data-label="Documentation" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e69 ">Create Service Resources for Agents</td>

          </tr>
          <tr class="">
            <td data-label="Configuration Step" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e66 ">
              <p>Step 8. Create job profiles to associate with your shifts..</p>
              <p style="margin-bottom:0;">If you're using an Omni-Channel queue-based routing workflow in Workforce Management, scheduling uses job profile to queue mappings instead. Configure these mappings in the next step.</p>
            </td>

            <td data-label="Documentation" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e69 ">Create a Job Profile</td>

          </tr>
          <tr class="">
            <td data-label="Configuration Step" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e66 ">
              <p>Step 9. (Omni-Channel queue-based routing workflow in Workforce Management) If you haven't done so already, enable Omni-Channel, set up queues, and associate routing configurations with each queue. Add your agent users as queue members.</p>
              <p style="margin-bottom:0;">Enable the configuration app in Setup, and map job profiles to queues. Scheduling matches shifts for each job profile to queues with the same job profile. It then assigns the shift to a queue member.</p>
            </td>

            <td data-label="Documentation" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e69 ">
              <p>Enable Omni-Channel</p>
              <p>Create Omni-Channel Queues</p>
              <p>Enable Workforce Management and Feature Preferences</p>
              <p style="margin-bottom:0;">Map Job Profiles to Queues</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Configuration Step" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e66 ">
              <p>Step 10. Create scheduling rules that help to match support reps to shifts.</p>
              <p>Create a Match Territory rule. A rule of this type is required.</p>
              <p>If you're using a queue-based workflow in Workforce Management, you want scheduling to match queues to shifts' job profiles. Create a Match Queue rule.</p>
              <p style="margin-bottom:0;">Optionally, add more rules to narrow down the pool of candidates for each shift.</p>
            </td>

            <td data-label="Documentation" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e69 ">Create a Scheduling Rule</td>

          </tr>
          <tr class="">
            <td data-label="Configuration Step" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e66 ">Step 11. Create scheduling constraints, such as work limits, to associate with scheduling rules. Add scheduling constraints to service resources or service territories. A scheduling rule looks first for a constraint on a service resource. If there isn't one, it looks for a constraint on the service territory.</td>

            <td data-label="Documentation" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e69 ">Create a Scheduling Constraint</td>

          </tr>
          <tr class="">
            <td data-label="Configuration Step" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e66 ">Step 12. Create scheduling objectives to reflect business goals. For example, balance shifts across your support reps or consider a support rep's shift preference.</td>

            <td data-label="Documentation" class="slds-cell-wrap" style="vertical-align:top;" headers="d130090e69 ">Create a Scheduling Objective</td>

          </tr>
        </tbody>
      </table>

- **[Create and Assign Skills](https://help.salesforce.com/s/articleView?id=service.workforce_engagement_create_assign_skills.htm&release=264.0.0&type=5)**  
    Create and assign skills that represent certifications and areas of expertise. Assign skills to service resources so that the scheduling tools can match the right support reps to shifts that require those skills.
- **[Create a Scheduling Rule](https://help.salesforce.com/s/articleView?id=service.workforce_engagement_create_sched_rule.htm&release=264.0.0&type=5)**  
    Scheduling rules help the tools match qualified support reps to shifts. Set these rules one time. When the scheduling logic looks for support reps to assign to shifts, it checks your rules.
- **[Create a Scheduling Constraint](https://help.salesforce.com/s/articleView?id=service.workforce_engagement_create_sched_constraint.htm&release=264.0.0&type=5)**  
    Scheduling constraints set boundaries for when work happens and how much work is done. Set scheduling constraints on either service resources or service territories. To match support reps to shifts, a scheduling rule looks first for a constraint on the service resource. If there isn't one, then the rule looks for a scheduling constraint on the service territory.
- **[Create a Scheduling Objective](https://help.salesforce.com/s/articleView?id=service.workforce_engagement_create_sched_objective.htm&release=264.0.0&type=5)**  
    Scheduling objectives apply business goals to the scheduling process. Planners and administrators can set scheduling objectives to optimize scheduling.