Channel setup
WednesdayAI connects to messaging platforms through channels. Each channel handles incoming messages, outgoing replies, and account pairing. Several channels are built in; others ship as plugins you install separately.Available channels
Personal and business WhatsApp via the linked-device protocol
Telegram
Telegram bot — full Bot API support
iMessage
iMessage via BlueBubbles (recommended) or legacy imsg
Signal
Signal via signal-cli
Slack
Slack app — Socket Mode or HTTP Events API
Discord
Discord bot via the Bot API and Gateway
Microsoft Teams
Teams via Bot Framework (plugin)
Matrix
Matrix/Element, with E2EE support (plugin)
WednesdayAI supports around twenty channels in total. Beyond those above, plugins exist for Feishu/Lark, Google Chat, IRC, LINE, Mattermost, Nextcloud Talk, Nostr, Synology Chat, Tlon, Twitch, Zalo, and Zalo Personal. The built-in Web chat needs no setup.
General setup flow
Every channel follows the same pattern:- Install the plugin (only for non-bundled channels — Teams, Matrix, and others)
- Authenticate — login wizard, bot token, or QR
- Configure access policies — who can talk to the bot
- Pair the channel to your agent
- Test with a message
Access policies
After connecting a channel, configure who can interact with the agent. The DM policy is set per channel underchannels.<channel>.dmPolicy:
| Policy | Effect |
|---|---|
pairing (default) | New senders get a one-time pairing code; ignored until approved |
allowlist | Only allowFrom entries can initiate — requires at least one entry |
open | All senders accepted — requires allowFrom: ["*"] |
disabled | DMs not accepted on this channel |
channels.defaults only accepts groupPolicy and heartbeat. Setting dmPolicy there will make the gateway refuse to start — configure it on each channel.Pairing
Most channels require pairing a specific account to the agent. New senders underdmPolicy: "pairing" receive a code; approve it: