Invite External Users to Your Rocket.Chat Server

Prev Next

Permission Model Consideration

Federation operates across different permission models. Rocket.Chat uses a role-based permission system, while Matrix relies on power levels to define user capabilities within rooms. Due to the lack of a direct mapping between these models, changes to roles and permissions in Rocket.Chat may not be consistently reflected in federated rooms. This can result in unexpected behavior in certain scenarios, particularly when permissions are dynamically updated. It is recommended to validate permission changes carefully when operating in federated environments.

Once Federation is enabled by a workspace administrator, users with the appropriate permissions can communicate and collaborate with users from other federated servers.

This includes:

  • direct messages

  • group direct messages

  • channels

Federated user address format

To invite a user from another federated server, you must use their full federated user ID as follows:

@username:server.domain

Address components

  • @username: The user’s username on their home server.

  • :: Separator between the username and the server.

  • server.domain: The domain of the remote Rocket.Chat or Matrix server.


Inviting external users

Inviting external users follows the same process for DMs, group DMs, and channels. To invite an external user:

  1. Click Create new and select Direct message or Channel.

  2. Enter the user’s full federated ID: @username:server.domain

  3. Complete room creation as usual.

For channels, simply enable Federated in Advanced settings when needed.

What happens after you send the invitation

Once the invitation is sent:

  • The chat opens immediately on your side.

  • A system message confirms that the conversation was created and the user was invited.

  • You can send messages right away, even before the invitation is accepted.

  • The invited user appears in the room with an invitation status indicator.

The invitation status is visible in the room’s contextual panel, making it easy to track what happens next.

Invitation states and outcomes

When you invite an external user to a federated chat, the invitation progresses through one of the following states. Each state reflects how the remote user and server have responded.

Invitation state

What it means

What you can do

Invited (Pending)

The invitation has been sent to the remote user’s home server, but the user has not yet responded.

You can send messages in the room (they will be delivered once the user joins) or revoke the invitation from the contextual panel.

Accepted

The remote user accepted the invitation and joined the chat.

The conversation becomes an active federated room. Messages, typing indicators, and supported interactions work normally.

Rejected

The remote user declined the invitation. No federated conversation was established.

You remain the only participant and can remove the room if it is no longer needed.

If the invitation is rejected, the chat remains visible to you, but no further interaction is possible unless a new invitation is sent.

Revoke invitation

While an invitation is still pending, you can revoke it from the room’s contextual panel.

Revoking an invitation:

  • Cancels the pending request on the remote server.

  • Removes the invited user from the chat.

  • Leaves you as the sole participant in the conversation.

In federated channels, invitations are handled per user. Revoking or rejecting an invitation affects only that user and does not impact the channel itself or other participants.


Federated features

Read receipts

Read receipts in Matrix are best-effort because they are ephemeral, non-critical events exchanged between independent servers, without guaranteed delivery, retries, or global synchronization.

Federated rooms support cross-domain read receipts, allowing you to see when users from other servers have read your messages.

When enabled, you can:

  • View who has read a message by selecting Read receipts from the message menu.

  • See a list of users (including remote users) along with the time they read the message.

  • Track read positions directly in the conversation timeline.

Read receipts must be enabled by an administrator before they are available in federated rooms. See the Read Receipts guide for more details.

Ban a user from a room

Room owners and moderators can ban users to prevent them from accessing or interacting in a room.

To ban a user:

  1. Open the room where the user is a member.

  2. Click the Members icon in the room header and find the user in the member list.

  3. Click the actions menu (⋮) next to the user.

  4. Select Ban user from room.

  5. Confirm the action.

What happens when a user is banned:

  • The user is immediately removed from the room.

  • The room disappears from the banned user’s room list.

  • The user can no longer send or receive messages in the room.

  • A system message is added to the room indicating the ban (and reason, if provided).

To view and manage banned users in a room:

  1. Open the room and click the actions menu (⋮) in the header.

  2. Select Banned Users.

  3. Find the user in the list.

  4. Click Unban to restore their access.

This list shows all users currently banned from the room, and allows authorized members to unban them when needed.

Important notes

  • Banned users cannot rejoin the room unless they are unbanned.

  • Any attempt to invite a banned user should be blocked.

  • Ban and unban actions are visible in the room for transparency.