Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2639,8 +2639,7 @@ Enable guest access
+----------------------------------------------------------------+-------------------------------------------------------------------------------+

.. note::
For billing purposes, activated guest accounts do consume a licensed seat, which is returned when the guest account is
deactivated.This means that guest accounts count as a paid user in your Mattermost :doc:`workspace </end-user-guide/end-user-guide-index>`.
Guest billing depends on channel access. Guests in exactly one channel are treated as single-channel guests and don't count toward the primary paid seat count. They're free up to a 1:1 ratio with licensed seats. Guests in multiple channels continue to count as paid active users. Direct messages and group messages don't affect whether a guest is counted as a single-channel guest. See the :doc:`guest accounts </administration-guide/onboard/guest-accounts>` documentation for full details.
Copy link

Copilot AI Apr 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Novice Nate — Friction: Terminology: "paid active users" is introduced here without context, while admins will typically see "activated users" / Total Activated Users in the System Console and billing docs. Consider switching this to "activated users (for billing)" to reduce ambiguity.

Suggested change
Guest billing depends on channel access. Guests in exactly one channel are treated as single-channel guests and don't count toward the primary paid seat count. They're free up to a 1:1 ratio with licensed seats. Guests in multiple channels continue to count as paid active users. Direct messages and group messages don't affect whether a guest is counted as a single-channel guest. See the :doc:`guest accounts </administration-guide/onboard/guest-accounts>` documentation for full details.
Guest billing depends on channel access. Guests in exactly one channel are treated as single-channel guests and don't count toward the primary paid seat count. They're free up to a 1:1 ratio with licensed seats. Guests in multiple channels continue to count as activated users (for billing). Direct messages and group messages don't affect whether a guest is counted as a single-channel guest. See the :doc:`guest accounts </administration-guide/onboard/guest-accounts>` documentation for full details.

Copilot uses AI. Check for mistakes.

.. config:setting:: whitelisted-guest-domains
:displayname: Whitelisted guest domains (Guest Access)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ Site statistics
.. note::

- Bots, deactivated users, and synthetic users in :doc:`Microsoft Teams integrations </end-user-guide/collaborate/collaborate-within-connected-microsoft-teams>` and :doc:`connected workspaces </administration-guide/onboard/connected-workspaces>` users aren't counted towards the total number of activated users.
- For billing purposes, activated guest accounts do consume a licensed seat, which is returned when the guest account is deactivated. This means that guest accounts count as a paid user in your Mattermost :doc:`workspace </end-user-guide/end-user-guide-index>`
- **Single-channel Guests** shows the number of active guest accounts that belong to exactly one channel. Direct messages and group messages don't affect whether a guest is counted as a single-channel guest. Single-channel guests are counted separately from the primary paid seat count and are free up to a 1:1 ratio with licensed seats. When this count exceeds the allowance, the statistic is highlighted as a warning for system admins.
- Guests in multiple channels continue to count as paid active users. See the :doc:`guest accounts </administration-guide/onboard/guest-accounts>` documentation for details.
Copy link

Copilot AI Apr 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Novice Nate — Friction: The phrase "paid active users" isn’t defined here and can be confused with other metrics. Since this section also references "activated users" elsewhere in the docs/UI (e.g., Total Activated Users), consider changing this to "activated users (for billing)" for terminology consistency.

Suggested change
- Guests in multiple channels continue to count as paid active users. See the :doc:`guest accounts </administration-guide/onboard/guest-accounts>` documentation for details.
- Guests in multiple channels continue to count as activated users (for billing). See the :doc:`guest accounts </administration-guide/onboard/guest-accounts>` documentation for details.

Copilot uses AI. Check for mistakes.

----

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ You don't need to wait for your current license key to expire before replacing i

.. tip::

To find the total number of users, go to **System Console > Reporting > Site Statistics**. The total number of users is displayed in the **Total Activated Users** field. The license will be rejected if this value is greater than the value allowed by your license key.
To review license usage before uploading a new key, go to **System Console > Reporting > Site Statistics**. The **Total Activated Users** field shows the primary paid seat count used for license validation. Review **Single-channel Guests** separately because guests in exactly one channel are tracked outside the primary paid seat count, are free up to a 1:1 ratio with licensed seats, and generate warnings instead of hard enforcement when that allowance is exceeded.

Follow these steps to change your license key:

Expand Down
5 changes: 4 additions & 1 deletion source/administration-guide/manage/statistics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,10 @@ Site statistics
System statistics are viewable under **System Console > Reporting**. The data shown here is a cumulative sum across all teams on the system.

