A channel is how you talk to your assistant. Your assistant is the same everywhere — same personality, same memories, same skills. The only thing that changes is where you're talking to it and what the channel can do.
The flagship experience. A native macOS menu bar app with full capabilities:
Every tool, every skill, every feature is available here. If a capability exists, the desktop app supports it.
Connect a Telegram bot to your assistant and message it from anywhere. Setup takes a few minutes:
From there, you can chat with your assistant in Telegram like any other contact. It supports text, images, documents, and interactive buttons for approvals. When your assistant needs permission to do something, it sends an inline button you can tap.
Telegram is also one of the channels your assistant can use to reach you — notifications, follow-ups, and alerts can all land in your Telegram chat.
Connect your assistant to Slack workspaces via Socket Mode. It can:
Slack has a unique feature: per-channel permission profiles. You can configure which tool categories are allowed in which Slack channels. For example, an engineering channel might allow coding and terminal tools, while a general channel might restrict those.
Connect via the Meta WhatsApp Cloud API. Your assistant can send and receive messages through a WhatsApp Business number.
Setup requires a Meta Business account and WhatsApp Cloud API credentials. Once connected, messages flow through the same pipeline as every other channel — your assistant sees the context, recalls relevant memories, and responds.
Your assistant can make and receive phone calls via Twilio.
Setup requires a Twilio account. Your assistant can provision a new phone number or use an existing one.
Email support is in early stages. Your assistant can send outbound emails and receive verification codes via email, but full inbound email processing isn't available yet.
A command-line interface for interacting with your assistant from the terminal. Uses the same SSE streaming as the desktop and iOS apps. Useful for scripting, automation, or if you prefer working in a terminal.
Not every channel can do everything. Here's what to expect:
| Capability | Desktop | Telegram | Slack | Phone | |
|---|---|---|---|---|---|
| Chat | Yes | Yes | Yes | Yes | Voice |
| Computer use | Yes | — | — | — | — |
| Host file/shell access | Yes | — | — | — | — |
| Screen watch | Yes | — | — | — | — |
| Voice input | Yes | — | — | — | Yes |
| Interactive approvals | Native prompt | Inline buttons | Interactive buttons | — | Verbal/DTMF |
| Rich content | Full UI | Markdown + media | Block Kit | Text + media | Voice only |
| Notifications | Yes | Yes | Yes | — | — |
| Skills | All | All | All (with channel permissions) | All | Limited |
Your assistant adapts its output to what the channel supports. If it would normally show you an interactive card, it'll send a text summary on WhatsApp or speak it on a phone call.
Your assistant's identity, personality, and memory are channel-independent. A conversation that starts on your desktop can be followed up on Telegram. A fact you share over a phone call is remembered in Slack.
What ties it together is the guardian system. You verify your identity on each channel once — through a challenge-response flow — and from then on, your assistant knows it's you, regardless of where the message comes from. A single contact can be linked across multiple channels (your Telegram account, your Slack handle, your phone number), and the assistant treats them as one person.
All channel configuration happens through your assistant. You can say things like:
Your assistant walks you through the setup conversationally — providing API keys, authorizing OAuth, scanning QR codes — rather than through a separate settings panel.
Channel settings are also available in the desktop app under Settings > Connect.