Guide · Team chat
Get your team's 2FA codes in a Slack or Microsoft Teams channel
Shared company accounts (the bank, the ad platform, the marketplace) send their login codes to one phone. Whoever holds it becomes the bottleneck. Here's how to put those codes in a Slack or Teams channel instead. And what to keep in mind first.
By the Cleat team · Updated September 17, 2026
The problem with one phone
Most shared accounts allow only one phone number for text-message codes. Usually it's a founder's or an ops lead's personal mobile. Every login by anyone else starts with a message asking for the code. Nothing works when that person is asleep, on a plane, or gone.
How codes reach a channel
2FA codes reach a Slack or Microsoft Teams channel through an incoming-webhook link: a private URL that turns a request into a channel message. The code has to arrive somewhere first. So the chain is: the service texts a phone number, the number's provider receives the text, and posts it to the channel's link.
Slack
“Creating an incoming webhook gives you a unique URL to which you send a JSON payload with the message text and some options.”
https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooksSlack, on where it posts
“one that's specific to a single user and a single channel”
https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooksMicrosoft Teams
“You can post to a channel or chat when a webhook request is received.”
https://support.microsoft.com/en-us/office/create-incoming-webhooks-with-workflows-for-microsoft-teams-8ae491c7-0394-4861-ba59-055e33f75498
The phone number is the part that decides whether codes arrive at all: many services refuse internet (VoIP) numbers for verification codes. Why line type matters.
Set it up with a Cleat line
- Get a Cleat line and verify your identity as its owner (about two minutes). Texts stay unreadable until the owner has verified.
- In Slack: create a Slack app, turn on incoming webhooks, choose "Add New Webhook to Workspace" and pick the channel (Slack's steps). Copy the webhook URL.
- In Teams: open Workflows, pick a template that posts to a channel when a webhook request is received, choose the team and channel, save, then copy the webhook URL from the workflow's details page (Microsoft's steps).
- In Cleat, open Settings, paste that URL under Webhooks and add it. Cleat recognises Slack and Teams links. Each text posts in the app's own format: the code first, then the message, then who sent it to which line.
- Put the line's number on the shared accounts, one at a time, and trigger a login to see the code land in the channel.
Channel, inbox or email: which to use
| Where codes go | Good for | Keep in mind |
|---|---|---|
| A Slack or Teams channel | A team that already works in the channel | Everyone in the channel sees every code; use a private channel with only the people who need them |
| Cleat's shared inbox | Controlling exactly who sees codes | Only people you invite to the workspace, and you can remove them anytime |
| Email or Telegram, per person | Someone who wants codes on their own phone | Each teammate turns it on for themselves |
| Your own webhook or the API | Automations and scripts | Signed JSON you verify on your side |
Before you post codes to a channel
- Make the channel private and keep its members to the people who log in to those accounts. A code in a channel is as safe as the channel.
- Review the members when someone leaves. Removing them from the channel and from the Cleat workspace ends their access to new codes.
- Prefer an authenticator app or passkey where a service offers one and a single person logs in. Shared text-message codes are for accounts that only offer SMS, or that a team genuinely shares.
Where Cleat fits
Cleat Line is a receive-only real US mobile line. It's $24.99 a month per line, cancel anytime, and teammates are free. Codes reach a shared inbox, email, Telegram, your own tools, or a Slack or Teams channel. A call that reads a code out arrives transcribed. You can't place calls or send texts on it; calls are on Cleat Full. Most services that refuse VoIP accept a mobile line; no provider can promise that all of them do.
- More on sharing codes across a company: Cleat for teams and agencies.
- What's included and what isn't: pricing.
Keep reading
Cleat or Quo (OpenPhone) · Texts to Telegram · Shared 2FA numbers for teams, compared · Is there a Cleat app?
Questions
Do I need a paid Slack or Teams plan?
Cleat doesn't require one. Check Slack's and Microsoft's own terms for what your plan allows with incoming webhooks and Workflows.
Can I send different lines to different channels?
Yes, with a rule. By default every endpoint a workspace adds receives every line's texts. A rule under Rules can say "on this line, webhook, only this endpoint", which sends that line to one channel and leaves the rest alone. A rule can also narrow by sender or by contact, so one service's codes go to their own channel.
Is the code posted anywhere else?
Only where you've set it up: the shared inbox always, plus each teammate's email, Telegram or device notifications if they turned those on, and your webhooks.
Can someone in the channel reply to the code?
They can reply in the channel, but it goes nowhere: Cleat Line only receives.
Sources
Facts about other companies come from their own pages, checked in September 2026.
- Slack developer docs, sending messages using incoming webhooks https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooks
- Microsoft Support, send messages in Teams using incoming webhooks https://support.microsoft.com/en-us/office/create-incoming-webhooks-with-workflows-for-microsoft-teams-8ae491c7-0394-4861-ba59-055e33f75498