External Channels
External channels connect provider messaging apps to the same conversations and contacts used by the website widget.
Telegram
What it does: receives Telegram bot messages and lets operators reply from Chat.
When to use it: use Telegram when customers already contact your business through a bot.
How it works: an owner or admin connects a bot token. The backend verifies the token with Telegram, stores a token reference, and uses per-account webhooks to route updates. Inbound updates are normalized and written as contacts, conversations, and messages.
Where to configure it: Settings -> Channels -> Telegram.
Related modules: Conversations, Contacts, Messages, Webhooks, Channel Workers.
Instagram
What it does: prepares Instagram messaging as a connected customer channel.
When to use it: use Instagram when customers message your brand page or connected Instagram account.
How it works: the integration boundary supports OAuth start and callback flows, provider account storage, webhook handling, normalization, and topic isolation. Production use requires Meta app credentials, messaging permissions, webhook verification, and provider-specific signature checks.
Where to configure it: Settings -> Channels -> Instagram.
Related modules: Conversations, Contacts, Webhooks, OAuth, Channel Workers.
VKontakte
What it does: prepares VK community messages as a connected customer channel.
When to use it: use VKontakte when customers contact the business through a VK group or community.
How it works: the integration supports OAuth-style setup placeholders, global or per-workspace webhook routing, provider account matching, normalization, and deduplication. Production use requires VK app credentials, callback confirmation, secret verification, and message permissions.
Where to configure it: Settings -> Channels -> VKontakte.
Related modules: Conversations, Contacts, Webhooks, Channel Workers.
WhatsApp
What it does: reserves the WhatsApp provider path in the channel architecture.
When to use it: use WhatsApp when a workspace needs customer messaging through WhatsApp Business APIs.
How it works: the backend has provider-specific webhook topic separation and normalization boundaries. A provider client and credential handling must be added for the exact WhatsApp provider being used.
Where to configure it: Settings -> Channels -> WhatsApp when the provider client is available.
Related modules: Conversations, Contacts, Webhooks, Channel Workers.
Webhooks and normalization
What it does: turns provider-specific webhook payloads into Chat messages.
When to use it: this is used automatically by channel integrations.
How it works: provider webhooks are published to raw Kafka topics such as channel.webhook.telegram. Inbound workers resolve active channel accounts, normalize payloads into a shared message format, publish normalized events, and writer workers map each provider thread to a contact, conversation, and message. Deduplication prevents the same provider message from being written twice.
Where to configure it: provider webhook URLs are configured in each provider console and channel settings.
Related modules: Channels, Kafka Workers, Conversations, Contacts, Messages.