# Scheduling Conversations

> **ALPHA**

The Scheduling Conversation API endpoint is designed to support the scheduling of appointments and sessions within the flow of a chat conversation or similar.

A typical flow in chat tool would be as follows.

- User *@grace* initiates session with chat command, eg: `meet @karl next tuesday`

- The chat service [creates a scheduling conversation](/developers/api-alpha/scheduling-conversations/create/index.md) with two participants, *@grace* and *@karl*.

- The chat service then queries the `participant.possible_actions` method for each participant. If the action `slots_select` is available then [available slots](/developers/api-alpha/scheduling-conversations/list-slots/index.md) are offered to that participant.

- The chat service updates the participant record with the chosen slots.

- When the final slot choice has been made, events are created or smart invites are sent to the participants.

- The scheduling conversation is now complete


---
[Read in HTML](/developers/api-alpha/scheduling-conversations/)

## In this section

- [Create Conversation](/developers/api-alpha/scheduling-conversations/create/index.md) — Creates a Scheduling Conversation in an initial state.
- [Read Conversation](/developers/api-alpha/scheduling-conversations/read/index.md) — Retrieve the current state of a scheduling conversation.
- [List Slots](/developers/api-alpha/scheduling-conversations/list-slots/index.md) — This endpoint provides a list of slots available to be offered to participants in the conversation.
- [Select Slots](/developers/api-alpha/scheduling-conversations/select-slots/index.md) — Enables the recording of an individual participant's choice of slots.
- [Push Notifications](/developers/api-alpha/scheduling-conversations/push-notifications/index.md) — A scheduling_conversations object is added to the existing create channel endpoint allow your application to subscribe to scheduling conversation notifications for a particular account.
