You are here:
Guidelines for Choosing Between Book Appointment and Get Candidates
Appointment Booking and Get Candidates are scheduling actions in Field Service that serve different purposes and different user roles. Choose the right one to maximize operational efficiency, user adoption, and customer satisfaction.
Appointment Booking
The Book Appointment action, and respective API, are designed for call center reps (on behalf of customers), end customers, or Agentforce agents to schedule service appointments. Book Appointment presents structured Arrival Window time slots during which the service appointment can be expected to begin (not necessarily end), based on your configured Operating Hours record and your chosen scheduling policy. When using the API, these records are passed in directly as parameters. For the action, these are defined settings - see this article on how to configure those settings.
How Appointment Booking Works
When you click Get Appointments on the Book Appointment quick action or interact with the Appointment Booking API, the Field Service scheduling engine evaluates all time slots behind the scenes—as defined on the Appointment Booking Operating Hours record—and evaluates if there are Service Resources that have availability and the necessary qualifications to perform the work, given the work rules in the scheduling policy used and the work order's Earliest Start Permitted and Due Date range. Time slots that don't have any eligible resources are disregarded.
Of the time slots that comply with work rule criteria, each slot is graded based on the weighted service objectives defined in your scheduling policy, and then presented with a grade and overall ranking:
- Golden/Ideal—Highest-scoring slots that best satisfy all scheduling objectives
- Recommended—Good slots that score fairly high
- Satisfactory—Slots that meet minimum requirements but aren't optimal
When you select an Arrival Window (for example, 10:00 AM–12:00 PM), the system automatically does two things:
- Sets the Arrival Window Start and Arrival Window End as the Arrival Window SLA on the Service Appointment record. Like Earliest Start Permitted and Due Date, this becomes another date/time constraint during scheduling.
- Schedules the appointment to the highest-ranking service resource (assuming there's more than one) that can arrive at the appointment location to begin work within the selected Arrival Window (for example, a technician arriving at 10:35 AM, within 10:00 AM–12:00 PM). You don't see or select a specific resource behind the time slot; the engine handles that.
To configure the Appointment Booking action, see Schedule Appointments from the Record Feed and Customize Appointment Booking Settings. To use the API, see AppointmentBookingService Class developer documentation.
Get Candidates
The Get Candidates action (also called the Candidates Chatter action, or "Find Candidates" action in the Scheduling Console) is primarily a dispatcher tool. It surfaces a ranked list of service resource names who are available to perform the job, along with the earliest exact time each candidate could realistically start (based on existing schedule constraints such as travel from the previous job, and so on) and a grade.
How Get Candidates Works
Like Appointment Booking, when you interact with Get Candidates (or "Find Candidates"), the Field Service scheduling engine looks for scheduling options that comply with work rule criteria, and if options are found, grades each option based on the weighted service objectives defined in your scheduling policy.
However, there are a few differences:
- Get Candidates provides resource names. Appointment Booking doesn't.
- Get Candidates doesn't provide Arrival Window time slots like Appointment Booking. Instead, it returns exact times that the resource could begin work or arrive.
- Get Candidates doesn't automatically set an Arrival Window SLA on the Service Appointment record the way Book Appointment does.
To configure the Get Candidates action, see Schedule Appointments from the Record Feed. To use the API, see GradeSlotsService Class developer documentation.
Choose the Right Scheduling Action
A core challenge for any Field Service organization is balancing customer satisfaction with operational efficiency. From a customer satisfaction perspective, the more specific you can be—in terms of who shows up and exactly when—the better. From an operational efficiency perspective however, the more flexibility you have in your service commitments the better you'll be able to adapt to changes in an operationally efficient way as the day unfolds.
| Scenario | Recommended Action | Why |
|---|---|---|
| Large-scale operation, call center rep persona, or customer self-service | Appointment Booking | Call center reps and end-customers need to find a time that works for the customer's schedule — not evaluate which technician is the best fit. Most reps and customers don't know service resources by name, nor should they. Appointment Booking offers a flexible commitment to perform service without risking over-commitment. |
| High-complexity or high-touch service, dispatcher persona | Get Candidates | While Appointment Booking considers work rules and service objectives when providing scheduling options, some resource selection decisions come down to human judgment. Dispatchers know their team personally. They may know who has history with a specific customer, or who is the right fit for a particular issue, even when multiple resources are technically eligible. In those cases, Get Candidates is often the better option, giving dispatchers the visibility and control to make that call themselves. |
User Education and Customer Communication
An important factor to ensure user adoption of these tools and end customer satisfaction is expectation setting. When using these services, ensure that service reps and dispatchers understand how the system works so that they communicate clearly, accurately, and consistently with customers.
For example, when using Appointment Booking, frame the Arrival Window as exactly that - not a service window. Service reps shouldn't tell customers "your technician will show up and complete service from 10:00 AM to 12:00 PM.", which isn't necessarily accurate. The correct framing is: "your technician will arrive between 10:00 AM and 12:00 PM to begin service." The job can be completed within that window or extend beyond it, depending on duration of the work.

