Help us improve
Share bugs, ideas, or general feedback.
Omni v2 — Universal Event-Driven Omnichannel Platform plugins
npx claudepluginhub automagik-dev/omniFull Omni platform control — multichannel messaging, automations, events, batch ops via the omni CLI
Share bugs, ideas, or general feedback.
Universal event-driven omnichannel messaging platform
One API to send and receive messages across WhatsApp, Discord, Telegram, and more.
CLI-first. Event-driven. Built for AI agents.
Install • Quick Start • AI Agents • CLI • API • SDKs • Development
Think of Omni as a deep-sea octopus. Each channel is a tentacle — WhatsApp, Discord, Telegram — reaching into a different messaging ecosystem. Events are nerve impulses flowing through NATS JetStream. The core is the brain — identity resolution, event routing, and a unified API that lets you treat all channels as one.
| 🔌 One API, every channel | Send a WhatsApp message, a Discord embed, and a Telegram photo with the same endpoint |
| ⚡ Event-driven | Every action produces an event. Subscribe, replay, automate |
| 🧬 Identity graph | Same person on WhatsApp and Discord? Omni knows |
| 🤖 AI-native | Agent providers, automations, built to be controlled by LLMs |
| 🔧 Plugin architecture | Build new channels with the Channel SDK |
| 📦 Multi-SDK | Auto-generated TypeScript, Python, and Go SDKs |
| Channel | Status | Highlights |
|---|---|---|
| WhatsApp (Baileys) | ✅ Stable | QR/phone pairing, media, reactions, groups, contacts, presence |
| Discord | ✅ Stable | Bots, embeds, polls, buttons, threads, slash commands |
| Telegram | ✅ New | Bot API, inline keyboards, groups, channels, threads, polls |
| WhatsApp Cloud API | 🔮 Planned | — |
| Slack | 🔮 Planned | — |
bun add -g @automagik/omni
omni install # interactive wizard: sets up server + PM2
Migrating from
@omni/cli? Runbun remove -g @omni/clifirst.
curl -fsSL https://raw.githubusercontent.com/automagik-dev/omni/main/install-client.sh | bash
curl -fsSL https://raw.githubusercontent.com/automagik-dev/omni/main/install.sh | bash
Three modes: CLI only · Full server · CLI + connect to remote
# CLI only (tries npm first, falls back to git clone)
curl -fsSL https://raw.githubusercontent.com/automagik-dev/omni/main/install.sh | bash -s -- --cli
# CLI + connect to remote
curl -fsSL https://raw.githubusercontent.com/automagik-dev/omni/main/install.sh | bash -s -- --cli https://your-omni-server.com
# Full server
curl -fsSL https://raw.githubusercontent.com/automagik-dev/omni/main/install.sh | bash -s -- --server
Manual:
git clone https://github.com/automagik-dev/omni.git && cd omni
make setup # Install deps, create .env, start services
API runs at http://localhost:8882 · Swagger docs at /api/v2/docs · API key printed in startup banner.
# Authenticate
omni auth login --api-key <your-key>
# WhatsApp — scan QR
omni instances create --name "my-whatsapp" --channel whatsapp-baileys
omni instances qr <id> --watch
# Discord — connect bot
omni instances create --name "my-discord" --channel discord
omni instances connect <id> --token "BOT_TOKEN"
# Telegram — connect bot
omni instances create --name "my-telegram" --channel telegram
omni instances connect <id> --token "BOT_TOKEN"
# Send messages
omni send --to "+5511999999999" --text "Hello from the deep 🐙"
# Browse conversations
omni chats list --unread --sort unread
Connect any LLM provider and your instances become intelligent agents — responding to messages, reacting to events, across every channel.
Message received → NATS event → Agent Dispatcher → Provider (OpenAI/Agno/Webhook) → Humanized reply
# Connect a provider
omni providers create --name "my-llm" --schema openai --base-url "https://api.openai.com/v1" --api-key "sk-..."
# Bind to instance — it's now an agent
omni instances update <id> --agent-provider <provider-id>