# Rank Promotions

{% embed url="<https://app.guidde.com/share/playbooks/wJ25VP5VoPdCjmsS44zKHr?origin=G25dDmjNZ2b8ccFUz9X7G7W8T1k1>" %}

## What are Promotions?

**Promotion flows** let you easily promote or demote members within your community.

For example, a user with the **Rookie** rank can be promoted to **Member**, or an **Administrator** can be demoted to **Moderator**.

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

## Creating Promotion Flows

<details>

<summary>Flow Information and Ranks</summary>

1. **Access the Promotions Panel**

Open the **Ranks** panel and select the **Promotions** tab at the top left.

In the **Promotions** panel, select **Promotion Flows** to view, add, edit, or remove existing promotion flows.

2. **Configure Promotion Ranks**

Use the **Promote From** and **Promote To** fields to label the flow.\
Exampl&#x65;**:** Promote from **Moderator** to **Admin**.

**Configure Rank Changes**

* In the **Ranks to Add** section, select **Admin**.
* In the **Ranks to Remove** section, select **Moderator**.

When executed, this flow will **add the Admin rank** and **remove the Moderator rank**, effectively promoting the user.

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

</details>

<details>

<summary>Promotion Flow Direction</summary>

**Configure Flow Direction**

By default, promotional flows can be executed in either direction—promotion or demotion. To reduce the risk of misuse, flows can be restricted to a single direction.

Select the toggle at the top to change between

* **Promotion and Demotion**
* **Promote Only**
* **Demote Only**

For example, a “mass demote” flow may be designed to remove all CMS ranks. If that same flow is accidentally run in reverse, it would instead grant every CMS rank to the user, leading to unintended privilege escalation.

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

</details>

<details>

<summary>Flow Actions</summary>

When a promotion flow is ran, you can also run automated actions like a Discord webhook, push notification, and more.

<figure><img src="/files/MhQgZU4Ay0foM3n0QEkB" alt="" width="375"><figcaption></figcaption></figure>

</details>

### Multi-Flow Actions

<details>

<summary>Multi-Flow Actions</summary>

Communities can also define general actions that trigger when any one or more promotional flows are executed. This allows, for example, a single community announcement that summarizes all users included and all promotions applied.

<figure><img src="/files/3yyKeJPgvTk8vOqmGSt0" alt="" width="375"><figcaption></figcaption></figure>

</details>

## Running Promotion Flows

<details>

<summary>Via CMS</summary>

In the **Run Promotions** panel, select the **user(s)**, choose the **promotion flow**, and specify whether to **promote** or **demote**.

Use the **green “+” icon** to add additional rows, allowing you to run multiple promotional flows simultaneously.

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

</details>

<details>

<summary>Via Discord Command</summary>

Communities can [run promotional flows right from a Discord command](https://docs.sonoransoftware.com/bot/tutorials/sonoran-cms-integration/promotion-flows)!

</details>

<details>

<summary>Via Form Stage Action</summary>

Communities can also [create custom forms](/cms/tutorials/forms/creating-custom-forms.md) that will run promotional flows on selected users when the stage is changed.

The form can have an optional **Promotional Flow** and **Member Selector** question for the [stage action](/cms/tutorials/forms/creating-custom-forms.md#form-stages) to use. These form inputs can be used in the custom stage action.

<div><figure><img src="/files/h6XCW7oBPRdHrvq1Qjjn" alt="" width="375"><figcaption></figcaption></figure> <figure><img src="/files/oDCA5KtB6IW8bxV0JX88" alt="" width="281"><figcaption></figcaption></figure></div>

</details>

### Permissions

To allow others to manage Promotion Flows on your behalf, you can assign the following [permissions](/cms/tutorials/user-management/creating-departments.md#assigning-rank-permissions).

* Create/Edit/Remove Promotion Flows
  * **Modify Departments**
* Trigger Promotion Flows
  * **Change Permissions**
* Trigger promotion flows that include ranks above the triggering user’s permission level.
  * **Change Higher Permission**


---

# 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.sonoransoftware.com/cms/tutorials/user-management/rank-promotions.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.
