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, email, schedules, webhooks, and other channels are configured separately — they keep working regardless of this toggle.
Messaging & email
Slack
Telegram
Gmail
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, email Message-IDs, 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.