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

Abstract tech illustration: 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:

  1. Inbound webhook from the messenger (bot mention triggers HTTP POST to your server).
  2. Context store — last N messages in the thread + relevant business data (Gmail thread, CRM record, spreadsheet row).
  3. LLM call with tools — one HTTP request to Anthropic, OpenAI, or whichever model you use.
  4. 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_task function 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.