What is it?
What it is
OpenTag is an open-source Slack AI agent that enables self-hosted deployment, allowing users to run custom models and tools within Slack conversations with rich UI elements and human-in-the-loop workflows.
Why it exists
To provide a self-hosted, open-source alternative to proprietary AI agents (like Claude) in Slack, offering control over runtime, models, and tools without per-seat pricing or vendor lock-in.
Who should use it
Teams building with TypeScript who want an open-source, self-hosted option.
Who should avoid it
Teams that need a fully managed SaaS with enterprise SLAs out of the box.
How it works
A quick walkthrough in plain English
How OpenTag works
Step 1 of 3
You interact with it
Open OpenTag, send a request, or connect it to your stack.
Features
Advantages
- Open source (MIT)
- Active TypeScript ecosystem
- Self-hosted deployment options
Disadvantages
- Requires operational ownership for self-hosted setups
- Community support varies by project maturity
Installation
native
pnpm install pnpm --filter slack-example runtime # the agent backend, on :8200 pnpm --filter slack-example dev # the bot
FAQ
How do I run OpenTag locally on my machine?
Clone the CopilotKit monorepo, navigate to the `examples/slack` directory, set the required secrets in a `.env` file, then run the agent backend with `pnpm --filter slack-example runtime` (listening on :8200) and the bot with `pnpm --filter slack-example dev`. After both processes start, mention the bot in a Slack thread to interact with it.
What secrets do I need to set in the `.env` file?
You must provide three secrets: `SLACK_BOT_TOKEN` (the Bot User OAuth Token), `SLACK_APP_TOKEN` (the App-Level Token with `connections:write` scope), and an LLM key such as `OPENAI_API_KEY` or `ANTHROPIC_API_KEY` depending on the model you choose.
Which CopilotKit packages are required for a minimal OpenTag installation?
The four mandatory packages are: 1. `@copilotkit/bot` – platform-agnostic bot engine. 2. `@copilotkit/runtime` – AG-UI agent backend. 3. `@copilotkit/bot-ui` – cross‑platform JSX for rich messages. 4. `@copilotkit/bot-slack` – Slack adapter (or the adapter for your chosen platform).
How can I add durable thread persistence to my OpenTag bot?
Install the optional package `@copilotkit/bot-store-redis` and configure Redis in your environment. This replaces the default in‑memory store, ensuring threads survive bot restarts.
Can I run OpenTag on platforms other than Slack?
Yes. Replace the Slack adapter with another one such as `@copilotkit/bot-discord`, `@copilotkit/bot-telegram`, or `@copilotkit/bot-whatsapp`. Provide the appropriate platform tokens in `.env` and include the adapter in the array passed to `createBot`.
Featured in Videos
YouTube tutorials and walkthroughs for OpenTag
sd
80,246 views
Starts at 00:00
Alternatives
Similar projects ranked by category, topics, and text overlap.