Anthropic Built @Claude For 65M Seats. Ignored 2B.

Anthropic shipped @Claude inside Slack last week. Tag it in a channel, it reads the thread, works async, replies in-thread with state persisted across sessions. The pattern is correct. The distribution channel excludes most of the planet's small businesses, and the whole thing rebuilds in a weekend on the messenger your team already uses.
What Anthropic actually shipped
The @Claude in Slack integration is a channel-native agent gated behind Slack Business+ or Enterprise Grid plus a Claude seat. You tag it, it inherits thread context, kicks off async work (minutes to days), and posts a structured reply back into the same thread with state that survives across sessions.
From a UX standpoint this is the right pattern. No new dashboard. No copy-paste of context into a separate chat window. No extra seat for team members to log into. The agent lives where the conversation already is. That's the product insight, and it's the correct one.
The problem is the distribution:
- Slack: ~65M daily active users, overwhelmingly US, overwhelmingly mid-market and enterprise tech.
- WhatsApp: 2B+ users, default business messenger across Latin America, most of Europe, the Middle East, India, Southeast Asia.
- Telegram: ~950M monthly active users, dominant across Eastern Europe and large parts of Asia.
If you run a 10-person SMB and your team coordinates in WhatsApp groups, this launch shipped you a blueprint, not a product.
The real cost of the Slack path
For a US-based 10-person team, the Slack side alone is not trivial. Slack Business+ runs about $15/user/month billed annually. That's $150/month before Anthropic even sends an invoice.
| Component | 10-seat monthly cost |
|---|---|
| Slack Business+ (10 seats) | ~$150 |
| Claude seat(s) for agent access | Additional per-seat |
| Setup / admin overhead | Ongoing |
| Total floor | $150+ before Anthropic |
For most SMBs I work with, $150/month is the entire software budget. Not the messaging budget — the entire stack.
Compare that to the rebuild target: a $6/month VPS, WhatsApp Cloud API or Telegram Bot API (free at low volume), and Anthropic API usage billed per token. A few hundred tagged requests a month lands under $10 all-in.
The four-part architecture (this is the whole thing)
The tag-an-agent pattern is not a proprietary Slack feature. It's four moving parts:
- Inbound webhook from the messenger (bot mention triggers HTTP POST to your server).
- Context store — last N messages in the thread + relevant business data (Gmail thread, CRM record, spreadsheet row).
- LLM call with tools — one HTTP request to Anthropic, OpenAI, or whichever model you use.
- Outbound reply back into the same thread, in-place.
Telegram gives you inbound + outbound for free via the Bot API. WhatsApp gives you the same through Meta's Cloud API, free at low volume (first 1,000 service conversations per month are free for business-initiated messages; user-initiated is more permissive). The context store is a SQLite file. The LLM call is one request.
Here's a minimal Telegram handler that mirrors the @Claude pattern:
import sqlite3, os, requests
from fastapi import FastAPI, Request
from anthropic import Anthropic
app = FastAPI()
tg_token = os.environ["TELEGRAM_BOT_TOKEN"]
claude = Anthropic()
db = sqlite3.connect("threads.db", check_same_thread=False)
db.execute("CREATE TABLE IF NOT EXISTS msgs (chat_id INT, thread_id INT, role TEXT, text TEXT, ts INT)")
BOT_USERNAME = "@your_bot"
@app.post("/webhook")
async def webhook(req: Request):
upd = await req.json()
msg = upd.get("message", {})
text = msg.get("text", "")
chat_id = msg["chat"]["id"]
thread_id = msg.get("message_thread_id", 0)
# persist every message for context
db.execute("INSERT INTO msgs VALUES (?, ?, 'user', ?, ?)",
(chat_id, thread_id, text, msg["date"]))
db.commit()
if BOT_USERNAME not in text:
return {"ok": True}
# pull last 20 messages from this thread
rows = db.execute(
"SELECT role, text FROM msgs WHERE chat_id=? AND thread_id=? ORDER BY ts DESC LIMIT 20",
(chat_id, thread_id)
).fetchall()
context = "\n".join(f"{r}: {t}" for r, t in reversed(rows))
reply = claude.messages.create(
model="claude-sonnet-4-5",
max_tokens=1024,
messages=[{"role": "user", "content":
f"Thread context:\n{context}\n\nRespond to the tagged request."}]
).content[0].text
requests.post(f"https://api.telegram.org/bot{tg_token}/sendMessage",
json={"chat_id": chat_id, "message_thread_id": thread_id, "text": reply,
"reply_to_message_id": msg["message_id"]})
db.execute("INSERT INTO msgs VALUES (?, ?, 'assistant', ?, ?)",
(chat_id, thread_id, reply, msg["date"]))
db.commit()
return {"ok": True}
That's about 40 lines. Deploy behind an Nginx reverse proxy with a Let's Encrypt cert, register the webhook with Telegram once, done. WhatsApp is the same shape — different webhook payload, different send endpoint, same four parts.
What you actually add on top
- Tool use: give the model an
search_gmail,lookup_crm_contact,update_taskfunction set via Anthropic's tool_use API. - Async work: instead of replying inline, push long jobs onto a queue (Redis + rq, or Cloudflare Queues), reply "on it, back in ~10 min", and post the result when done.
- State: SQLite is fine to a few hundred thousand rows. Move to Postgres when you outgrow it.
Where the geography actually breaks
The launch coverage framed @Claude in Slack as a step forward for AI in the workplace. It's a well-executed feature for one specific slice of the market — US-heavy mid-market and enterprise tech — dressed as a universal shift.
Real distribution of business messaging:
- Latin America (Brazil, Mexico, Colombia): WhatsApp is the default. Client conversations, supplier orders, internal team chats all happen there.
- Southern + Eastern Europe: WhatsApp for client-facing, Telegram for internal team ops and technical teams.
- India + Southeast Asia: WhatsApp for SMB operations, Telegram for larger community and ops.
- Middle East: WhatsApp dominant, Telegram strong in specific verticals.
For a business in any of these regions, the "tag an agent in the app your team lives in" pattern only exists if you build it. Waiting for Anthropic to ship @Claude on WhatsApp is not a strategy — Meta owns that surface, and any first-party integration will land on Meta's timeline, not Anthropic's.
Slack vs. rebuild: honest comparison
| Factor | @Claude in Slack | DIY on Telegram/WhatsApp |
|---|---|---|
| Setup time | Minutes (if already on Slack Business+) | ~1 week of engineering |
| Monthly cost (10 users) | $150+ Slack + Claude seats | $6 VPS + ~$10 API usage |
| Async work | Built-in, hours-to-days | You build the queue |
| Tool use | Native Slack connectors | You wire each integration |
| Data control | Anthropic + Slack processors | Your server, your DB |
| Works where your team is | If team is on Slack | If team is on WhatsApp/Telegram/Viber |
| Vendor lock-in | High | None |
The DIY path costs a week of engineering upfront. After that, it's roughly $16/month all-in for a small team's usage. The Slack path saves the week but locks you into $1,800+/year in seat fees before any API cost, and only works if your team is actually in Slack.
For a US SaaS company already on Slack Business+, the built-in version is the right call. For anyone else, the math is not close.
Why bizflowai.io helps with this
The tag-an-agent-in-your-messenger pattern is one of the workflows I ship most often for clients — a Telegram or WhatsApp bot that reads thread context, pulls the relevant Gmail thread or CRM record, drafts a reply, and persists task state across days so tomorrow's "what's the status" question just works. Runs on a $6/month VPS, handles a few hundred tagged requests a month, integrates with the two or three data sources the business actually uses. If your team lives on WhatsApp, Telegram or Viber and you've been watching Slack-only launches wondering when your turn comes, that's the gap this fills.
The takeaway
Anthropic validated the pattern. That's the real value of this launch for everyone outside the Slack bubble — you now have a reference UX that works, shipped by a serious team, that you can rebuild on your own infrastructure in a week.
Pick the messenger your team already uses. Wire the webhook. Pick two or three data sources you need context from — usually email, one spreadsheet, one CRM. Store thread state in SQLite. Route the message plus context to Claude via one HTTP call. Post the reply back into the same thread.
That's the whole build. A weekend of engineering, $16/month to run, no vendor gating your access to your own team's conversations.
Want more like this?
I publish practical AI automation, GenAI engineering, and faceless content workflows on YouTube every week.
Subscribe to bizflowai.io on YouTube — never miss a new tutorial.
Planning an AI automation project or need a second opinion on your architecture?
Connect with me on LinkedIn — Lazar Milicevic, GenAI Engineer & bizflowai.io Founder.
Visit bizflowai.io for our services, case studies, and AI consulting.
Frequently asked questions
What is the @Claude in Slack integration?
Anthropic's @Claude in Slack lets users on Slack Team and Enterprise plans tag Claude in any channel. It reads the thread, pulls channel context, runs async work that can take hours or days, and returns a structured reply in the same thread. It remembers state across sessions and uses connected tools, keeping work inside the messenger the team already uses.
How much does @Claude in Slack cost for a small team?
The feature requires a Slack Team or Enterprise plan plus a Claude seat. For a ten-person team, Slack seats alone run roughly $150 per month before adding Anthropic's pricing on top. For many small businesses, that combined cost equals their entire monthly software budget, making the official integration impractical outside US mid-market and enterprise buyers.
How do I build a tag-an-agent bot in WhatsApp or Telegram?
Replicate the pattern with four parts: an inbound webhook from the messenger, a context store (SQLite holding recent messages plus business data like Gmail, CRM, or spreadsheets), an LLM call with tools, and an outbound reply to the same thread. Telegram and WhatsApp Cloud API provide webhooks free at low volume. A working version can run on a $6/month VPS and be built in a week.
Why does @Claude in Slack matter less outside the US?
Slack has about 65 million daily users concentrated in US mid-market and enterprise tech. WhatsApp has over 2 billion users and dominates business messaging across Latin America, Europe, the Middle East, India, and Southeast Asia. Telegram has around 950 million monthly users and leads in Eastern Europe and parts of Asia. Teams in Serbia, Brazil, Mexico, or the Philippines run business on those platforms, not Slack.
When should I build my own agent instead of using @Claude in Slack?
Build your own when your team lives on WhatsApp, Telegram, or Viber rather than Slack, or when Slack Team/Enterprise seats plus a Claude seat exceed your software budget. The tag-an-agent architecture is not proprietary. If you need context from email, a spreadsheet, or a CRM and handle a few hundred requests monthly, a custom bot runs for a few dollars a month versus roughly $150-plus for Slack seats.