Skip to main content

Bot integrations

An integration connects a bot to a messaging platform. One bot can have several — the same bot can be reachable on Telegram and by email.

Looking for connected accounts?

This page is about connecting a bot to a messaging platform. To connect your own account with an outside service so a bot can act as you, see Tool integrations. Different feature, similar name.

Available platforms

PlatformState
TelegramAvailable
EmailAvailable
Discord, Slack, othersNot implemented. The platform layer is built to be extended, and no other adapter exists today.

Discord and Slack are sometimes described as "coming soon". There is no partially-working version of either — nothing to enable, nothing to try.

Adding one

In the admin console, open Bots, select the bot, and add an integration.

What you supply differs more than you might expect:

Telegram — the bot token from BotFather. That token is the credential, and it is per bot.

Email — an address prefix, at most. The mail credentials are deployment-wide environment settings, not per-bot fields. See Email.

Enabling, disabling, removing

An integration can be disabled without being deleted; the bot stops handling messages from that channel and the configuration is kept. Deleting it removes the connection and unregisters the webhook.

Webhooks are managed for you

You never configure a webhook URL by hand. Mesa registers one when an integration is created or changed, checks the existing state first so it does not re-register needlessly, and retries with backoff when the platform rate limits it.

A bot with a working integration can still be silent

Connecting a channel does not authorize anyone to use it. The chat must also be authorized, and this bot assigned to it. Both checks fail without any message to the user — see Troubleshooting.