> ## Documentation Index
> Fetch the complete documentation index at: https://docs.opencomputer.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Channels

> Bind sessions to external threads

<Note>**Labs preview.** Channels are not part of the stable Durable Sessions API. For stable API access, use [Messaging](/agent-sessions/messaging) for input and [Webhooks](/agent-sessions/webhooks) for output.</Note>

A **channel** binds a session to an external thread, such as Slack or GitHub. To connect an agent to Slack, see [Slack](/agent-sessions/slack).

* **Inbound.** A Slack `@mention` is verified, de-duplicated, and appended to the session as a [steer](/agent-sessions/messaging) — the same inbound message you can post over the API.
* **Outbound.** The platform delivers the session's `user`-level [events](/agent-sessions/events#visibility-levels) back to the thread. The agent never calls Slack itself.
* **Bindings.** A session can have multiple bindings. A Slack-started session that opens a PR can also bind to that PR. Routing follows event level: conversation events go to conversation bindings, work output goes to delivery targets.

A channel uses the same primitives as a custom UI: append messages and render the [event stream](/agent-sessions/events).
