Product guide
Chat channels
Put the assistant where your team already talks — Teams, Slack, WhatsApp, the website widget and more.
Chat channels — the assistant where people already are
A channel puts the assistant inside a messaging tool: Microsoft Teams, Slack, Google Chat, Telegram, WhatsApp, Viber, a Twilio phone number (SMS), Discord, Facebook Messenger / Instagram, email, Matrix/Element, Mattermost, Zulip, LINE, or a chat widget on your own website. Answers work exactly like the web chat — grounded in the documents, cited, access-controlled and audited — only the doorway changes. Open a channel to see its setup checklist: credentials → Test → wiring → people.
Who is the person messaging? You decide — they do nothing
- Set them up yourself (recommended) — open the channel's people list and add each person with the identity you already know: their phone number (WhatsApp/SMS), Telegram or Discord username, work email (Slack, email). From their very first message they're recognised and get their own document access — no code, no setup on their side, and they don't even need to have activated their web account.
- Assign after first contact — on platforms where identities are private (Viber), anyone who messages shows up in the people list; assign them to their account with two clicks.
- Self-service (optional) — anyone signed in to the web chat can click “Link messaging apps”, get a one-time code like ABC-123 and send it to the bot.
- Guests — people who message without being set up. By default they get nothing; per channel you may open guest access to chosen groups (e.g. a public-KB group for a support widget).
Group chats
Telegram groups and Slack channels answer when the bot is @mentioned; per channel you choose whether those answers use the asker's own access (everyone present sees the answer), guest access only, or are off. Discord answers privately to the asker by default (ephemeral), so nothing leaks to the room. WhatsApp and Viber bots don't support group chats — that's a platform limitation, not a setting. Group answers are standalone (no conversation memory), and link codes are ignored in groups.
Adding a channel
- Open Chat channels and pick the platform — each has a short setup guide behind the ? next to the description.
- Paste the platform credentials (a bot token or similar).
- Press Test — it verifies the connection and, where needed, shows the webhook address to paste on the platform side (Setup button).
- Open the people list and add your team by phone number / username / email. Done — tell them to just message the bot.
Everything said in a channel flows through that platform (Telegram, Meta, Slack, Viber, Twilio, Discord) on its way here — choose channels appropriate to your documents' sensitivity. Replies include sources; /new starts a fresh conversation, /help explains the commands.
Set up Telegram
The fastest channel: no server exposure, no approval process — the assistant picks messages up itself within seconds.
- In Telegram, message @BotFather → /newbot → give it a name and a username. Copy the token it prints.
- Chat channels → Telegram, paste the token, Create, then Test.
- That's it — anyone can now find the bot by its @username. Each person links their account by sending their one-time code (from “Link messaging apps” in the web chat).
Add people by @username in the channel's people list — their first message binds them, no code needed. In group chats the bot answers when @mentioned, governed by the “In group chats” setting (remember: the whole group sees the answer). No public URL is needed — this works even when the assistant runs on a private network.
Set up WhatsApp
WhatsApp Business Cloud API, hosted by Meta. It needs a Meta developer app and this server reachable from the internet (set the public base URL in Settings first).
- On developers.facebook.com create an app → add the WhatsApp product. Meta gives you a test number to start with.
- Note the Phone number ID (WhatsApp → API Setup), and create a permanent access token: Business settings → System users → generate a token with whatsapp_business_messaging.
- Chat channels → WhatsApp: enter the Phone number ID, choose any verify token phrase, paste the access token and the app secret (App settings → Basic). Create.
- Open Setup on the channel and copy the webhook URL. In Meta: WhatsApp → Configuration → Edit webhook → paste the URL and the same verify token → subscribe to the “messages” field.
- Press Test, then message the number.
Add your team by phone number in the channel's people list — they're recognised from their first message. Replies ride the free 24-hour customer-service window, so normal question-answer use needs no message templates. WhatsApp's business API has no group chats. To go beyond Meta's test number, follow Meta's steps to verify your own number.
Set up Slack
A Slack app your team DMs, or @mentions in a channel for an answer everyone sees (it replies in a thread).
- On api.slack.com/apps → Create New App → From a manifest → pick your workspace and paste the manifest below.
- Install the app to the workspace (Install App).
- Chat channels → Slack: paste the Bot User OAuth Token (xoxb-…) and the Signing Secret (Basic Information). Create, then Test.
- Open Setup, copy the webhook URL, and paste it in the Slack app under Event Subscriptions → Request URL (Slack verifies it instantly). Save.
| App manifest | display_information: {name: Assistant} · features: {bot_user: {display_name: assistant}} · oauth_config: {scopes: {bot: [chat:write, im:history, app_mentions:read, users:read, users:read.email]}} · settings: {event_subscriptions: {bot_events: [message.im, app_mention]}} — set request_url after creating the channel here. The users:read scopes let you add people by their work email. |
|---|
Add people by work email in the channel's people list (needs the users:read.email scope from the manifest) or by member ID. @mentions in channels follow the “When @mentioned in a channel” setting — everyone present sees those answers. On-prem and no public URL? Enable Socket Mode in the Slack app, create an app-level token with connections:write, and paste it in the channel — the assistant then connects out to Slack and the Request URL step disappears.
Set up Viber
- On partners.viber.com create a bot account (name, avatar, category). Copy its token.
- Chat channels → Viber: paste the token, optionally set the sender name shown on replies. Create.
- Make sure the public base URL in Settings is your https address, then press Test — the webhook is registered with Viber automatically.
- Open the bot in Viber and send it a message.
Viber requires an https URL reachable from the internet. If Test reports the webhook was not registered, fix the public base URL and Test again.
Set up a phone number (Twilio SMS / WhatsApp)
A phone number people text — plain SMS through Twilio, and WhatsApp too if the number is WhatsApp-enabled in Twilio. The admin-friendliest channel: enter each person's mobile number and they're recognised from their first text.
- In the Twilio Console buy (or pick) a phone number and note the Account SID and Auth Token (Console → Account Info).
- Chat channels → Phone number: enter the Account SID, the Twilio number, and the Auth Token. Create, then Test.
- Open Setup, copy the webhook URL, and paste it in Twilio: the number → Messaging → “A message comes in” (HTTP POST).
- Open the people list and add your team by phone number.
Unknown numbers get NO reply — outbound SMS costs money, so the channel never talks to strangers unless you deliberately set guest access groups. Replies are kept short and skip the sources footnote; answers still cite inline. Long answers are truncated — SMS is best for quick questions.
Set up Discord
A Discord app your team uses with /ask — in servers and in DMs. Server answers are private to the asker by default (ephemeral), so document access never leaks to the room.
- On discord.com/developers create an application. Note the Application ID and Public Key (General Information) and a Bot token (Bot → Reset Token).
- Chat channels → Discord: paste all three. Create, then Test — this registers the /ask, /new and /help commands.
- Open Setup, copy the webhook URL, and paste it as the Interactions Endpoint URL (General Information) — Discord verifies it on the spot.
- Install the app to your server (Installation → install link), and add people by username in the people list.
People ask with /ask; switch “Plain direct messages” on and they can also just type in the bot's DMs (the assistant connects out to Discord for those — no extra setup). “In servers, answers are” controls visibility: private to the asker (default), public (uses the asker's access — the room sees the answer), or DMs only.
Set up Email (auto-reply)
A mailbox people email their questions to; the answer comes back as a reply, with sources. Senders are recognised by the email address on their user account — if the address is on the account, it already works. Nothing to install anywhere.
- Create a dedicated mailbox (e.g. ask@your-company.com) and note its IMAP settings; create an app password if the account has two-factor authentication.
- Make sure the outgoing email server is configured under Settings → Email (replies are sent with it).
- Chat channels → Email (auto-reply): enter the IMAP server, the mailbox address and password. Create, then Test.
- Tell people to email their questions to that address from their work email.
Mail from addresses that match no user account is ignored completely — no reply, ever. That is deliberate: an auto-responder that answers strangers becomes a spam reflector. Auto-replies, newsletters and other machine mail are also never answered, and the assistant marks its own replies so other systems don't answer back. Guest access is not available on this channel.
Set up Microsoft Teams
The assistant inside Teams — personal chats, and @mentions in team channels. Everything is ready in the product; the only prerequisite is a one-time Azure Bot registration (about ten minutes, done by IT).
- In the Azure portal create an “Azure Bot” resource (any name; pricing tier F0 is fine; “Multi Tenant” type). Note the Microsoft App ID it creates.
- In the bot's app registration (Certificates & secrets) create a client secret and copy its value.
- Chat channels → Microsoft Teams here: paste the App ID and the secret. Create, then Test — it verifies the sign-in.
- Back in Azure: the Bot resource → Configuration → set the Messaging endpoint to the webhook URL shown in the channel's checklist, and under Channels enable “Microsoft Teams”.
- In Teams, find the bot (or share its install link) and send it a message.
People are matched to their accounts by their work email automatically (Teams tells the assistant the sender's email), so usually nobody needs setting up at all. In team channels the bot only ever receives messages that @mention it; the “When @mentioned” setting controls whose access those answers use — everyone in the channel sees them.
Set up Facebook Messenger / Instagram
Messages to your Facebook Page — and to the Instagram professional account connected to it — answered automatically. Typically customer-facing: pair it with guest access groups holding public-safe documents.
- In your Meta developer app add the Messenger product and connect your Page; generate a Page access token (pages_messaging).
- Chat channels → Facebook Messenger / Instagram: choose any verify token phrase, paste the Page token and the app secret. Create, then Test.
- In Meta → Messenger → Webhooks: paste the webhook URL from the checklist with the same verify token; subscribe to “messages”, and subscribe your Page (for Instagram, also the Instagram messages field).
- Message the Page to confirm.
Sender identities are page-scoped codes, so employees are assigned after their first message (or with a link code); customers are simply guests. Meta requires an app review for messaging the general public — the setup guide inside Meta walks through it.
Set up Google Chat
The assistant inside Google Chat (Workspace) — direct messages and @mentions in spaces. People are matched by their Workspace email automatically; replies are instant HTTP responses, so there are no tokens to rotate at all.
- In the Google Cloud console (any project) enable the “Google Chat API”, and note the project NUMBER (all digits).
- Chat channels → Google Chat: enter the project number. Create, then Test.
- In the Chat API's Configuration tab: set the app name/avatar, choose “HTTP endpoint URL” and paste the webhook URL from the checklist; enable receiving 1:1 messages and joining spaces; set visibility for your domain.
- In Google Chat, start a chat with the app and ask something.
Messages are verified against Google's signature for your project number. In spaces the app only receives @mentions; the “When @mentioned” setting controls whose access those answers use.
Set up Matrix / Element
A bot account on your Matrix homeserver — for teams on Element or any self-hosted Matrix. No public URL needed in either direction; ideal for air-gapped-ish setups.
- Create a Matrix account for the bot on your homeserver (e.g. @assistant:company.com) and get its access token (Element → Settings → Help & About → Access token).
- Chat channels → Matrix / Element: enter the homeserver URL and the token. Create, then Test.
- DM the bot, or invite it to a room — it accepts invitations by itself.
Matrix IDs are public handles, so you can set everyone up exactly (@anna:company.com) in the people list. In rooms with several people the bot answers when its name is mentioned, under the room-access setting. End-to-end ENCRYPTED rooms are invisible to it — use unencrypted rooms, or DMs with encryption off.
Set up Mattermost
A Mattermost bot your team DMs or @mentions — the self-hosted option where nothing leaves your network: the assistant connects out to your Mattermost server, no public URL anywhere.
- In Mattermost (System Console → Integrations → Bot Accounts, or Integrations → Bot Accounts) create a bot and copy its token.
- Chat channels → Mattermost: enter the server URL and the token. Create, then Test.
- DM the bot — that's it. For channels, add the bot to the channel and @mention it.
Add people by their Mattermost username or email — looked up on your server instantly — and senders whose Mattermost email matches their account here work with no setup at all.
Set up Zulip
- In Zulip: Personal settings → Bots → Add a new bot, type “Outgoing webhook”, interface “Generic”. Copy the bot's token.
- Set the bot's endpoint URL to the webhook URL from the channel's checklist.
- Chat channels → Zulip here: paste the token. Create, then Test.
- DM the bot in Zulip, or @mention it in a stream.
Senders are matched by their Zulip email automatically. Replies ride Zulip's own webhook response — no outbound credentials at all. Stream mentions follow the “When @mentioned” setting; the whole stream sees those answers.
Set up LINE
- In LINE Developers create a provider and a “Messaging API” channel; note the Channel secret (Basic settings) and issue a Channel access token (Messaging API tab).
- Chat channels → LINE: paste both. Create, then Test.
- In the Messaging API tab set the Webhook URL from the checklist, enable “Use webhook”, and in the official account's response settings disable auto-reply messages.
- Add the account as a friend (QR code on the same page) and message it.
Replies are push messages — LINE's free plan meters them monthly, so mind the volume. In group chats the bot answers only when @mentioned. LINE user IDs are app-scoped, so people are assigned after their first message or with a link code.
Set up the website widget
A chat bubble on your own site or intranet — one script tag, no third-party platform, nothing leaves your infrastructure. Visitors are guests: they read only the guest access groups you choose for this channel.
- Chat channels → Website chat widget: enter the allowed origins (e.g. https://intranet.example.com — one per line), pick the guest access groups, optionally a title, welcome text and accent colour. Create.
- Open Setup and copy the embed tag.
- Paste it just before </body> on the pages that should show the widget.
The widget answers only on the origins you list, and only from the guest groups you chose — with no guest groups it politely refuses. For a public website, put only documents meant for the public in those groups.