arizuko

arizukoproducts › Slack team agent

Slack team agent

One agent in a Slack channel, with channel-scoped persona and thread context but per-teammate memory, grants, and a full web workspace. Scale it up and it becomes a tree of them: each department shapes its own agent, and the agents hand work along the tree.

what you get

system shape

departments: one workspace, many agents

The single-channel setup generalizes to a whole org without new machinery. Folders nest — acme/eng, acme/sales, acme/support — and each Slack channel routes to its department’s folder. Every department then shapes its own agent: its own persona, its own skills, its own knowledge, edited by the people who own that lane. Eng tunes eng’s agent; sales never notices.

The agents still reach each other — through the tree, not a free-for-all. A department agent that gets a question outside its lane escalates to the parent; the parent can delegate specialist work down to another child. Both hops are permission-checked and depth-capped, and the answer comes back in the chat where the question was asked.

#sales · routed to acme/sales

  dana   @bot can we promise SSO for the Klein deal by Q3?
  bot    Outside my lane — asking up the tree.
         [sales escalates to acme; acme delegates to acme/eng]
  bot    From eng: OIDC lands mid-Q3, SAML is still in review.
         Safe to promise OIDC-based SSO; caveat SAML.

People move as freely as the work does: type @eng in any chat and it now talks to the eng agent; type @sales and you’re back. Same thread surface, different specialist. Isolation stays structural throughout — each department’s files, memory, and secrets live in its own folder, and a compromised or misbehaving agent in one folder reaches nothing in another.

example: shared thread, user-scoped state

#eng-support · thread

  alice  @bot summarize the fix from the cold-start runbook for this thread
  bot    Bundle growth after deploy is coming from broad SDK imports.
         Recommended: switch back to per-service imports.
         source: /docs/runbooks/lambda-cold-start.md:67

  bob    @bot save that conclusion to my notes
  bot    Wrote notes/lambda-cold-start.md in your user area.

  alice  @bot remember: prefer per-service imports for any new lambda
  bot    Saved to your memory.

Same thread, same channel CLAUDE.md, different resolved user state. The answer is visible to the team; Bob’s write lands in Bob’s user area; Alice’s preference lands in her memory file. Shared deliberation, user-scoped state. None of Bob’s notes are visible to Alice; none of either user’s memory leaks into the channel’s shared context.

how teammates use it

use cases

support and analysis agent

A support agent answers questions from a knowledge base, cites sources, and escalates when it doesn't know. Useful for internal help desks, customer-facing support channels, or documentation Q&A.

#eng-support

  user   How do I reset my API key?
  bot    To reset your API key:
         1. Go to Settings → API Keys
         2. Click "Regenerate" next to the key you want to reset
         3. Copy the new key immediately — it won't be shown again
         source: docs/api-keys.md:45

  user   What about enterprise SSO setup?
  bot    I don't have documentation on enterprise SSO in my knowledge base.
         I've flagged this for the team. Someone will follow up.

trading and market analysis agent

A collaborative research agent that ingests news, tracks market data, and synthesizes analysis. Works best when multiple teammates contribute observations and the agent aggregates them.

#market-watch

  alice  https://example.com/article-about-earnings
  bot    Summarized: Q2 earnings beat estimates by 12%. Key drivers:
         cloud revenue +34% YoY, hardware flat. Guidance raised for Q3.
         Logged to research diary.

  bob    I noticed unusual options activity on XYZ today
  bot    Noted. Adding to today's observations. You've logged 3 observations
         this week on XYZ — want me to compile a summary?

  alice  Yes, give us the weekly synthesis
  bot    Weekly synthesis for XYZ:
         - Monday: Earnings beat, guidance raised (source: earnings article)
         - Wednesday: Insider filing showed CEO sold 10k shares
         - Today: Unusual options activity (Bob's observation)
         Pattern: Mixed signals. Fundamentals strong but insider selling
         and options activity suggest caution.

general team assistant

The default configuration: Q&A, summarization, file processing, and task tracking for a team channel.

data & trust

same shape on Discord

Most of this maps to Discord 1:1 — guild channels behave like Slack channels (room JID, per-channel CLAUDE.md, per-user memory), threads behave like Slack threads. Three deltas worth flagging:

Run the same product over both: install both adapters, route each channel to the same folder, agent doesn't care.

setup

arizuko create acme --product slack-team
cd /srv/data/arizuko_acme
$EDITOR .env             # SLACK_BOT_TOKEN, SLACK_SIGNING_SECRET, ANTHROPIC_API_KEY
arizuko run acme

# in Slack:
#   create the Slack App, set bot token + signing secret in .env
#   subscribe events to https://<your-host>/slack/events
#   invite the bot to a channel; teammates sign in via OAuth at /auth/login
#   linked identities resolve to the same user record; per-user state goes live

Full step-by-step is in the operator setup guide; the Slack adapter how-to covers Slack-specific quirks. Per-channel CLAUDE.md override lives in the channel folder; edit via WebDAV or directly on the server.

go deeper