Skip to content
cleat.

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.

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

  1. Get a Cleat line and verify your identity as its owner (about two minutes). Texts stay unreadable until the owner has verified.
  2. 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.
  3. 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).
  4. 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.
  5. 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 goGood forKeep in mind
A Slack or Teams channelA team that already works in the channelEveryone in the channel sees every code; use a private channel with only the people who need them
Cleat's shared inboxControlling exactly who sees codesOnly people you invite to the workspace, and you can remove them anytime
Email or Telegram, per personSomeone who wants codes on their own phoneEach teammate turns it on for themselves
Your own webhook or the APIAutomations and scriptsSigned JSON you verify on your side
You can use several at once. Slack and Microsoft steps quoted from their own documentation in September 2026; see Sources.

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.

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.

  1. Slack developer docs, sending messages using incoming webhooks https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooks
  2. 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

Codes in the channel, not on one phone.

$24.99/month per line, cancel anytime. Teammates free.

  • Every owner ID-verified
  • Texts private to your team
  • Cancel anytime