Groups
Fased treats group and room traffic consistently across supported surfaces:- Telegram
- Discord
- Slack
- Signal
- iMessage / BlueBubbles
- Microsoft Teams
- Zalo
- Matrix and other room-style plugins when configured
- who is allowed to trigger the group
- whether a mention is required
- which session key the group uses
- which tools are allowed there
Fast mental model
Direct messages and groups are not the same thing.- DM access
- controlled by channel DM policy plus allowlists or pairing
- group access
- controlled by
groupPolicy, channel-specific allowlists, and sender allowlists
- controlled by
- reply triggering
- controlled by mention gating or activation rules
Beginner version
Default posture:- groups are fail-closed unless you allow them
- allowed groups still require a mention by default on many surfaces
Session keys
Groups and rooms always get their own isolated session keys. Examples:agent:<agentId>:whatsapp:group:<jid>agent:<agentId>:telegram:group:<id>agent:<agentId>:discord:channel:<id>
- Telegram forum topics add
:topic:<threadId> - Slack and Discord threads add
:thread:<threadId>
- group context is isolated from your main DM session
- heartbeats do not run inside group sessions
Pattern: DMs on host, groups sandboxed
A common Fased setup is:- personal DMs in the main session
- public or semi-public groups in sandboxed non-main sessions
Display labels
UI labels preferdisplayName when the provider supplies it.
Conventions:
- rooms and channels may use
#room - group-style labels use slugged identifiers like
g-my-group
Group policy
Cross-channel pattern:| Policy | Behavior |
|---|---|
open | any group may trigger, mention rules still apply |
disabled | block all group traffic |
allowlist | only allowed groups may trigger |
groupPolicyis separate from mention gating- WhatsApp, Telegram, Signal, iMessage, Microsoft Teams, and Zalo typically use
groupAllowFrom - Discord uses
channels.discord.guilds.<id>.channels - Slack uses
channels.slack.channels - Matrix uses
channels.matrix.groups - if the provider block is missing entirely, Fased falls back to fail-closed behavior rather than silently opening group access
Mention gating
Mention gating is usually the recommended default for groups. Example:mentionPatternsare case-insensitive regexes- native mention metadata wins when the provider gives it
- reply-to-bot messages can count as implicit mentions on supported surfaces
- history injection is pending-only by default; skipped messages can still be kept as context
Tool restrictions inside groups
Channels can further restrict tools at the group or room level. Available knobs:toolstoolsBySender
- group or room
toolsBySender - group or room
tools - default
*toolsBySender - default
*tools
Group allowlist examples
Disable all group replies:Activation
Current owner-only activation commands:/activation mention/activation always
Context fields
Common group inbound fields include:ChatType=groupGroupSubjectGroupMembersWasMentioned
MessageThreadIdIsForum
Channel-specific notes
iMessage
- prefer
chat_id:<id>when routing or allowlisting - group replies always go back to the same
chat_id