Total Users
The total number of active accounts created on your system. Excludes deactivated accounts.
The total number of active accounts created on your system. Excludes deactivated accounts and single-channel guests.

Single-channel Guests
The number of active guest accounts that belong to exactly one channel on the server. Direct messages and group messages don't affect whether a guest is counted as a single-channel guest. Single-channel guests are counted separately from the primary paid seat count and are free up to a 1:1 ratio with licensed seats. When this count exceeds the allowance, the statistic is highlighted as a warning for system admins.

Total Teams
The total number of teams created on your system.
Expand Down
18 changes: 14 additions & 4 deletions source/administration-guide/onboard/guest-accounts.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Guest accounts in Mattermost are a way to collaborate with individuals, such as

- A system admin must :ref:`enable guest access <administration-guide/configure/authentication-configuration-settings:guest access>` before guests can be invited.
- Mattermost Enterprise and Professional customers can :doc:`control who can invite guests </administration-guide/onboard/advanced-permissions>` in their organization. By default, only system admins can invite guests.
- Guest accounts count as a paid user in your Mattermost :doc:`workspace </end-user-guide/end-user-guide-index>`. However, guests aren't automatically added to the default **Town-square** channel when they log in. You must :doc:`invite guests </end-user-guide/collaborate/invite-people>` to individual teams and channels manually. Deactivating a guest account reduces your licensed seat count.
- Guest accounts don't all consume a licensed seat in the same way. Guests in exactly one channel are treated as single-channel guests and don't count toward the primary paid seat count. They're free up to a 1:1 ratio with licensed seats. Guests in multiple channels continue to count as paid active users. Direct messages and group messages don't affect whether a guest is counted as a single-channel guest.
Copy link

Copilot AI Apr 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Novice Nate — Friction: The term "paid active users" is introduced here without being defined, while other pages in this PR consistently use "activated users"/"Total Activated Users" for billing. Consider switching this to "activated users" (or "activated users for billing") to align with the metric name admins see in the System Console.

Suggested change
- Guest accounts don't all consume a licensed seat in the same way. Guests in exactly one channel are treated as single-channel guests and don't count toward the primary paid seat count. They're free up to a 1:1 ratio with licensed seats. Guests in multiple channels continue to count as paid active users. Direct messages and group messages don't affect whether a guest is counted as a single-channel guest.
- Guest accounts don't all consume a licensed seat in the same way. Guests in exactly one channel are treated as single-channel guests and don't count toward the primary paid seat count. They're free up to a 1:1 ratio with licensed seats. Guests in multiple channels continue to count as activated users for billing. Direct messages and group messages don't affect whether a guest is counted as a single-channel guest.

Copilot uses AI. Check for mistakes.
- You'll identify guest users in Mattermost based on their **GUEST** badge next to their name and profile picture. Channels that contain guests also display the message ***This channel has guests** in the channel header.
Copy link

Copilot AI Apr 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Novice Nate — Blocker: The emphasis markup in "Channels that contain guests also display the message *This channel has guests" is unbalanced (3 asterisks opening vs 2 closing), which will render incorrectly in the published docs. Change it to balanced markup (for example, bold the message text consistently).

Suggested change
- You'll identify guest users in Mattermost based on their **GUEST** badge next to their name and profile picture. Channels that contain guests also display the message ***This channel has guests** in the channel header.
- You'll identify guest users in Mattermost based on their **GUEST** badge next to their name and profile picture. Channels that contain guests also display the message **This channel has guests** in the channel header.

Copilot uses AI. Check for mistakes.

Guests account limits
Expand Down Expand Up @@ -115,7 +115,7 @@ System admins can also promote a guest to member by updating their role in **Sys

.. note::

You can filter the list in **System Console > User Management > Users** to view all guests in the system.
You can filter the list in **System Console > User Management > Users** to view **Guests (all)**, **Guests in a single channel**, or **Guests in multiple channels**.

Disable guest accounts
~~~~~~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -147,12 +147,22 @@ Frequently asked questions
How am I charged for guest accounts?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Guests are charged as a user seat.
Guest billing depends on how many channels a guest can access:

- Guests in exactly one channel are treated as single-channel guests. They don't count toward the primary paid seat count and are free up to a 1:1 ratio with your licensed seats.
- Guests in multiple channels continue to count as regular paid active users.
- Direct messages and group messages don't change whether a guest is treated as a single-channel guest.

