---
schema_version: "1"
id: ffdf6a75ebcb893f0477f2b981f91753490d178368151be28e458c4c5dcdc576
title: Schedule an Anonymous Appointment
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/service-cloud/salesforce-scheduler-dev-guide/guides/salesforce-scheduler/usecase2-create-anonymous-appointment.md
canonical_url: https://developer.salesforce.com/docs/service/salesforce-scheduler-dev-guide/guide/usecase2-create-anonymous-appointment.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 4f9f73a43af4270756e24e93b058260dc6a5d04be3e17630af6fa5de9a5e2f44
products:
  - Salesforce Scheduler Developer Guide
  - Service Cloud Developer Content
---

# Schedule an Anonymous Appointment

Build a scheduling application using Salesforce Scheduler APIs to book an anonymous appointment by assigning service resources automatically. Account users and guest users don’t always know the name of the service resource, and sometimes they don’t care which resource they’re assigned to. You can automatically assign a service resource based on the time slot that a user selects. To protect users’ privacy, you can also hide their names on the review appointment page.

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](https://help.salesforce.com/articleView?id=platform.ls_set_up.htm&type=5).

These steps provide a high-level overview of how you can create an app to let users schedule appointments without selecting service resources.

![A representation of the automatic resource assignment and anonymous appointment flow.](https://developer.salesforce.com/media/salesforce-scheduler-dev-guide/flow_create_anonymous_appointment.png)

1.  [Authenticate with a Connected App](https://developer.salesforce.com/docs/service/salesforce-scheduler-dev-guide/guide/uc2-scheduler-api-auth.md)  


    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.

2.  [Get Work Type Groups](https://developer.salesforce.com/docs/service/salesforce-scheduler-dev-guide/guide/uc2-get-work-type-group.md)  


    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.

3.  [Get Engagement Channels](https://developer.salesforce.com/docs/service/salesforce-scheduler-dev-guide/guide/uc2-get-engagement-channel-types.md)  


    An engagement channel is a medium, such as Phone, Video, and In Person that service resources use to meet customers.

4.  [Get Service Territories](https://developer.salesforce.com/docs/service/salesforce-scheduler-dev-guide/guide/uc2-get-service-territory.md)  


    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.

5.  [Get Available Territory Slots](https://developer.salesforce.com/docs/service/salesforce-scheduler-dev-guide/guide/uc2-get-available-territory-slot.md)  


    A time slot represents a period in a day when an appointment can be scheduled. Use the `available-territory-slots` Connect API to fetch the consolidated availability of each service resource within the selected territory.

6.  [Create Service Appointments](https://developer.salesforce.com/docs/service/salesforce-scheduler-dev-guide/guide/uc2-create-anonymous-appointment.md)  


    A service appointment represents an appointment booked through Salesforce Scheduler. Make a POST request on the `service-appointments` Connect API to create the appointment.


