Managed Deep Agents is in public beta and available on LangSmith Cloud in the US region only.
Project structure
Channel declarations live in the project-levelchannels/ directory:
Understand channels
A channel combines three parts of an external messaging integration:- Inbound events: Verify and normalize provider events, then start an agent run.
- Outbound messaging: Send the agent’s response back to the originating conversation.
- Provisioning: Create and configure the provider resources that connect the service to the deployed agent.
Declare channels in a project
Put each channel in a separate module underchannels/.
Export a named channel from each file.
The file name becomes the configured channel name and identifies the channel within the deployment.
Do not name a declaration channels/channel.ts.
Channel names must be unique within a project.
The provider factory creates the declaration.
For example, channels.slack() creates a Slack channel.
See the provider guide for its declaration, app configuration, and deployment procedure.
Distinguish channels from connectors
A channel receives messages that start agent runs and delivers responses. An MCP connector gives the agent tools from a remote MCP server. A project can use either or both.Supported channels
Slack
Start runs from Slack mentions, direct messages, and thread replies.
See also
- Identity: authenticate callers and scope channel runs to the resolved user.
- Schedules: deliver scheduled results through a configured channel.
- Deploy an agent: deploy project changes and configure secrets.
- CLI reference: review channel project-file conventions.
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