If your single-channel guest count exceeds the 1:1 allowance, Mattermost shows soft warnings to system admins. Guest creation and guest access aren't blocked.

Why doesn’t Mattermost have single-channel guests?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Comment on lines 158 to 159
Copy link

Copilot AI Apr 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Novice Nate — Friction: The FAQ question "Why doesn’t Mattermost have single-channel guests?" now contradicts the updated answer immediately below ("Mattermost now supports single-channel guests."). Rename the question to match the new reality (for example, "Does Mattermost support single-channel guests?" or "How do single-channel guests work?") so readers don’t think the feature is unavailable.

Suggested change
Why doesn’t Mattermost have single-channel guests?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Does Mattermost support single-channel guests?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Copilot uses AI. Check for mistakes.

We wanted to support collaboration with external guests for the broadest use cases without limiting guests' access to channels. In the future, we may consider adding single-channel guests.
Mattermost now supports single-channel guests.

Guests who belong to exactly one channel are counted separately from your primary paid seat count and are free up to a 1:1 ratio with licensed seats. Guests who belong to multiple channels continue to count as paid active users. Direct messages and group messages don't change whether a guest is treated as a single-channel guest.

If the number of single-channel guests exceeds the 1:1 allowance, Mattermost shows dismissible warning indicators to system admins on the relevant reporting and license pages. Mattermost doesn't block adding guests or starting the server when this limit is exceeded.

Can I set an expiration date for guests?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down
4 changes: 4 additions & 0 deletions source/product-overview/faq-enterprise.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,17 @@ How are Mattermost licenses sold?

Mattermost Enterprise and Mattermost Professional licenses are sold as prepaid annual subscriptions based on the number of annual seat licenses purchased, or “seats”. Each seat license purchased entitles a customer to an “activated user”, which is a user registered on a specific Mattermost server and not deactivated. Administrators can view user status in the System Console and activate and deactivate registered users at any time. Deactivated users have history and preferences saved.

Guests in exactly one channel are tracked separately as single-channel guests and are free up to a 1:1 ratio with licensed seats. Guests in multiple channels continue to count as activated users. Direct messages and group messages don't affect whether a guest is counted as a single-channel guest.

What happens when activated users exceed the number of licensed seats?
-----------------------------------------------------------------------

During the period of the annual license, when the number of activated users exceeds the number of seat licenses purchased, additional seats should be purchased on a quarterly “true forward” basis.

For example, if activated users exceed licensed seats in the first quarter since annual licenses were purchased, then additional seat licenses should be purchased for the remaining three quarters until renewal, with an invoice amount prorated for the annual cost of the license.

Single-channel guests are counted separately from activated users. If the single-channel guest count exceeds the 1:1 allowance, system admins see warnings in reporting and on the **Edition and License** page, but Mattermost doesn't enforce a hard block.

Where can I find more information on subscriptions and billing?
---------------------------------------------------------------

Expand Down
2 changes: 1 addition & 1 deletion source/product-overview/plans.md
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@
<td></td><td><img src="../_static/images/check-circle-green.svg">*</td><td><img src="../_static/images/check-circle-green.svg"></td><td><img src="../_static/images/check-circle-green.svg"></td><td><img src="../_static/images/check-circle-green.svg"></td><td>v9.11+</td>
</tr>
<tr>
<td><strong>Guest accounts</strong>: Bring external users and users who need to have restricted access into your Mattermost instance as <a href="https://docs.mattermost.com/administration-guide/onboard/guest-accounts.html">guests</a> who can interact with your team with <a href="https://docs.mattermost.com/administration-guide/onboard/guest-accounts.html#guests-account-limits">limited permissions</a>. Activated guest accounts consume a <a href="https://docs.mattermost.com/administration-guide/onboard/guest-accounts.html#how-am-i-charged-for-guest-accounts">licensed seat</a> for billing purposes, which is returned when the guest account is deactivated.</td>
<td><strong>Guest accounts</strong>: Bring external users and users who need to have restricted access into your Mattermost instance as <a href="https://docs.mattermost.com/administration-guide/onboard/guest-accounts.html">guests</a> who can interact with your team with <a href="https://docs.mattermost.com/administration-guide/onboard/guest-accounts.html#guests-account-limits">limited permissions</a>. Guests in exactly one channel are treated as single-channel guests and are free up to a 1:1 ratio with licensed seats. Guests in multiple channels continue to count as paid active users. Direct messages and group messages do not affect whether a guest is counted as a single-channel guest.</td>
Copy link

