Anthropic Named The Pattern. I've Run It For $8/mo.

Anthropic just shipped @Claude in Slack and every breakdown is covering the wrong thing. The product isn't the point — the pattern is. If you're a solo operator watching enterprise get a slick agent inside their chat tool while you're stuck alt-tabbing to a browser, here's what the coverage skipped: the same three primitives run on Telegram, WhatsApp, or email for under ten bucks a month.
I've been running this against a Gmail inbox for months. Roughly 200 emails a day get triaged, decisions get made in a Telegram thread, tools fire, work ships. Infra cost: about $8/mo. Let me decompose what Anthropic actually spec'd, then show you the build.
The three primitives, extracted from the Slack demo
Strip the Slack branding off @Claude and you get a channel-agnostic UX spec with exactly three moving parts:
- The thread is the memory. No vector DB. No conversation history table. The thread itself is state. Every reply appends context; the agent scrolls up when it needs to.
- The channel is the scope. The agent doesn't see your whole company. It sees this channel, this thread, this conversation. That's a permissions model disguised as a UX choice.
- The @mention is the trigger. Silent until called. No polling, no proactive nagging, no burnt tokens. You tag, it responds, it shuts up.
That's it. That's the whole product. Anthropic didn't ship a Slack app this week — they published a spec for how agents should live inside the tools you already use. Every small team that copies the pattern into their actual daily channel gets the enterprise UX at a fraction of the enterprise cost.
Why this beats the standalone-chat-UI approach
- No context window rot — the thread is naturally scoped, so you don't stuff 40k tokens of unrelated history into every call.
- No new app to open — the agent lives where your work already happens.
- Built-in audit trail — every decision is a message in a chat you can scroll.
Why Slack is the wrong surface for a five-person shop
Slack is where enterprise buyers live. Slack is not where solo operators live. If you run a two-person agency, a solo consultancy, or a small e-commerce store, you're in WhatsApp with your suppliers, Telegram with your ops person, and email with your clients. You don't have a Slack workspace and you don't want one.
The math is brutal. Slack's paid plans start around $7.25/user/month (see Slack pricing), and that's before you touch AI features, which push a real deployment closer to $15–30 per seat. For five people wanting the agent at the table:
| Setup | Monthly cost (5 users) |
|---|---|
| Slack Business+ with AI add-on | ~$150 |
| Slack Enterprise Grid + AI | $250+ |
| Telegram bot + small VPS + model calls | ~$8 |
The Telegram version isn't a downgrade of the pattern. It's the same three primitives on a surface your team already opens 40 times a day.
The Gmail + Telegram build, in ~80 lines
Here's the actual loop. A Telegram bot receives updates, matches them to a Gmail thread ID stored in the message, calls the model with the thread's history as memory, executes one tool, and posts back.
# handler.py — the whole loop, minus imports and secrets
from telegram.ext import Application, MessageHandler, filters
from anthropic import Anthropic
client = Anthropic()
TOOLS = [
{"name": "draft_reply", "input_schema": {...}},
{"name": "archive", "input_schema": {...}},
{"name": "forward", "input_schema": {...}},
{"name": "schedule_send", "input_schema": {...}},
]
async def on_reply(update, ctx):
msg = update.message
if not msg.reply_to_message:
return # only act inside a thread
# Primitive 1: thread is memory — pull the whole reply chain
history = await fetch_thread(msg.chat_id, msg.message_thread_id)
# Primitive 2: channel is scope — only tools allowed for this chat
allowed = TOOLS_FOR_CHAT[msg.chat_id]
# Primitive 3: mention/reply is trigger — we're here because user replied
resp = client.messages.create(
model="claude-haiku-4-5",
max_tokens=1024,
tools=allowed,
messages=history + [{"role": "user", "content": msg.text}],
)
for block in resp.content:
if block.type == "tool_use":
result = await run_tool(block.name, block.input)
await msg.reply_text(f"✓ {block.name}: {result}")
elif block.type == "text":
await msg.reply_text(block.text)
app = Application.builder().token(TG_TOKEN).build()
app.add_handler(MessageHandler(filters.REPLY, on_reply))
app.run_polling()
That's the whole thing. No LangChain, no vector DB, no orchestration framework. The Telegram Bot API is free. The Gmail API is free within normal quotas. Model calls on a small model for triage-length inputs run pennies per day.
What the $8/mo actually breaks down to
- VPS (1 vCPU, 1 GB RAM, Hetzner or DigitalOcean): $5–6
- Domain for webhook + email routing: $1/mo amortized
- Model calls (~200 triage decisions/day on Haiku-class model, ~500 input / 150 output tokens each): ~$1–2/mo
- Telegram + Gmail APIs: $0
Total: $7–9/mo to run the same three primitives Anthropic just charged enterprise for.
Inbox triage is the right first workflow — here's why
Don't build five workflows. Build one. Inbox triage wins for four concrete reasons:
- It runs constantly. You get feedback on the agent's judgment every day, not once a week.
- Tool calls are simple. Read, draft, archive, label, forward. Five verbs total.
- The failure mode is safe. Worst case, an email sits an hour longer than it should. Nothing gets deleted, nothing gets sent without your reply-in-thread confirmation.
- The volume is real. 100–300 emails/day for a solo operator is normal. That's where 5–10 hours a week actually hides.
The loop I ship for clients looks like this:
- Gmail webhook fires on new inbound.
- Agent classifies:
auto_archive,fyi,needs_decision,urgent. fyiandauto_archivehandled silently — one line posted to a#digestthread at end of day.needs_decisionposts a summary to Telegram with 2–3 suggested actions as buttons.- You tap or reply. Agent executes. Thread carries the outcome for next time.
The system-prompt discipline matters more than the framework. State the four classes, state the tools, state what "urgent" means for your business. That's 200 words of prompt, not a fine-tune.
Pick your thread surface, then ship one tool
The pattern is channel-agnostic but the implementation choice matters. Here's the honest comparison:
| Surface | Setup difficulty | Best for | Gotcha |
|---|---|---|---|
| Telegram | Easiest — 10 min to a working bot | Ops teams, personal use, technical founders | Not where clients live |
| WhatsApp Business API | Hardest — Meta review, template messages | Client-facing, supplier chats | 24-hour messaging window, template approval |
| Email (dedicated address) | Medium — IMAP + reply parsing | Client work where formal record matters | Threading is fragile across clients |
| Discord | Easy — similar to Telegram | Community ops, dev teams | Feels informal for client work |
| Slack | Easy if you already pay | Enterprise buyers | $15–30/seat before the agent adds value |
Rule I give every client: build the thread loop with a single tool call, ship it, then add the second tool next week. The thread itself carries state, so you don't need a state machine on day one. Most people over-engineer this because they've seen too many "agent architecture" diagrams. The diagram is: webhook → model → tool → reply. Ship that. Iterate.
The three mistakes I see every week
- Building a chat UI from scratch. You're rebuilding Telegram for six months. Don't.
- Wiring five tools before one works. You'll never trust the outputs enough to let any of them run.
- Ignoring the scope primitive. Giving the agent access to all inboxes / all channels reintroduces the exact permissions nightmare Slack's per-channel model avoids.
Why bizflowai.io helps with this
This pattern — thread as memory, channel as scope, mention as trigger — is the default architecture we ship for clients at bizflowai.io. Most requests look the same: a solo operator or 3–8 person team already living in Telegram, WhatsApp or email who wants a coworker inside that channel instead of another dashboard to check. We wire the Gmail/CRM/calendar tool calls, tune the classification prompt to their actual inbox, and hand back a system running on a small VPS for roughly the cost of a lunch per month. No seats, no per-user pricing, no separate app to open.
The spec, not the product
Anthropic didn't ship a product this week. They shipped a spec. They're telling every builder in the ecosystem that the winning agent UX is not a chat window in a separate app — it's a coworker you tag inside the tool you already live in.
Companies still building standalone chat UIs for their agents will look outdated within twelve months. The pattern is set. The only question left is which surface you build it on, and whether you pay $150/mo or $8/mo to run it.
Pick your thread tool. Pick one workflow. Wire one tool call. Ship this week.
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 did Anthropic actually release with the Claude Slack integration?
Anthropic released a UX pattern built on three primitives: the thread is the memory (state lives in the conversation itself), the channel is the scope (the agent only sees what's in that channel or thread), and the @mention is the trigger (the agent stays silent until tagged). The Slack integration is just one implementation of this channel-agnostic pattern.
How do I build a Claude-style agent without using Slack?
Pick a thread-based tool your team already uses (Telegram, WhatsApp Business API, or email), choose one high-ROI workflow like inbox triage, and wire exactly one tool call to start. Use the thread itself as memory instead of building a state machine. Telegram's Bot API is the easiest starting point, and infrastructure can run around eight dollars a month on a small VPS.
Why does the thread-as-memory pattern matter for AI agents?
The thread eliminates the need for a vector database or conversation history table because state lives in the conversation itself. Every reply appends context, and the agent scrolls up when it needs more. This simplifies architecture, reduces infrastructure cost, and makes the agent behave like a coworker inside an existing tool rather than a separate chat app users must switch to.
When should I use Telegram or WhatsApp instead of Slack for an AI agent?
Use Telegram, WhatsApp, or email when you're a solopreneur or small team that doesn't already live in Slack. Slack seats start around seven dollars per user per month and rise to fifteen to thirty dollars with the AI tier, meaning a five-person team pays at least a hundred fifty a month. Solo consultants, two-person agencies, and small e-commerce shops typically communicate in WhatsApp, Telegram, or email already.
Why is inbox triage the best first workflow for an agent?
Inbox triage delivers the highest ROI as a first target because it runs constantly and the required tool calls are simple: read, draft, archive, and label. Starting with one workflow and one tool call lets you ship a working thread loop quickly, then add capabilities incrementally, rather than trying to build a full multi-tool agent on day one.