Loading

Salesforce Scheduler Appointment Booking Fails for Non-Admin Users at "Select Work Type Group" and Availability Screens

Publiseringsdato: Jul 29, 2026
Beskrivelse

Symptoms differ by user type, but all trace to the same underlying cause:

  • Internal staff (custom "Facilitator" profile/permission set): hard error at the "Select Work Type Group" screen —
    An unexpected error occurred. Try again later.
  • Experience Cloud portal users: blank list —
    The selected service resource doesn't have matching skills for any work type group.
  • After earlier layers are fixed, portal users reach the availability screen and see no timeslots.
  • System Administrator: the identical booking request (same Service Resource, Contact, Account, and engagement channel) works and returns all Work Type Groups.

Because only the running user's access differs across those runs, the failure is in record and field access, not in the Scheduler data or configuration. The root-cause chain, in the order the layers surface:

  1. Read on Engagement Channel Type (object). The booking component filters Work Type Groups by the engagement channel selected on the prior screen. Without object Read on Engagement Channel Type, the channel cannot resolve and the prior screen throws a hard error.
  2. Field-level Read on SkillLevel (and EffectiveEndDate) on Service Resource Skill and Skill Requirement. The screen builds its group list by reading these fields during skill matching. The skill-matching objects (Skill, Service Resource Skill, Skill Requirement, Work Type Group Member) expose no object-level CRUD anywhere in the org; their access is field-level plus inheritance from parent records. A user missing field Read on SkillLevel gets the generic "An unexpected error occurred" because the platform hides the field and the component's read fails.
  3. External record sharing on Work Type Group for portal users — cause of the "no matching skills" message; the skill-match data sits under Work Type Group, so if the group is not visible the match cannot resolve.
  4. Record access to Operating Hours for internal Facilitator users — where the org-wide default is Private and records are admin-owned, the booking screen has no operating hours to read and reports an Operating Hours error.
  5. External record sharing on Service Territory and Operating Hours for portal users — cause of the blank availability screen; the slot engine reads the territory and its operating hours (with their child Service Territory Member and Time Slot records) to compute availability.
  6. Remaining booking/save-step field permissions per the Education Cloud setup matrix (Assigned Resource, Service Appointment, Success Team fields) needed to complete and save the appointment.
Løsning

Reproduce as the actual non-admin user (not as an admin — View All Data masks every gap), then grant the following access to the profiles and permission sets your non-admin booking users run under (both the internal staff set and the portal user set):

  1. Grant object Read on Engagement Channel Type.
  2. Grant field-level Read on Skill Level and Effective End Date on Service Resource Skill and Skill Requirement. (These objects have no object-level Read to grant; field-level access plus parent-record inheritance is the access path.)
  3. Add a sharing rule or sharing set granting your Experience Cloud portal users Read on Work Type Group.
  4. Give internal Facilitator users record access to Operating Hours — either set the org-wide default for Operating Hours to Public Read Only for internal users, or add an owner/criteria-based sharing rule. Child Time Slot records follow their parent.
  5. Add a sharing rule or sharing set granting portal users Read on Service Territory and Operating Hours. Child Service Territory Member and Time Slot records inherit access from their parents.
  6. Apply the remaining booking/save-step field permissions from the Education Cloud "Set Up My Appointments" setup matrix (Assigned Resource: Required Resource; Service Appointment: Address, Appointment Type, Arrival Window Start/End, Contact, Actual Start/End; Success Team: Resource Assignment Type).

Re-test each screen independently as both an internal staff user and a portal user after each change. Confirmed working on both booking paths once all layers are in place. This behavior is tracked by a published Known Issue (see Additional Resources), which lists the complete field-permission and record-sharing prerequisite set as the supported path until the documentation gap is closed.

Flere ressurser
Knowledge-artikkelnummer

005390218

 
Laster
Salesforce Help | Article