Copilot AI Apr 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Editor Evie — Friction: This row uses hardcoded https://docs.mattermost.com/... links. Elsewhere in the repo, internal docs links in Markdown use site-root relative links (e.g., source/product-overview/release-policy.md:36 uses /administration-guide/...). Update these href values to repo-appropriate internal links so they work correctly across preview builds and avoid environment-specific domains.

Suggested change
<td><strong>Guest accounts</strong>: Bring external users and users who need to have restricted access into your Mattermost instance as <a href="https://docs.mattermost.com/administration-guide/onboard/guest-accounts.html">guests</a> who can interact with your team with <a href="https://docs.mattermost.com/administration-guide/onboard/guest-accounts.html#guests-account-limits">limited permissions</a>. Guests in exactly one channel are treated as single-channel guests and are free up to a 1:1 ratio with licensed seats. Guests in multiple channels continue to count as paid active users. Direct messages and group messages do not affect whether a guest is counted as a single-channel guest.</td>
<td><strong>Guest accounts</strong>: Bring external users and users who need to have restricted access into your Mattermost instance as <a href="/administration-guide/onboard/guest-accounts.html">guests</a> who can interact with your team with <a href="/administration-guide/onboard/guest-accounts.html#guests-account-limits">limited permissions</a>. Guests in exactly one channel are treated as single-channel guests and are free up to a 1:1 ratio with licensed seats. Guests in multiple channels continue to count as paid active users. Direct messages and group messages do not affect whether a guest is counted as a single-channel guest.</td>

Copilot uses AI. Check for mistakes.
<td></td><td><img src="../_static/images/check-circle-green.svg"></td><td><img src="../_static/images/check-circle-green.svg"></td><td><img src="../_static/images/check-circle-green.svg"></td><td><img src="../_static/images/check-circle-green.svg"></td><td>v9.11+</td>
</tr>
<tr>
Expand Down
10 changes: 7 additions & 3 deletions source/product-overview/self-hosted-subscriptions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,16 +38,18 @@ Quarterly true-up reports

When you buy an annual Mattermost subscription, you agree to provide Mattermost with quarterly reports of the actual number of activated users within your system. An activated user is a user who has a Mattermost account and doesn't show as **Deactivated** in **System Console > User Management > Users**.

Single-channel guests are tracked separately from activated users. Guests in exactly one channel are free up to a 1:1 ratio with licensed seats, while guests in multiple channels continue to count as activated users. Direct messages and group messages don't affect whether a guest is counted as a single-channel guest.

We'll send you an email notice around the end of the quarter reminding you to send us your report.

.. image:: ../images/true-up-schedule.png
:alt: The timeframes followed for the true-up notifications.

If you have more total activated users than you purchased in your annual subscription, your Customer Success Manager will provide you with a true-up quote for the new users added. The additional invoice will be pro-rated based on the number of months left in your subscription term, including the months for the calendar quarter for the time you pull the report. Mattermost won't provide downward adjustments. Mattermost will invoice based on Mattermost’s `current list prices <https://mattermost.com/pricing/>`_.

A system admin must take a screenshot of the **System Console > Site Statistics** page and send it to Mattermost in an email.
A system admin must take a screenshot of the **System Console > Reporting > Site Statistics** page and send it to Mattermost in an email.

- Please ensure your screenshot is taken from the top of the page and includes both **Total Activated Users** and the **Monthly Active Users** metrics.
- Please ensure your screenshot is taken from the top of the page and includes **Total Activated Users**, **Single-channel Guests**, and **Monthly Active Users**.
Copy link

Copilot AI Apr 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Editor Evie — Polish: This line has trailing whitespace at the end, which can trigger doc linters and creates noisy diffs. Remove the trailing space after the final period.

Suggested change
- Please ensure your screenshot is taken from the top of the page and includes **Total Activated Users**, **Single-channel Guests**, and **Monthly Active Users**.
- Please ensure your screenshot is taken from the top of the page and includes **Total Activated Users**, **Single-channel Guests**, and **Monthly Active Users**.

Copilot uses AI. Check for mistakes.
- Please include the date of the screenshot in the file name.
- We don't need your server address, so if it appears on your screenshot, you can redact it from the image.

Expand All @@ -73,7 +75,9 @@ What is a true-up report and why is the true-up notice necessary?

