Channel setup
Channels are your customer contact points. Everything they receive lands in one Inbox. Owners and admins connect channels in Settings → Channels with the Add Channel button. Types: Telegram Bot, WhatsApp, Web Widget, REST API, Email, VK and BillManager 6.
Telegram bot (multi-bot support)
One project can have several Telegram bots — for example, a separate bot per product.
- Create a bot via @BotFather in Telegram and copy the token.
- In SupportHub open Settings → Channels → Add Channel and choose Telegram Bot.
- Paste the token into Bot Token and click Create. SupportHub takes the channel name from Telegram (the bot's @username) and sets up the webhook automatically.
- Repeat for each additional bot.
The bot's card has: Group ID — the team group that receives ticket cards; the Network and proxy block; the Telegram Bot Builder button and Disconnect.
VK
A community connects through the Callback API. Enter the Community token, Community ID, Confirmation string and, optionally, the Secret key, then paste the Callback API URL shown to you into the VK community settings.
WhatsApp connects unofficially — as a linked device of your number. Read the risk warning, tick I have read and accept all the risks, click Continue and scan the QR code in WhatsApp on your phone (Linked devices); the code refreshes about every 20 seconds. If WhatsApp unlinks the device (say, the phone was offline for a long time), the channel goes inactive and owners and admins get an email — reconnect it with a new QR code.
Website widget
A project has one widget, and you don't need to add it — it's already there. The install code is in the Embed Code block on the widget tile (with a copy button) or behind the Embed snippet button in the widget builder; paste it before the closing </body> tag. By default the widget works anonymously:
<script>
(function(w, d){
function loadWidget(token){
var s = d.createElement('script');
s.async = 1;
s.src = 'https://support.forestsnet.com/widget-bundle?ws=your-workspace-id';
if (token) s.setAttribute('data-visitor-token', token);
d.head.appendChild(s);
}
// Optional: an HMAC visitor token (recognise the visitor across devices).
// Uncomment once your server has /api/supporthub/token.
// fetch('/api/supporthub/token', { credentials: 'include' })
// .then(function(r){ return r.ok ? r.json() : null; })
// .then(function(data){ loadWidget(data && data.token); })
// .catch(function(){ loadWidget(); });
loadWidget();
})(window, document);
</script>Appearance lives in Settings → Widget Builder (Website widget in the side menu) or behind Configure Widget on the tile: colours under Brand, the greeting under Welcome, the operator avatar under Conversation, collecting name, email and phone before the chat under Forms & Topics. The preview is built into the builder, and changes stay a draft until you click Publish. See Widget builder.
Mail can come in two ways:
- Webhook (SendGrid / Postmark) — the inbound mail service posts messages to the Inbound webhook URL from the channel card. Each email channel has its own address ending in that mailbox's secret key: copy the whole address into your provider's settings with the copy button. Mail posted to an address without the key, or with another mailbox's key, is refused. A message goes to the project's email channel it's addressed to — so one provider address for a whole domain can serve several channels; if the recipient matches none of them, it goes to the channel whose webhook address it is. The old address of the form …/webhooks/email/<project ID> no longer works: if your provider still posts there, replace it. New address issues a new key, and the old address stops working at once.
- IMAP — SupportHub fetches the mailbox over SSL every 2 minutes. POP3 isn't supported; if a mailbox was once set up for POP3, the channel card shows a warning — enter the IMAP server and port.
Replies go out through the channel's Outgoing Mail (SMTP) or, if it isn't set, the project's SMTP; without SMTP no email replies are sent. The channel card also has Routing → Department, the Check everything and Send test email buttons, and an Ignored senders list (IMAP mode).
Delivery and read reports and customers' auto-replies don't become tickets; bulk mail comes in like any other email. In IMAP mode a bounce notice (from MAILER-DAEMON or postmaster) is recorded on the ticket whose email bounced — “Reply not delivered to email” with the address and the reason; in Webhook mode such notices are dropped. A customer's auto-reply (“I'm on vacation”) doesn't open a new ticket: in IMAP mode it lands in the open ticket it answers, in Webhook mode in the customer's latest open ticket. SupportHub never sends its own auto-reply to automatic mail.
API channel
A project has one REST API channel, created along with the project; its card shows the endpoint for sending messages, and requests need an API key. Details in the API guide.
BillManager 6
Tickets from a BILLmanager 6 billing panel — over the API (v1) or through a module on the BILLmanager server (v2). Details in BILLmanager 6 integration.

