TL;DR. Mentions cross the SlackBridge bridge in both directions but lose their interactivity. A Slack @mention arrives in Microsoft Teams as readable text containing the original user ID, and a Teams @mention arrives in Slack as the plain display name of the mentioned person. The recipient sees who was mentioned and can act on it, but the resulting text is not a clickable user link on the destination platform — there is no global user identity that lets one platform link to another platform's user profile.
What's the short version?
Slack and Microsoft Teams each have their own concept of an @mention — and their own internal user IDs to back it. SlackBridge bridges the visible text and the fact that a mention occurred, but cannot turn a Slack mention into a clickable Teams user link (or vice versa) because no shared identity exists between the two platforms.
| Direction | What gets preserved | What's lost |
|---|---|---|
Slack @user → Teams |
The fact that someone was mentioned, plus the Slack user ID as readable text (e.g., @U07ABCDEF) |
The user's display name, the Teams notification, the clickable profile link |
Teams @user → Slack |
The mentioned person's display name as readable text (e.g., John Smith) |
The Slack notification, the clickable Slack user link |
Slack #channel → Teams |
The channel name as readable text (#general) |
The Slack channel link |
| Teams channel link → Slack | The channel name as readable text | The Teams channel link |
@channel, @here, @everyone (special Slack keywords) |
The raw text only | The notification trigger on the destination platform |
If you only remember one thing: a mention crosses the bridge as readable text, not as a clickable user link. The mentioned person on the source platform still gets notified normally; the destination platform sees the message but cannot deliver a notification to that same person.
How does a Slack @mention appear in Microsoft Teams?
When a Slack user types @john in a bridged channel, Slack sends SlackBridge a message event whose body contains the text in encoded form: <@U07ABCDEF>. The U07ABCDEF is the Slack user ID — Slack's internal identifier for that user, unique within the workspace.
SlackBridge's format translator strips the angle brackets and renders the mention as plain text: @U07ABCDEF. That literal text is what arrives in the Teams channel.
| In Slack you typed | What Slack sent SlackBridge | What appears in Teams |
|---|---|---|
@john (a user named John) |
<@U07ABCDEF> |
@U07ABCDEF |
@design-team (a user group) |
<!subteam^S04XYZ123> |
(passes through unchanged as text) |
#general |
<#C03ABCDEF|general> |
#general |
@channel, @here, @everyone |
<!channel>, <!here>, <!everyone> |
(passes through as text) |
The Teams reader sees the message and can read who was mentioned (by ID), but the mention is not a clickable Teams <at>-tagged link. SlackBridge does not attempt to resolve the Slack user ID to a real name, because doing so would require either:
- A Slack
users:infoAPI call for every mention, which adds latency and would not produce a clickable Teams link anyway, or - A pre-built mapping between Slack user IDs and the same person's Microsoft 365 account — and most organizations do not maintain such a mapping.
Bridging the raw user ID preserves the truthful claim ("a Slack user was mentioned") without inventing a correlation that may not exist.
How does a Teams @mention appear in Slack?
Microsoft Teams stores mentions inside the message body as an <at> tag wrapping the user's display name, plus a parallel mentions array on the message envelope:
<at id="0">John Smith</at> asked about the rollout date
When SlackBridge bridges that message into Slack, the HTML body is processed through an HTML stripper that removes all tags. The result is plain text:
John Smith asked about the rollout date
The display name is preserved because it appeared between the opening and closing <at> tags. The Slack reader sees the readable text; what they do not see is a clickable Slack user link, because John Smith does not necessarily have a Slack account in this workspace, and even if he does, no map between his Teams account and his Slack account exists.
This is the same behavior you would get if you copied a Microsoft Teams message and pasted it into Slack manually — the readable name is there, the cross-platform link cannot be.
What about channel mentions like #general?
Channel-name mentions are bridged as readable text on both sides.
Slack → Teams
A Slack #general mention is encoded by Slack as <#C03ABCDEF|general>. SlackBridge converts this to #general (the channel ID is dropped, the channel name is kept). The Teams reader sees the channel name as plain text.
If your Microsoft Teams team happens to have a channel literally named general, the text will not auto-link to it — destination-platform channel links cannot be reconstructed without a per-channel map.
Teams → Slack
A Microsoft Teams channel link in a message body is rendered through standard HTML conversion. After tag-stripping, the channel name remains as plain text in the bridged Slack message.
Why aren't @channel, @here, and @everyone notifications bridged?
Slack's three special-mention keywords trigger notification behavior on the Slack side:
@channel— notifies every member of the Slack channel@here— notifies only currently-active members@everyone— notifies all workspace members (only valid in#general)
These appear in the raw Slack event text as <!channel>, <!here>, and <!everyone>. SlackBridge does not specially translate them — they arrive in Microsoft Teams as raw text that contains the literal symbol. There are two reasons SlackBridge does not attempt to translate them into Teams' equivalent broadcast keywords:
- Permissions. Sending an
@channelor@teammention in a Microsoft Teams channel requires the bot to have permission to do so on behalf of every team member. SlackBridge's bot does not have this — and asking for the permission to issue tenant-wide notifications on a third-party app's behalf is a much heavier permission ask than most customers want. (See What permissions does SlackBridge ask for, and why?.) - Intent fidelity. A Slack admin who pings
@channeltypically means "this Slack channel" — not "everyone in the corresponding Teams channel including people who don't follow the Slack side." Auto-converting between the two would amplify the notification beyond the original sender's intent, which is rarely what they wanted.
Sending across the bridge as readable text preserves the fact of the broadcast in a way that the destination team can see, without firing destination-side notifications that the source-side sender did not request.
Are mentions counted toward usage limits?
No special handling. A bridged message is one message regardless of how many mentions it contains. Reactions to that message are processed as separate events (and on the Pro plan are zero-cost — see the emoji article). If the mention is inside a threaded reply, the threading itself bridges normally — see Do threads and replies bridge? for the parent-resolution algorithm.
Could SlackBridge bridge mentions clickably in the future?
For some customers, yes — but only with extra setup that lives outside the default install. The two routes that would make cross-platform clickable mentions possible are:
- A user-mapping configuration — an admin-supplied map from Slack user IDs to Microsoft 365 email addresses (or AAD object IDs). With this map, SlackBridge could rewrite an outgoing Slack mention into a Teams
<at>-tagged mention of the same person. This requires admin configuration and an opt-in by the Microsoft 365 admin, because it grants SlackBridge the ability to address specific Teams users on behalf of someone else. - SCIM- or directory-synced single sign-on — if an organization uses the same identity provider for both Slack and Microsoft 365 (Okta, Microsoft Entra, Google Workspace) the mapping can be derived automatically. SlackBridge does not implement this today.
Both paths are tracked as candidate enhancements. If your team has a strong use case for clickable cross-platform mentions, let us know — that input directly affects the prioritization.
Frequently asked questions
If I @mention someone in Slack, will they get notified in Microsoft Teams?
No. Cross-platform notifications are not possible. SlackBridge bridges the message text — including the fact that a mention happened — but it cannot deliver a Teams notification on a Slack user's behalf, because the mention's target is a Slack user who has no Teams identity. The original Slack mention still notifies the Slack user normally.
What does a Slack @mention look like when it arrives in Microsoft Teams?
It appears as readable text containing the Slack user ID — for example, @U07ABCDEF asked about the rollout date. Microsoft Teams readers see who was mentioned (by ID) but cannot click through to a user profile because there is no Teams equivalent of that Slack user.
What does a Teams @mention look like when it arrives in Slack?
It appears as the mentioned person's display name as plain text — for example, John Smith asked about the rollout date. The original Teams <at> tag is stripped during HTML conversion, so the destination Slack message contains the readable name but is not a clickable Slack user link.
Does SlackBridge translate @channel, @here, or @everyone keywords?
No. Slack's special-mention keywords (<!channel>, <!here>, <!everyone>) are not specially handled by SlackBridge and arrive in Teams as literal text. They do not trigger Teams @channel-style notifications. The reverse is the same — Teams' channel- and team-wide notification triggers do not propagate as Slack broadcasts.
Can SlackBridge link a Slack user to their Microsoft Teams identity?
Not automatically. Slack and Microsoft Teams have separate identity systems with no built-in mapping between them. SlackBridge does not currently maintain a user-to-user identity map, so it cannot rewrite a Slack <@U07ABCDEF> mention into a Microsoft Teams <at>-tagged mention of the same person.
Are channel-name mentions preserved across the bridge?
Yes, the channel name text is preserved. A Slack <#C123|general> mention arrives in Teams as #general. A Teams channel-link arrives in Slack as the channel's display name. Neither is clickable as a destination-platform channel because the destination platform doesn't have the same channel.
Why can't SlackBridge make cross-platform @mentions clickable?
Two reasons. First, mentions on each platform require the destination platform's internal user ID (Slack's U07ABCDEF format vs Teams' Microsoft Entra object ID), and there is no industry-standard way to correlate them across organizations. Second, sending a clickable mention requires the bot to know the target user has an account on the destination platform, which is not always true. Bridging the readable text — sender name and the fact a mention happened — is the highest-fidelity behavior that does not falsely imply a relationship that may not exist.
Still need help?
If a specific mention pattern is not bridging the way you expect, contact SlackBridge support and include:
- A screenshot of the original message on the source platform (Slack or Teams)
- A screenshot of how it appears on the destination platform
- Whether the mention was an individual user, a channel, or a special-mention keyword like
@channel
We aim to respond within one business day.