> For the complete documentation index, see [llms.txt](https://docs.sonoransoftware.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sonoransoftware.com/cms/tutorials/rosters/creating-custom-rosters.md).

# Creating Rosters

## Accessing the Roster Editor

Rosters can be configured in the **Admin** panel > **Rosters**

<figure><img src="/files/IwPEaUD1cWSkVbtKj48e" alt=""><figcaption></figcaption></figure>

Hover over a roster to **View** or **Edit**, or use the **Add Roster** button to create a new one.

## Creating Rosters

### Roster Types

There are three types of rosters to choose from:

* **Selected Ranks**: This allows you to select specific CMS ranks. Anyone with these ranks will automatically appear on the roster.
* **Manual**: This allows you to manually add each member and row to the roster.

### Roster Columns

Drag-and-drop columns to add them to your custom roster.

<details>

<summary>General Columns</summary>

The **General** columns include text, textarea, select, checkbox, date, and time.

</details>

<details>

<summary>Member Columns</summary>

The **Member Data** columns include automatic fields for the user like their ID, name, rank, primary identifier, and current disciplinary points.

</details>

<details>

<summary>Time Columns</summary>

The **Time** columns include automatic fields like time log hours, activity tracker hours, and last active date.

**Activity Tracker Hours**

* This column shows the current amount of in-game time for the selected date range. These hours are automatically calculated whenever a user joins and leaves your game server.
  * For [ER:LC](/cms/integration-capabilities/er-lc-game-panel.md) communities, you can also select the specific team(s) to show.
  * [FiveM](/cms/integration-capabilities/fivem-game-panel.md) communities are also automated.
  * Our [API](/cms/developer-api-documentation/api-integration/api-endpoints-v2/servers/activity-tracker-server-start.md) can be used for custom games that don't currently have a management panel.

**Time Log Hours**

* This column shows the current amount of player time from the clock in/out system. It must be pointed to a form type with the time clock section added.

</details>

<details>

<summary>Social Columns</summary>

The **Social** columns include automatic fields for Discord ID/username/nickname, TeamSpeak ID, and Roblox ID/Username.

</details>

## Roster Customization

<details>

<summary>Column Styles</summary>

Select a column to open the editor. Here, you can customize the alignment, text color, cell color, and more.

</details>

<details>

<summary>Actions</summary>

Roster columns can have additional conditional options to set the values and styles. Select a column to open the editor and select the **Actions** tab. The flowchart can be expanded to add IF/THEN conditions to set the value(s) and style(s).

Ex: This flowchart sets the **Status** column to **Active** if their in-game hours (via activity tracker column) is greater than 1.5 hours. If not, it will set the status column to **In-Active** or **Exempt** based on them having a specific rank or not.

<figure><img src="/files/d0JJzfjQ9PZeWIjcRy3n" alt=""><figcaption></figcaption></figure>

</details>

## Roster Permissions

<details>

<summary>Column Permissions</summary>

Columns can also be set to only be visible based on a user's ranks. Select a column to open the editor and use the **Permissions** tab. On the **Allowed Ranks to View** button, select the custom CMS ranks that are allowed to view the column.

</details>

<details>

<summary>Roster Permissions</summary>

The [rank manager](/cms/tutorials/user-management/creating-departments.md) allows communities to configure who can view, edit, download, and other roster options.

<figure><img src="/files/s0ljxSC5QZZanbeWG4YH" alt="" width="563"><figcaption><p>Sonoran CMS - Rank Editor - Roster Permissions</p></figcaption></figure>

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.sonoransoftware.com/cms/tutorials/rosters/creating-custom-rosters.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
