From Chris Albanese: Enhancing the Share Availability Feature with Appointment Invitation configurations
The Summer ’22 release of Salesforce Scheduler introduces an amazing new feature called Share Service Resource Availability by Using an Invitation URL. This feature allows a service resource to easily generate a URL that their customers and prospects can use to schedule appointments with them.
Above: Help and Training Article describing the new feature
At the heart of this feature is a new object called Appointment Invitation. When a service resource generates their URL, a record is created in this object.
Appointment Invitation schema depicted below (partial)
Like most objects in Salesforce, you can add custom fields to this object.
Why would you do this?
This allows the service resource to personalize the invitation, meaning you could do something as simple as displaying information to the customer while they are scheduling an appointment from this invitation.
Additionally, you can perform more complex processes such as writing the information to the service appointment that is created.
Example Configuration – Basic
Let’s look at a simple example.
We are going to allow the Service Resource to enter a friendly message that they want the customer to see when the run the scheduling flow.
Add a new field to the Appointment Invitation object. In my example, I added a text field called additional info.
Grant field level security to the service resources that will use this and the community/guest community profiles that will be viewing this information.
Modify the Generate Appointment Invitation flow to prompt the service resource for the additional information and then save that to the Appointment Invitation object, as depicted in the screens below.
Seeing the Results
Here we see our Service Resource entering a message while running the flow to create the invitation URL.
Displaying the additional information message to the Service Resource on the confirmation screen.
Here we see the customer running the flow. They received an email with the URL (not depicted), clicked on it and landed here, with the additional information message displayed to the user.
Example Configuration – just a smidge more configured than the basic example above
What if we wanted our Service Resource to select a related Marketing Campaign and then send an invite. All service appointments created from that invite should be linked to that campaign.
Data Model, Security and Sharing Changes
- Add a lookup relationship field on Appointment Invitation to the Campaign object
- Add a lookup relationship field on Service Appointment to the Campaign object
- Grant field level security on these fields to community/guest community users
- Create sharing rule on Campaign object to share campaign data with community/guest community users
Data model changes depicted below
Generate Invitation Flow
- Add a Campaign picklist and related Record Choice Set
- Save the selected Campaign to the Appointment Invitation Object
Generation Invitation changes depicted below
Book Appointment from Invitation Flow
- Add an Update Record Step after the Save Appointment step to save the Campaign Id to the Service Appointment
- For guest users, make sure you run this flow in the System Context without Sharing – Access All Data
Book Appointment from Invitation changes depicted below
Running the Flow
Service Resource running the Generate Appointment Invite flow and selecting a Campaign
Their experience has no change. But when the schedule an appointment, the service appointment stores the campaign id.
Service Resource reviewing Service Appointment. Note Campaign is associated with the service appointment.