> ## Documentation Index
> Fetch the complete documentation index at: https://docs.deandesk.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Rosters

> Group students into rosters, track custom roster metadata, and distribute students into rosters with a drag-and-drop canvas.

<Info>
  **School-level feature** — managed within your school portal at `yourschool.deandesk.com`.
</Info>

A **roster** is a named group of students that you can use across DeanDesk — for sending targeted emails, organizing camp groups, building activity squads, tracking small groups, or any other use case where you need to refer to "this specific set of students" repeatedly. A roster can also carry a list of **courses** and a list of **tuition products** so that adding a student to the roster automatically enrolls them in the right courses or surfaces in product reports.

Open **Admin Dashboard → Rosters** to manage your school's rosters.

## Creating a roster

<Steps>
  <Step title="Open Rosters">
    Go to **Admin Dashboard → Rosters** and click **New Roster**.
  </Step>

  <Step title="Name and describe">
    Give the roster a name (e.g. "5th Grade Camp Group A", "Drama Club", "Bus Route 4") and an optional description.
  </Step>

  <Step title="Fill in custom metadata">
    If your school has configured custom roster metadata fields, fill them in. See **Roster metadata** below.
  </Step>

  <Step title="Add students">
    Add students manually or use the [Roster Distribution canvas](#roster-distribution-canvas) for bulk assignment.
  </Step>

  <Step title="Save">
    Save the roster. It's now available across DeanDesk wherever you can target a roster (email composer, announcements, reports).
  </Step>
</Steps>

## Roster metadata

Custom metadata fields let you attach school-specific information to each roster — things like meeting time, instructor, room number, or season.

### Configuring the schema

<Steps>
  <Step title="Open the metadata schema">
    Go to **Admin Dashboard → Rosters → Metadata Schema**.
  </Step>

  <Step title="Add a field">
    For each field, set:

    | Setting         | What it controls                                      |
    | --------------- | ----------------------------------------------------- |
    | **Field name**  | Internal key for the field                            |
    | **Label**       | Display name shown to admins                          |
    | **Type**        | Text, textarea, person (single), or people (multiple) |
    | **Description** | Helper text shown to admins                           |
    | **Required**    | Whether the field must be filled in                   |
    | **Order**       | Position of the field on the roster form              |
  </Step>

  <Step title="Save">
    Save. The fields appear on the roster create/edit form immediately.
  </Step>
</Steps>

### Person and people fields

The **person** and **people** field types let you reference specific users (e.g. an instructor or co-leaders) directly on the roster, with a search picker that pulls from your school's users.

## Roster Distribution canvas

For bulk assignment of students into multiple rosters at once, use the **Roster Distribution** canvas — a drag-and-drop workspace.

<Steps>
  <Step title="Open Roster Distribution">
    Go to **Admin Dashboard → Rosters → Distribute**.
  </Step>

  <Step title="Step 1 — Pick rosters">
    Select the rosters you want to distribute students into. Each becomes a "bucket" on the canvas.
  </Step>

  <Step title="Step 2 — Pick students">
    Select the pool of students to distribute. Students appear as draggable tiles.
  </Step>

  <Step title="Step 3 — Open the canvas">
    The canvas opens with rosters as buckets and students as tiles. Drag tiles into buckets to add, drag them out to remove. Use search, zoom, and fullscreen to navigate large distributions.
  </Step>

  <Step title="Save">
    Apply changes. DeanDesk processes all the additions and removals in bulk.
  </Step>
</Steps>

<Tip>
  Roster Distribution is paired with [Course Distribution](/setup/users#course-distribution-canvas), which uses the same drag-and-drop pattern for course enrollments. Both are big time-savers at the start of a term or season.
</Tip>

## Spreadsheet view

For roster-by-roster bulk edits (e.g. fixing typos or updating metadata across many rosters), open the **Roster Spreadsheet** view. It loads all rosters into a grid editor where you can edit cells inline and submit only changed rows.

## Linking rosters to courses

Each roster can have one or more **linked courses**. When you add a student to a roster that has linked courses, DeanDesk automatically creates an active enrollment for that student in every linked course. Likewise, adding a new course to a roster enrolls every current member of the roster in that course.

<Steps>
  <Step title="Open the roster">
    From **Admin Dashboard → Rosters**, open the roster you want to link courses to.
  </Step>

  <Step title="Add courses">
    In the **Courses** multi-select, pick the courses you want to link.
  </Step>

  <Step title="Save">
    Save. Enrollments are created in bulk. DeanDesk shows a summary with counts of enrollments **created**, **reactivated** (re-enabled archived ones), **unchanged**, and **failed**.
  </Step>
</Steps>

<Note>
  Course enrollment sync only fires when you **add** students or courses to a roster. Removing a student from a roster does **not** automatically unenroll them from the linked courses — you'll need to manage that separately if you want them removed.
</Note>

## Linking rosters to tuition products

Tuition products in **Finance → Products** can be associated with rosters from the product detail page. This lets the [Roster Distribution canvas](#roster-distribution-canvas) highlight which students in your pool are already enrolled in a specific tuition product — useful for distributing only newly-paid students into camp groups or class sections.

When you open the distribution canvas with a tuition product filter, each student card shows a **Tuition** label of *Enrolled* or *Not enrolled*, and you can sort by tuition enrollment to surface the relevant students at the top.

See [Products → Associated rosters](/finance/products#linking-rosters) for how to set up the link on the product side.

## Where rosters appear

Once a roster exists, you can target it from:

| Surface              | What it does                                                                  |
| -------------------- | ----------------------------------------------------------------------------- |
| **Email composer**   | Send an email to every member of the roster                                   |
| **Announcements**    | Post a course-style announcement targeted at a roster                         |
| **Reports**          | Filter student reports by roster membership                                   |
| **Admin AI**         | Reference a roster by name when asking for emails or summaries                |
| **Courses**          | Auto-enroll roster members in linked courses                                  |
| **Tuition products** | Surface roster members in tuition-product reports and the distribution canvas |
