Talon now works in group chats
PR #203 adds group chat support to the two most popular connectors: Telegram and WhatsApp Baileys. You can now add your Talon bot to a group or community and have it respond when mentioned, without flooding the chat with replies to every message.
How it works
Section titled “How it works”Group chat support is opt-in. Set allowGroupChats: true in the connector config and the bot starts listening to group messages. It does not reply to every message — that would be noisy and expensive. Instead, it only responds when explicitly addressed.
| Connector | Trigger mechanism |
|---|---|
| Telegram | @mention by bot username (detected via Telegram entities) or triggerWords prefix |
| WhatsApp Baileys | triggerWords prefix only — no automatic mention detection |
The matched trigger is stripped before the message reaches the agent, so @Talon what's the weather? becomes what's the weather?.
Telegram groups
Section titled “Telegram groups”Telegram uses the Bot API’s entities array for exact mention detection. This avoids false positives — @talon won’t match @talon2. If no mention is found, the connector falls back to triggerWords.
channels: - name: my-telegram type: telegram enabled: true config: botToken: ${TELEGRAM_BOT_TOKEN} allowGroupChats: true triggerWords: - '@Talon' - '!talon'In groups, the bot only responds to messages that either @mention it by username or start with one of the configured trigger words. DMs still work normally — triggerWords also applies to direct messages if configured.
WhatsApp Baileys groups
Section titled “WhatsApp Baileys groups”WhatsApp Baileys has no native mention entity format, so group messages require at least one triggerWord. Messages without a matching trigger are silently dropped.
channels: - name: my-whatsapp type: whatsappBaileys enabled: true config: authDir: ./baileys-auth allowGroupChats: true triggerWords: - '@Talon' allowedSenders: - '31612345678'For group messages, allowedSenders checks the individual sender’s JID (from key.participant), not the group JID. This means you can restrict which group members the bot responds to, even in a large community.
Thread mapping
Section titled “Thread mapping”Group messages are threaded by group ID, not by individual sender. Every message in the same Telegram group or WhatsApp community goes to the same conversation thread. This is intentional — the agent sees the group’s shared context, not a separate thread per member.
If you need per-member isolation, bind a separate channel to a dedicated number and use DMs instead.
Multi-bot groups
Section titled “Multi-bot groups”Group chat support pairs naturally with multi-connector setups. You can run multiple Telegram bots in the same group — each bound to a different persona — and they only respond to their own @mentions. Sibling bot IDs are resolved at startup and filtered automatically, so there’s no risk of cross-talk.
What’s next
Section titled “What’s next”Group chat for Discord Gateway and WhatsApp Business Cloud API is on the roadmap. The Discord connector needs a Gateway client first (see TASK-043); WhatsApp Business groups are gated by Meta’s API permissions.
For the full configuration reference, see the Channels guide.