Create a Multi-Resource Appointment

Build a scheduling application using Salesforce Scheduler APIs to book a multi-resource service appointment. Multi-resource scheduling lets users create appointments that include more than one required service resource.

A multi-resource appointment can have a maximum of five required service resources: one primary required service resource plus four required service resources, including asset resources.

Note

Before you can use the scheduler developer resources to build the app, set up Salesforce Scheduler for your organization. For more information, see Set Up Salesforce Scheduler.

These steps provide a high-level overview of how you can build a multi-resource scheduling app, which is explained in detail in the following sections.

A representation of the create multi-resource appointment flow.

  1. Considerations for Multi-Resource Scheduling

    In multi-resource scheduling, a primary service resource anchors the appointment and must be marked required. Primary service resources are the only required resources whose skills are matched to the skill requirements for an appointment. Other required service resources are matched to appointments based on their availability and the primary resource’s service territory.

  2. Enable Multi-Resource Scheduling

    Enable the Multi-Resource Scheduling setting to let users schedule groups of resources for customer appointments.

  3. Update Field Level Security for Multi-Resource Scheduling

    Update the field-level security settings for the Primary Resource field on the Assigned Resource object for user profiles that need to access multi-resource scheduling.

  4. Authenticate with a Connected App

    The first step in an API-based integration is to connect to Salesforce and get an access token using OAuth. OAuth access token authentication is the most secure way to authenticate SOAP and REST API calls.

  5. Get Work Type Groups

    A work type group represents a general appointment category or topic, such as a home loan or investment. Use the Query() method on the WorkTypeGroup object to retrieve a list of work type groups.

  6. Get Engagement Channels

    An engagement channel is a medium, such as Phone, Video, and In Person that service resources use to meet customers.

  7. Get Service Territories

    A service territory represents a branch or office location where your service resources (appointment attendees) operate from or meet customers. Use the service-territories Connect API to fetch a list of service territories based on a work type group or work type.

  8. Get Appointment Candidates

    A service resource represents an employee from your organization, such as a loan officer, investment advisor, doctor, nurse practitioner, or retail store specialist, who attends appointments with clients. Use the getAppointmentCandidates REST API to fetch the available service resources based on work type group and service territory.

  9. Get Appointment Time Slots

    A time slot represents a period in a day when an appointment can be scheduled. Use the getAppointmentSlots REST API to fetch the available time slots for a resource.

  10. Create Service Appointments

    A service appointment represents an appointment booked through Salesforce Scheduler. Make a POST request on the service-appointments Connect API to create the appointment.