What channels do
Channels give a worker two independent ways to talk to people outside the cowork page:- You reach the worker. You (or anyone you name) send a message on a connected Slack channel, DM, Gmail address, or Telegram chat. The worker treats it exactly like a message typed into a task, and its reply goes back to that same thread.
- The worker reaches other people. A worker can delegate to a structured conversation with named recipients — asking for an approval, collecting information, or just notifying someone — without holding that conversation itself. Results come back to the worker asynchronously, even if they take hours to settle.
This page covers channels inside Cowork — a worker’s private, direct line to and from people. It’s a different feature from the platform-wide Channels used by Conversation Flows and workflow triggers; see how this relates below.
Supported channels
Slack
A specific channel or a direct message. The worker reads new messages and replies in the same thread.
Gmail
A whole inbox or a label filter. Replies go out as threaded email replies.
Telegram
A bot chat, with senders allowed by user ID or
@username.Microsoft Teams and SMS inbound, plus the web widget and phone as channels a worker listens on, are on the roadmap and not available today. The cowork page itself is always the fallback — nothing here replaces it.
Turning on a channel for a worker
Channels are configured per worker, on the worker’s Channels tab, next to Capabilities.1
Pick a channel type
Choose Slack, Gmail, or Telegram, and connect the account through the same Connection Manager flow used for capabilities.
2
Choose the target
For Slack, pick a channel or DM. For Gmail, use the whole inbox or filter to a label. For Telegram, connect the bot the worker should listen on.
3
Add allowed senders
List who’s allowed to address this worker — an email address, a Slack user ID, or a Telegram user ID/
@username. A channel needs at least one allowed sender before it can be turned on.4
Turn it on
Once enabled, the worker starts picking up new messages on that channel.
Starting and continuing a task from a channel
The first message on a thread creates a new, private task tied to that exact thread — a Slack thread, a Gmail thread, or a Telegram chat. Every later message on that same thread continues that task rather than starting a fresh one, so the conversation you see in the channel and the task history stay in sync. A few behaviors worth knowing:- Fast follow-ups get batched. If several messages land close together before the worker has replied, they’re combined into a single turn instead of triggering one turn each.
- A message during an active turn queues. If you send something while the worker is still mid-turn, it waits and gets picked up as soon as that turn finishes — it’s never dropped.
- The worker’s own messages are filtered out. A channel a worker also posts to on its own doesn’t trigger it to respond to itself.
Starting a task from a channel is one way to reach a worker without opening Cowork. It’s separate from ambient, self-initiated work — see proactive workers for the roadmap around tasks that start on their own, from a schedule or an observed event.
If the worker needs more from you
When a task is waiting on you mid-turn, a plain-text reply on the same thread works the same way it would in the cowork page:- A question — if the worker asked for clarification, your reply resumes the task with your answer, just as if you’d typed it into the task directly.
- An approval — if the task is paused on an approval, a channel reply can’t settle it yet. The worker’s message links back to the app so you can decide there. See Human-in-the-loop for how approvals work.
Approving or declining directly from a channel — and richer replies like picking from a list of options — are on the roadmap. For now, approvals are always settled in the app.
A worker can reach other people, too
A worker doesn’t hold outside conversations itself — it delegates. Give it a goal like “get sign-off from the three managers on this budget,” and it kicks off one structured conversation per recipient (approval, gather-info, or a simple notification), each running over that person’s own channel. The worker doesn’t wait around: it keeps working, or wraps up, and each result — an outcome plus whatever was collected — lands back in the worker’s files as it settles, even if that’s hours later. Once every fan-out conversation is in, the worker picks the thread back up to aggregate and report. This reuses the same approval machinery and permission checks as everything else a worker does — reaching out to people is itself gated, and results that come back from outside are treated as untrusted input until the worker’s next action passes the usual checks. The full mechanics, including the permission classifier that decides when a worker needs your sign-off before reaching out, live on Human-in-the-loop.Security and identity
- Allowlists are fail-closed. An empty list of allowed senders means the channel is effectively off — no messages get through, and there’s no “ask the worker anyway” fallback.
- Unknown senders are silently dropped. A message from anyone not on the list never reaches the worker or shows up in a task; it’s discarded before that point.
- Everyone allowed acts as the owner. In v1, any allowed sender on a channel acts with the same identity and permissions as the worker’s owner — there’s no per-sender identity or role mapping yet.
- Replies never leave their thread. A worker answers back on exactly the thread or DM a message came from — it doesn’t cross-post a task’s content anywhere else.
How this relates to the platform Channels feature
CogniAgent already has a platform-wide Channels feature that connects Conversation Flows and workflows to Slack, email, SMS, and more. Cowork’s worker channels reuse the same underlying connections — the same Slack and Gmail integrations, wired up through the same Connection Manager — but they’re configured differently: a worker channel is a direct, private line to and from one worker, not a shared trigger that fans out into a flow or a workflow run.Next steps
Human-in-the-loop
See how approvals, Ask-a-Human, and the permission classifier work.
Proactive workers
Learn about the roadmap for work that starts itself, beyond an inbound message.
Capabilities & connections
Understand how a worker gets an integration in the first place.
Tasks
See how a channel-started task fits into the rest of a task’s lifecycle.
