How to connect any channel
You don’t edit config files. You tell your assistant what you want:Messaging channels
| Channel | Library | Status |
|---|---|---|
| @whiskeysockets/baileys | Production | |
| Telegram | grammY | Production |
| Slack | @slack/bolt | Production |
| Discord | discord.js (@buape/carbon) | Production |
| Signal | signal-utils | Production |
| iMessage | macOS native | Production |
Voice channels
| Channel | Technology | Status |
|---|---|---|
| Voice Calls | Twilio / Telnyx / Plivo + OpenAI Realtime STT | Production |
| Realtime Call | OpenAI Realtime API (true bidirectional) | Experimental |
| Local TTS | Kokoro (on-device, no cloud) | Production |
Additional channels
Google Chat, Microsoft Teams, Matrix, Nostr, Twitch, LINE, WebChat — available as optional extensions. Tell your assistant “I use Teams” or “I use LINE” to get started.DM policy
Every channel has a DM policy that controls who can reach your assistant. The default ispairing — the safest option for a new setup.
| Policy | Behavior |
|---|---|
pairing | Unknown senders receive an 8-character alphanumeric code. You approve each one. |
allowlist | Only phone numbers or user IDs you specify can send messages. |
open | Anyone can message your assistant. |
disabled | The channel ignores all incoming messages. |
Channel tool restrictions
Not all channels carry the same level of trust. GenosOS applies a deny-only security layer based on the channel that delivered the message:| Channel context | Restrictions |
|---|---|
| Web UI (localhost) | None — full tool access |
| WhatsApp / Telegram / Discord / Signal | exec, bash, process denied |
| Voice calls (inbound) | Nearly all tools denied except session management |
You can still read files, search memory, send messages, and use web tools from messaging channels. Only shell execution is blocked.
Channel pages
Connect via QR code scan. No token required.
Telegram
Create a bot via @BotFather and paste the token.
Slack
Socket Mode or HTTP mode with @slack/bolt.
Discord
Developer Portal bot token with Message Content Intent.
Signal
Requires signal-cli and a dedicated phone number.
Voice calls
Inbound and outbound calls with Twilio, Telnyx, or Plivo.