Create an Interaction to schedule when customers arrive at one of your branches. Workforce Scheduling actions schedule Interactions through their underlying Service Appointments according to the scheduling policy. The scheduling policy combines work rules and service objectives to determine eligible resources and time slots. You can reschedule or cancel an Interaction.
Required Editions
| Available in: Lightning Experience |
| Available in: Enterprise and Unlimited Editions |
How Workforce Scheduling Schedules On-Site Interactions
Interactions represent on-site work. Scheduling or rescheduling an Interaction creates or updates the underlying Service Appointment. The scheduling engine acts on the underlying records, not on the Interaction itself, using object mapping. Workforce Scheduling uses a unified scheduling flow and a backend Context Service layer. In the Salesforce platform architecture — specifically within Workforce Scheduling for Agentforce Public Sector — Context Service is a standard backend service designed to act as an intelligent data abstraction and mapping layer.
- How scheduling is initiated: A user creates and schedules an Interaction record from the scheduling flow (with the scheduling method set to on-site).
- The Backend Logic: When an Interaction is scheduled, Context Service automatically creates and maps a corresponding Service Appointment in the background. Context Service acts as a data layer between Salesforce objects and the scheduling flows that power appointment creation and management. When a user schedules a Service Appointment or an Interaction, the scheduling flow uses a standard context definition to gather the required data, such as work type, engagement channel, location, and scheduled times, from the relevant Salesforce objects. Standard context definitions simplify this process by providing preconfigured mappings between context attributes and Salesforce object fields. Each mapping is designed for a specific scheduling scenario, so the correct data is collected and passed to the scheduling flow automatically.
- The Result: Interactions are user-facing, while Service Appointments are engine-facing. Every scheduling action the user triggers on the Interaction runs against the Service Appointment. The scheduling and optimization engine reads the underlying Service Appointment’s fields to schedule the appointment. The engine blocks out the service resource’s calendar and applies the scheduling policy’s work rules. Any changes made to a Service Appointment, such as scheduled time, assigned resource, status, and other scheduling logic, are synced with the Interaction. Dispatchers work with the Interaction tile on the Operations Console, while the scheduling actions run against the Service Appointment in the background.
Scheduling Actions
The following scheduling actions run against the Service Appointment behind an Interaction.
- Schedule New Appointment or Change Time Slot
- The scheduling flow returns graded time slots. Users pick a slot. Workforce Scheduling assigns the resource, schedules the Interaction, and updates the Service Appointment’s status.
- Schedule and Reschedule
- Schedule automatically assigns the highest-graded candidate to the Service Appointment. Reschedule automatically moves the Interaction and the Service Appointment to a new time or resource, subject to the active scheduling policy.
Before you schedule an Interaction, confirm that your org has:
- The Interaction Type defined, with a duration and required skills that match the on-site work the resource performs.
- At least one service territory that covers the Interaction’s address, with resources assigned to it.
- A scheduling policy with work rules and service objectives configured for on-site scheduling.
You can create and schedule an Interaction from a Case or Application Form record. The scheduling flow walks you through selecting a time slot and confirming the Interaction. When creating or managing Interactions, you work with these key fields:
- Interaction Type: Determines the type of work, required skills, duration type, and estimated duration.
- Location: The branch where the Interaction occurs.
- Service Resource: The primary and optional resources assigned to the Interaction.
- Start Time and End Time: The date and time of the Interaction.
When you schedule an Interaction, you select the scheduling policy that controls how Workforce Scheduling assigns the Interaction to a resource.
- If you create and schedule an Interaction from the scheduling flow, the default policy defined in Setup is used. You can select a different policy in the flow.
- If an Interaction is scheduled automatically from the Gantt with the Schedule action, the scheduling policy is based on the Gantt’s selected policy.
- If scheduling and optimization is done via API, the scheduling policy is an API parameter.
Each scheduling policy combines work rules that determine which resources are eligible with service objectives that rank the best fit. The scheduling engine uses the Interaction’s underlying Service Appointment to balance the load of your service resources.
You can reschedule an Interaction to a different time slot, which can reassign it to a different resource based on availability. You can also cancel an Interaction that’s no longer needed. When you reschedule, Workforce Scheduling updates the underlying service appointment and pushes the new time, resource, and status back to the Interaction. Canceling an Interaction removes the appointment from the Operations Console Gantt and the service appointment list, frees the resource’s time and sets the Interaction’s status to Canceled.
Use Case for Public Sector: Schedule a Meeting With a Compliance Officer
A business owner wants to meet with a compliance officer at the municipal office to discuss a flagged violation on their food establishment permit. The Interaction needs to be routed to a compliance officer who is both available and familiar with food safety codes — not just the next free desk. If the officer has other appointments, the scheduling system needs to account for both appointments and avoid conflicts across the team.