Channels
Open an agent's settings and go to the Channels tab. Each row is a way messages can reach the agent. Inbound messages create or continue a thread; the agent runs with whatever tools you've granted on the Tools tab.
In-app chat
Thread — controls whether this agent appears in the in-app agent picker (the "Pick an agent…" list when a thread isn't already bound to an agent). On by default.
Turning Thread off does not remove the agent from the sidebar Agents list, and people can still start in-app threads via that agent's overview composer or the hover new-thread shortcut on its row. Slack, schedules, webhooks, and other channels are configured separately — they keep working regardless of this toggle.
Messaging & email
Slack
Telegram
Email and SMS are not channels. They flow through the app's Email & SMS layer as Conversations and Messages records, with per-address send policies and an outbox — agents wake on new mail through record threads rather than a channel row.
Programmatic & voice
Webhook
Voice
Schedules
Schedules wake the agent on a cron with a prompt you describe in plain language (e.g. "Every weekday at 9am, review open support tickets and flag anything stale"). The UI parses that into a cron expression you confirm before saving.
You can add multiple schedules per agent. Optionally run each tick in a new thread instead of reusing the same one. Scheduled runs are not interactive — the agent cannot show tool-approval cards during a schedule tick; grant tools upfront on the Tools tab.
How threads tie together
Every channel routes inbound traffic into the agent's thread list. Slack thread timestamps, webhook payloads, and chat sessions each map to a stable thread key so follow-up messages land in the same conversation.
View and manage threads on the agent's Threads tab — filter by channel, pin important ones, or archive old conversations. Pausing an agent stops new runs; disconnecting a channel stops new messages from that source without deleting history.