in implementation guides ~ read.
Schedule Appointment Solution Kit

Schedule Appointment Solution Kit


First things first !
To download this implementation guide, click the download button below.
If you need more information about the implementation guide, you can read the Table of Contents below.


Schedule an Appointment
Salesforce Spring

Last updated January

Copyright Salesforce Inc All rights reserved Salesforce is a registered trademark of Salesforce Inc as are other

names and marks Other marks appearing herein may be trademarks of their respective owners


Schedule an Appointment
Understand the Schedule an Appointment Solution Workflow
Recommended Technology
Design Considerations


Implement scalable processes to let shoppers schedule appointments

Get Started
Explore system architecture related to this solution

BC Industry Blueprint

BC Reference Architecture

BC Solution Architectures

Salesforce Scheduler Data Model Overview
Take Trailhead modules related to this solution
Salesforce Solution Kits Quick Look
Customer Guide for Retail Quick Look
Customer Guides Quick Look
Appointment Booking with Salesforce Scheduler Trail

Providing safe shopping experiences to shoppers increases the opportunity to cultivate relationships and deliver products in a changing
world Enabling scheduling helps retailers assign resources more efficiently and better address customers shifting needs
This solution kit helps you
Enable customers to selfschedule appointments from your commerce or external site
Allow appointments based on capacity of store resources or assets managed by location
Solve for logistics and personalization to deliver efficient personalized appointments by leveraging Salesforce data

Required Products
One of more of these clouds
Sales Cloud
Service Cloud
Industries for example Health Manufacturing Consumer Goods or Financial Services

Schedule an Appointment

Understand the Schedule an Appointment Solution Workflow

Salesforce Scheduler Permission Set License
One license per schedulable asset or resource being scheduled

Implement This Solution
Understand the Schedule an Appointment Solution Workflow
Learn how data flows through the configurations to schedule an appointment
Recommended Technology
Use Salesforce Scheduler as the basis of your appointment booking system
Use these configuration steps to schedule an appointment
Design Considerations
Keep these design considerations in mind when you implement your appointment booking system


Solution Kits for Retail and BC

Understand the Schedule an Appointment Solution Workflow
Learn how data flows through the configurations to schedule an appointment

Schedule an Appointment

Understand the Schedule an Appointment Solution Workflow


The customer requests to book an appointment
The customer is prompted to select a location
The customer is prompted to select a resource and a time slot
The customer confirms their selections
Salesforce creates an event and processes transactional workflows
The customer continues browsing the storefront

Related Content
Review this solutions use case and purpose
Schedule an Appointment on page
Take the next steps in this implementation
Recommended Technology

Schedule an Appointment

Recommended Technology

Design Considerations


Trailhead Get to Know Salesforce Identity

Recommended Technology
Use Salesforce Scheduler as the basis of your appointment booking system
Salesforce Scheduler supports location and capacitycontrolled booking use cases
Use Salesforce Scheduler to let customers set appointments with specialized resources such as a particular retail associate or based on
skills needed
Asset scheduling moves beyond solely resourcebooked appointments to provide scheduling based on more complex needs Allow
customers to book based on factors such as retail capacity or private room availability for instore browsing Schedule unlimited assets
in the same functionality provided for resourcebased booking

General Information
Salesforce Scheduler is available for Platform User license Review the Schedule Resource details when planning licenses
There are limitations to having both Field Service and Scheduler in the same org Talk with your Success Manager before pursuing
Salesforce Scheduler if you already have Field Service installed
Lightning Experience must be turned on for the org before Salesforce Scheduler can be enabled

Functionality Considerations
Guest Site User Inbound Scheduling allows an unauthenticated user to schedule an appointment
Enable a Salesforce Experience Cloud Community or a Salesforce Site
If your scheduling process allows for unauthenticated scheduling configure the Portal and Organizational Sharing for guest user
External Sites using Embedded Services are able to expose the inbound scheduling without authentication of the customer via
Lightning Out Apps
To access Salesforce Scheduler customers must be using a supported web browser