A true-up report is our quarterly request for you to provide us with the actual number of activated users within your system to determine if you have more activated users now than when you bought your subscription.

As your organization grows, you may need to add additional users during your subscription period. Mattermost needs to have insight into changes in your activated user count so that we can charge you appropriately for your self-hosted license usage. Additionally, we don’t want to over estimate/charge activated users at your renewal time.
As your organization grows, you may need to add additional users during your subscription period. Mattermost needs to have insight into changes in your activated user count so that we can charge you appropriately for your self-hosted license usage. Additionally, we don’t want to over estimate/charge activated users at your renewal time.
Copy link

Copilot AI Apr 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Editor Evie — Friction: Wording/spacing: "over estimate/charge" should be a single word ("overestimate") to avoid reading as two separate actions and to match standard usage.

Suggested change
As your organization grows, you may need to add additional users during your subscription period. Mattermost needs to have insight into changes in your activated user count so that we can charge you appropriately for your self-hosted license usage. Additionally, we don’t want to over estimate/charge activated users at your renewal time.
As your organization grows, you may need to add additional users during your subscription period. Mattermost needs to have insight into changes in your activated user count so that we can charge you appropriately for your self-hosted license usage. Additionally, we don’t want to overestimate or overcharge activated users at your renewal time.

Copilot uses AI. Check for mistakes.

Single-channel guests are visible separately in reporting and on the **Edition and License** page. They don't count toward the primary paid seat count up to a 1:1 ratio with licensed seats, and exceeding that allowance generates system-admin warnings rather than hard limits.
Copy link

Copilot AI Apr 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Editor Evie — Polish: Hyphenation reads like a compound modifier here ("system-admin warnings") but elsewhere in the docs this role is written as "system admins". Consider changing to "system admin warnings" or rephrasing (e.g., "warnings visible to system admins") for consistency.

Suggested change
Single-channel guests are visible separately in reporting and on the **Edition and License** page. They don't count toward the primary paid seat count up to a 1:1 ratio with licensed seats, and exceeding that allowance generates system-admin warnings rather than hard limits.
Single-channel guests are visible separately in reporting and on the **Edition and License** page. They don't count toward the primary paid seat count up to a 1:1 ratio with licensed seats, and exceeding that allowance generates system admin warnings rather than hard limits.

Copilot uses AI. Check for mistakes.

When you receive the quarterly true-up notice from Mattermost, please share your activated user count with us.

Expand Down
10 changes: 8 additions & 2 deletions source/product-overview/subscription.rst
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,17 @@ In this case, the "physical address" is the location where the individual, who w
How is a user defined for subscriptions?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

For the purpose of billing, a “user” is any account created in Mattermost that does not show as **Deactivated** in **System Console > User Management > Users**. Guests are also defined as users.
For the purpose of billing, an activated user is any account created in Mattermost that does not show as **Deactivated** in **System Console > User Management > Users**.

Guests are billed based on channel access:

- Guests in exactly one channel are treated as single-channel guests. They don't count toward the primary paid seat count and are free up to a 1:1 ratio with licensed seats.
- Guests in multiple channels continue to count as activated users for billing purposes.
- Direct messages and group messages don't affect whether a guest is counted as a single-channel guest.

Bots, deactivated users, and synthetic users in :doc:`Microsoft Teams integrations </end-user-guide/collaborate/collaborate-within-connected-microsoft-teams>` and :doc:`connected workspace </administration-guide/onboard/connected-workspaces>` users aren't counted towards the total number of activated users.

You can review your user count, for billing purposes, by going to **System Console > Site Statistics**, under **Total Activated Users**.
You can review your activated user count in **System Console > Site Statistics** under **Total Activated Users**. Review single-channel guest usage separately under **Single-channel Guests**.
Copy link

Copilot AI Apr 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Editor Evie — Friction: In System Console navigation, the metrics referenced here (including Total Activated Users / Single-channel Guests) appear elsewhere in this PR as being under System Console > Reporting > Site Statistics (e.g., source/product-overview/self-hosted-subscriptions.rst:50). Update this path for consistency and to match the UI location referenced across the docs.

Suggested change
You can review your activated user count in **System Console > Site Statistics** under **Total Activated Users**. Review single-channel guest usage separately under **Single-channel Guests**.
You can review your activated user count in **System Console > Reporting > Site Statistics** under **Total Activated Users**. Review single-channel guest usage separately under **Single-channel Guests**.

Copilot uses AI. Check for mistakes.

Do I need to pay for deactivated users?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down
Loading