discord or slack in place of telegram. The command asks for the bot’s token, checks it, saves it and starts the bot. No public URL or domain is needed.
Run it on the machine where you ran
gaia up. Older installs need gaia update first.Telegram
- In Telegram, message @BotFather and send
/newbot. Pick a name and a username. - BotFather replies with a token like
123456789:AA.... Copy it. - Run
gaia bots add telegramand paste the token.

A token that Telegram rejects is never saved
Discord
- Open the Discord Developer Portal and create an application.
- On the Bot page, click Reset Token and copy the token.
- On the same page, turn on Message Content Intent. Without it the bot can’t read messages.
- Run
gaia bots add discordand paste the token.
Slack
You need three values from your app’s page at api.slack.com/apps.- Create an app From scratch in your workspace.
- Socket Mode: turn it on and create an app-level token with the
connections:writescope (starts withxapp-). - OAuth & Permissions: add the bot scopes
app_mentions:read,chat:write,commands,im:history,im:readandim:write. Install the app and copy the Bot User OAuth Token (starts withxoxb-). - Event Subscriptions: turn them on and subscribe to
app_mentionandmessage.im. - Slash Commands: create
/gaia,/auth,/workflow,/todoand/conversations. Leave the request URL empty. - Basic Information: copy the Signing Secret.
- Run
gaia bots add slackand enter the three values.
Link your GAIA account
The bot only answers people who linked their chat account. In a chat with the bot, send/auth, open the link it sends and sign in. Each person does this once.
Your instance’s Bots page (/bots) links to your bots.
Check on your bots

gaia bots list on an install with no bots yet
gaia bots add <platform> again with a fresh one. To see the error, run docker compose -p gaia-selfhost logs bot-telegram (or bot-discord, bot-slack).
Remove a bot
Scripts and automation
Pass the values as flags:What GAIA sets up for you
What GAIA sets up for you
- A shared key,
GAIA_BOT_API_KEY, inapps/api/.env - Your bot tokens in
apps/bots/.env, readable only by your user - The published bot images, at your install’s version.
gaia updateupdates them