Flow Builder Considerations
Start from Salesforce Scheduler Standard Flow Template Configure a personalized experience by enhancing flow templates with
Flow Lightning Components or Apex Actions

Use API or customer components to support use cases where mobile responsiveness and multiple timezone booking requirements

are critical When designing custom API solutions review outofthebox templates for workflow considerations

Scheduler flows can be used outofthebox in Communities and Embedded Services or extended through custom Lightning
Components and APIs
Tip To customize standard flow templates first clone the template from the flow designer

Schedule an Appointment


Outbound Scheduling
Invoke the outofthebox outbound employeedriven scheduling flow from account opportunity and lead record pages in
Salesforce using the Schedule Appointment Lightning Action
Inbound Scheduling
Invoke the outofthebox inbound customerdriven selfservice scheduling flow
Authenticated customers can schedule and modify appointments in an Experience Cloud site or externally from a storefront or
company website Enable Salesforce Identity to let endcustomers authenticate with Salesforce to book and schedule appointments

General Limits
Salesforce Scheduler limits and limitations apply
For guest users times display using the sites default time zone not the customers current time zone

Optional Technology
Use Marketing Cloud Personalization Web Campaigns to present the scheduler to shoppers who meet defined criteria or show exit
intent from your site

Related Content
Review earlier steps in this solution
Understand the Schedule an Appointment Solution Workflow on page
Take the next steps in this implementation
Design Considerations


Salesforce Scheduler Implementation Guidelines

Use these configuration steps to schedule an appointment

Appointment time slots are determined based on your Salesforce Scheduler data model configurations Before exposing Salesforce
Scheduler Inbound or Outbound actions to your users set up records for the following objects
Service Resources
Service Territory Members

Schedule an Appointment


Work Type Groups
Work Types
Work Type Group Members
Service Territory Work Types
If your use case requires Guest Site User Scheduling configure Guest Profile Access Set the default timezone for the guest user profile
for the Scheduler Additional customization is required to support the timezone mapping for guest appointments that can be passed
via APIs if outofthebox flow templates dont support use cases
Set Organization Wide Sharing for external access to default to Public Read Only on the following objects
Work Type
Work Type Group
Service Resource
Service Territory
To allow a guest to schedule appointments update the Guest User Profile to allow guests users to
Run flows
Open guest user access for your custom guest appointment flow
To create a custom flow open your custom Inbound New Guest Appointment flow template and save it
To surface your flow for public consumption follow these instructions to select Override default behavior and restrict
access to enabled profiles or permission sets Dont add anything to enabled profiles
Navigate to your guest user profile then click Flow Access
Click Edit and add your Inbound New Guest User customer flow to the list of enabled flows
If your org has Run Flows permission you can leverage that permission However the Run Flows permission will sunset Summer

Edit events within Salesforce Guest users are allowed to create objects such as booking but not edit objects such as service
Create sharing rules for guest users
Determine which records to expose to your Experience Cloud Communitys guests
Set create criteriabased recordsharing rules to match your business process for the following objects
Service Resource
Service Territory
Work Type
Work Type Group
Optionally configure field level security for the Asset field on the Service Resource object
The Asset field becomes available only when your org has an Asset Scheduling license enabled and provisioned in the instance
Grant Edit permission to profiles that book appointments for Assets including guest profiles
Add the Asset field to the page layout for the Service Resource object
Note Without defining sharing rules for guests unauthenticated users cant access the records required for the Inbound New
Guest Appointment flow This requirement applies to Embedded Services hosted in an Experience Cloud community or external

Schedule an Appointment


Technical Architecture
Choose how you wish to customize extend or enhance Salesforce Scheduler from available implementation approaches Review all
available documentation to understand the product such as Salesforce Scheduler Salesforce Scheduler Implementation Guide and the
Salesforce Scheduler Developer Guide Study the data model The Salesforce Scheduler product is a unique datadriven engine in which

