apps/bots/ and talk to the same GAIA API, so a self-hosted instance gives users the same synced conversations, todos, and workflows on every platform.
How the bots work
Each bot is a thin TypeScript client that forwards messages to your GAIA API and renders responses in the platform’s native format (embeds on Discord, Block Kit on Slack, Markdown on Telegram). Authentication is shared: users run/auth once per platform to link their messaging identity to their GAIA account.
All bots require:
- Node.js 18+ and pnpm
- A running GAIA API (see Self-Hosting)
GAIA_BOT_API_KEYmatching the value configured in your API
Setup guides
Discord
Discord application, gateway intents, OAuth account linking, slash command deployment
Slack
Slack app with Socket Mode, no public URL required
Telegram
BotFather setup with long polling, no webhook required
Kapso + Meta Cloud API via signed webhook
Commands
All platforms expose the same core command set (/gaia, /todo, /workflow, /conversations, /auth). The full list, including platform-specific behavior, is in the Commands Reference.
