Create Appointment Group
create_appointment_groupCreate Canvas Scheduler appointment groups with bookable time slots across one or more courses, set participant visibility and booking limits, and leave it as a draft or publish immediately.
Instructions
Create a new appointment group (Canvas Scheduler sign-up slots) in one or more contexts, e.g. ["course_123"], and return the created group object (id, title, workflow_state, context_codes). New groups start workflow_state "pending" (unpublished, invisible to participants) unless publish=true — once published, Canvas will not let it go back to unpublished, so confirm with get_appointment_group before setting it. participant_visibility defaults to "private"; set it to "protected" so signed-up participants can see each other's sign-ups. Add new_appointments as [start_at, end_at] ISO 8601 pairs to create the bookable time slots up front, or add more later with update_appointment_group. Each call creates another group — there is no dedup against an existing title. Requires permission to manage the Scheduler in every context listed.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Title of the appointment group | |
| publish | No | If true, publish immediately (default: false = draft) | |
| description | No | Optional description | |
| context_codes | Yes | Contexts to associate with this group, e.g. ["course_123"] | |
| location_name | No | Location name | |
| location_address | No | Location address | |
| new_appointments | No | Time slots to create as [start_at, end_at] pairs (ISO 8601 strings) | |
| participant_type | No | Whether individuals (User) or groups (Group) sign up. Default: User | |
| participant_visibility | No | Who can see other sign-ups: "private" (instructors only) or "protected" (all participants) | |
| max_appointments_per_participant | No | Maximum time slots each participant can reserve | |
| min_appointments_per_participant | No | Minimum time slots each participant must reserve |