the ERD and object model works along with the actual data input in records within the object to function

Appointment scheduling can be enabled using lowcode or highcode methods and each option offers tradeoffs and advantages
Review capabilities and limitations of tools available on the Salesforce platform to help define the best approach to support your business
process Consider the available skill sets of your team as you make your choices
Keep in mind other ways to extend the Salesforce Scheduler

Email and SMS

Event Management and Sync
Declarative Low Development Appointment Setup
This option requires minimal development but styling options are limited and testing is completed manually This option is
generally a great starting point to any implementation
This method offers the quickest time to a live solution This method is also a great loweffort proofofconcept to show stakeholders
what Salesforce Scheduler has to offer
Use the Standard Flow Template configuration with configurable customizations from Flow Builders
Use the Embedded Service component to add Salesforce Scheduler in a Salesforce Experience Cloud Community
Enable Salesforce Scheduler using the Embedded Service components in a Scheduler component Live Agent Chat or chatbot
Use Experience Builder and Lightning Template with standard Embedded Services components configuration
Low Development Appointment Setup
Enable Salesforce Scheduler on an external website Testing is completed manually
This option allows for moderate customizations
Use Scheduler through the Embedded Service component
Add a Lightning Out dependency app to your external website that gives unauthenticated users access to your Inbound New
Guest Appointment flow template
Note Embedded Service requires authentication which could be either an end user who has gone through the best

practice of authentication or an API User Using Embedded Service does require an Experience Cloud site but doesnt

require a site deployed to users Finally an Embedded Service can run on an external website
Moderate Development Appointment Setup
In this option use custom code and APIs to customize and host Salesforce Scheduler on an external website Testing can be
Add the ltngallowGuestAccess interface to your Lightning Out dependency app to make it available to guest users on your
external website
This interface lets you build your app with Aura components and deploy it anywhere and to anyone If a user is authenticated
with the Lightning Out endpoint the session must be set in Lightninguse

Note The ltngallowGuestAccess interface is only usable in orgs that have Experience Cloud communities enabled The
Lightning Out app is associated with all Experience Cloud site endpoints that youve defined in the org

Schedule an Appointment


High Development Appointment Setup
Create a custom scheduler component on an external website and automate testing
Use a Lightning Out dependency app to apply Lightning Web components or Aura components to manage screens and
scheduling processes

Use REST API to gain full style control The getAppointmentCandidates and getAppointmentSlots functions retrieve the

appropriate candidates and appointment slots

Use Salesforce Scheduler Resources in Connect REST API to create service appointments assignment of resources and ability

to create leads Further customize user experience to filter or sort Service Territories using radius latitude longitude sortBy and
sortOrder properties

Virtual Shopping Experience
AppExchange packages provide options for extending Salesforce Scheduler capabilities such as providing virtual customer engagements
Note AppExchange solutions are reflective of thirdparty applications outside of Salesforce Customers make their own
determinations when picking a particular appexchange provider select a partner that best meets your business needs
AppExchange Partners
Installing Screenmeet in your Salesforce Org

APEX API Reference

Recursive Labs
Data Sheet
Glance for Salesforce Setup Guide

Related Content
Review earlier steps in this solution
Understand the Schedule an Appointment Solution Workflow on page
Recommended Technology on page
Take the next steps in this implementation
Design Considerations


Salesforce Architect Blog Introducing the Architect Decision Guides

Schedule an Appointment

Design Considerations

Design Considerations
Keep these design considerations in mind when you implement your appointment booking system

