# Rotations

A **Rotation** is a reusable definition of who is on-call. You define a rotation once, then pick it from any Collection's Assignment Rules (for example, in [Round Robin Assignment](/clearfeed-help-center/clearfeed-helpdesk/assignment-rules.md#round-robin-assignment)).

There are two types of rotations: **Native** and **Slack Group**.

## Native Rotation

A Native Rotation is made up of one or more **Shifts**. Each shift has:

* **Days of the week** the shift runs
* **Time window**: Start and End time
* **Timezone**
* **Members**: The agents active during that shift

A shift is "active" when the current time falls inside its window. Only members of active shifts are eligible for assignment.

If no shift is active when a request comes in, no member is eligible. Make sure your shifts cover the hours you expect requests to be auto-assigned.

## Slack Group Rotation

A Slack Group Rotation is backed by a Slack user group. The members of the rotation are the current members of that group, and ClearFeed always honors the live membership at the time of assignment.

{% hint style="info" %}
If you need to create a Slack user group first, [follow this guide](https://slack.com/intl/en-in/help/articles/212906697-Create-a-user-group).
{% endhint %}

## Unavailability Statuses

Both types of rotations carry a list of **Unavailability Statuses**: Slack statuses (like *OOO* or *On Holiday*) that mark a member as unavailable. Members with a matching Slack status are skipped, even if they would otherwise be eligible for assignment.

**Default Unavailability Statuses**

If a user's Slack status matches any of these (case-insensitive), ClearFeed skips them:

* Out of Office
* Off Sick
* On Holiday
* DND
* OOO

**Custom Unavailability Statuses**

You can also define your own custom Slack statuses that ClearFeed should treat as unavailable, for example:

* *In a Meeting*
* *Traveling*

## Creating a Rotation

Rotations are managed from the **Rotations** section in the ClearFeed web app. To create one:

1. Open **Rotations** from the side menu, then click **New Rotation**.
2. Choose the rotation type:
   * **Native**: Define your own shifts. For each shift, configure a shift name, days of the week, start and end time (24-hour format), timezone, and the members on-call for the shift.
   * **Slack Group**: Pick the Slack user group that backs the rotation. ClearFeed uses the live membership of that group at the time of assignment.
3. Configure the rotation's **Unavailability Statuses** (see above).
4. Click **Save**.

Once created, the rotation can be picked from the **Round Robin Assignment** dropdown in any Collection's Assignment Rules. The rotation page also shows which collections use the rotation and which members are **On Now**.

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

## Set Custom Unavailability Statuses

Unavailability statuses live on the rotation, so the same list applies to every collection using that rotation.

1. Go to **Rotations** and open the rotation you want to update.
2. In the **Unavailability Statuses** section, add new statuses or remove default ones that don't apply to your team.
3. Click **Save**.

## FAQs

1. **Can the same rotation be used across multiple collections?**\
   **Answer:** Yes. Any collection's Assignment Rules can point at the same rotation. Turn on **Enable Shared Rotation** in the collection's Round Robin setup to share the round-robin order across those collections, so the same person isn't picked back-to-back from different collections.
2. **What happens if a Slack Group and its members change?**\
   **Answer:** For a Slack Group Rotation, if the Slack Group is renamed or its members change, we honor the new group members at the time of assignment.
3. **What happens to my existing Slack-group-based Round Robin setup?**\
   **Answer:** Collections that previously used a Slack group directly are migrated to a Slack Group Rotation with the same members.


---

# Agent Instructions: 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:

```
GET https://docs.clearfeed.ai/clearfeed-help-center/clearfeed-helpdesk/rotations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
