Skip to main content
Managed Deep Agents discovers channel modules under channels/. Each file is a messaging ingress: the managed runtime mounts a public Events URL, verifies the provider signature, invokes your agent with identity stamps, and can auto-reply on the same conversation.
Managed Deep Agents is in private beta, available on LangSmith Cloud in the US region only. Join the waitlist to request access.

Channel types

Declare each channel as its own file under channels/; you do not register channels in the agent entry. Channels receive provider events. Connectors add tools, HTTP capabilities, or sandbox setup, while identity connect links a user’s external account. For a comparison, see Choose the right integration. For the full project layout, see the CLI project file reference.

How channels work

  1. You declare a channel under channels/ (for example channels.slack(...) / channels.github(...)).
  2. Compile and deploy discover the file name as the channel name (channels/slack.tsslack).
  3. The runtime mounts provider ingress for that channel on the Agent Server (POST /channels/{name}/events).
  4. Inbound messages invoke your agent with identity stamps so tools and memory see the same caller model as HTTP runs.
  5. When enabled, the runtime can reply on the originating conversation.
Channels require a root identity declaration. Provider-specific delivery details live on each channel page.

Identity and threading

The GitHub channel uses an installation/service actor and does not require Connect-with-GitHub. For Slack app setup, secrets, Event Subscriptions, and Connect-with-Slack, see Slack. For GitHub App webhooks, see GitHub.

Test and deploy

Test the project locally with mda dev, then deploy it with mda deploy. Open deployment traces in LangSmith to inspect model calls, tool calls, errors, and latency. When channels/ is present, mda deploy provisions what each channel needs before upload: a Slack channel gets its Slack app created and installed through the workspace’s Slack connection in LangSmith (see Slack), while a GitHub channel preflights the secrets listed in its compiled manifest’s requiredEnv (GitHub App webhook/App credentials). Missing GitHub secrets fail the deploy early.

Next steps

Slack

Declare a Slack channel, configure the Slack app, and enable Connect-with-Slack.

GitHub

Declare a GitHub App webhook channel with handlers for any event.

Identity

Choose conversation-scoped threads or linked validated-token auth for channel callers.

CLI reference

Look up channels/ project file rules and deploy preflight.