Craft a central vision by deciding on the scope of your changes identifying a team and defining key performance indicators
Identify which tools offer the functionality or levels of customization that meet your requirements
Consider the functional performance and scalability requirements
Identify crawl walk run use cases and scenarios Consider the following
Customers guests or unauthenticated users
Will you schedule resources that are people or assets People to schedule can include cashiers sales reps and curbside
service agents Assets can include room capacity parking spaces office spaces or tangible items
Consider whether resources have skills
Inbound Scheduler Customer SelfService to booking
Outbound Scheduler Scheduled by associates on behalf of a customer request
Identify Accepted Channels Website Storefront Chat Chatbot SelfService Experience Cloud Community site Customer

Portal or SMS

Is the appointment virtual instore for a parking spot a scheduled room or in some other location
What locations time zones or other localized information are involved

Key CrossCloud Considerations

Implement an appropriate crosscloud engagement data model with Salesforce Scheduler Unlock REST and SOAP API access across

Commerce Service and Marketing Cloud Seamlessly pass data attribute properties to systems for the workflows and use cases
Salesforce Platform Keys

Contact ID or Person Contact ID Represents the business contact or the contact related to a person account

Account ID Represents the account with which a contact is associated

Lead ID By default a lead is created when a guest books an appointment We recommend converting leads to an account and

contact or to a person account to verify the correct human profile for the scheduled engagement
Note Lead use can result in poor crosscloud data quality Converting leads to contacts creates duplicate keys in Marketing

Cloud To avoid duplicate records never synchronize or send to leads via MC Connect Use account and contact data or person

account to better facilitate the data orchestration if the Marketing Cloud Connect feature is needed To learn more about data
modeling review the CrossCloud Engagement Data Models solution kit
Commerce Keys
CustomerNo The storefrontassigned customer number that represents the shopper

Schedule an Appointment

Design Considerations

CustomerID The internal Commerce Cloud identifier representing the shoppers customer profile

Contact ID or Person Contact ID Represents the independent Contact or the Contact related to a Person Account

Site ID Represents the storefront related to a given Customer List

Customer List ID Represents a collection of BC Commerce customer profiles

Marketing Cloud
Subscriber Key Contact Key Represents the Marketing Cloud Contact and Subscriber
Commerce Shopper APIs

The Shop API supports Shopper Persona cart activities and product detail pages Shopper APIs are built for highscale and usage

within a storefront and are readonly APIs except for basketrelated and orderrelated fields Commerce Cloud Shopper APIs target
the persona of a storefront shopper

Use a customers session identifiers to inspect their shopping session via Commerce Clouds Open Commerce API OCAPI Obtain

a sessiongrant via OCAPI using these dwsid and dwsecuretoken cookie values

Customer session details are shared with Service to unlock interactions If youre using Scheduler Commerce Storefront Commerce
Cloud enables customers to browse and use the site without logins
Note Rescheduling and cancellation are only available to authenticated users as of Summer Release If using Salesforce

Scheduler within a Commerce Storefront use OCAPI JWT

Performance and Scalability Considerations
When using both Asset Scheduling and Event Management calendar sync doesnt occur for appointments assigned to an assetbased
service resource as theres no underlying user record
Resource absences can be used to block availability for the assetbased service resource For example if the asset was unavailable
due to other factors like required maintenance
You cant set the owner of a service appointment to the underlying user of an assetbased service resource as theres no underlying
When planning to use Salesforce Scheduler and an integration to Event Synchronizing use Einstein Activity Capture to sync contacts
and events between Microsoft or Google applications and Salesforce
It isnt recommended to use Lightning Sync with Outlook Users could incur limitations above requests per hour Starting in
Winter Lightning Sync isnt available to new Salesforce customers

Note high volume use cases up front to best design technical architectures and platform events or API strategies to facilitate high

volume concurrent customer requests Refer to the Salesforce Developer Limits and Allocations Quick Reference for more on limit

Salesforce applies a limit on the number of API calls per hour period The limit is based on the Salesforce edition type and number

of licenses Consider timezone limitations on guest users

Related Content
Review earlier steps in this solution
Understand the Schedule an Appointment Solution Workflow
Recommended Technology