Channels
Channels define where an app is accessible. An app can be available through multiple channels simultaneously — all sharing the same intelligence configuration and governance model.
Available Channels
DirectLine
WebSocket-based real-time messaging. This is the default channel — automatically provisioned when an app is created. DirectLine powers the Hub and Copilot client interfaces.
DirectLine is always enabled and doesn’t require additional configuration.
Microsoft Teams
Full Teams integration with app manifest generation.
To enable Teams:
- Navigate to your app in the admin console
- Open the Channels tab (labeled “Reach”)
- Select Teams
- Configure the Teams channel
- Download the generated app manifest (
manifest.zip) - Upload the manifest to your Teams admin center or sideload for testing
What’s supported:
- Direct messaging with the agent in Teams
- File upload support
- Copilot agent registration for Teams Copilot
API endpoints:
PUT /api/apps/{'{'}slug{'}'}/channels/teams— configure Teams channelGET /api/apps/{'{'}slug{'}'}/channels/teams— get Teams channel configurationGET /api/apps/{'{'}slug{'}'}/channels/teams/app-manifest— download the Teams manifest
Embedded Widget
A drop-in chat widget for customer-facing websites or internal portals.
To enable the widget:
- Navigate to your app’s Channels tab
- Select Web Chat Widget
- Configure appearance: position, colors, fonts, avatars
- Set domain whitelisting (which domains can host the widget)
- Copy the embed snippet
The embed snippet is a <script> tag you add to your website. It loads the widget and connects to your Corral instance via DirectLine WebSocket.
API endpoints:
GET /api/envs/{'{'}env{'}'}/apps/{'{'}appId{'}'}/widgets/webchat/config— widget configurationGET /api/apps/{'{'}slug{'}'}/widgets/webchat/snippet— embed snippet
Security: Domain whitelisting ensures the widget only loads on domains you’ve authorized.
API Access
Programmatic access via client credentials. For building custom surfaces, automated workflows, or integrations that interact with agents programmatically.
See Client Credentials & OAuth → and Building Custom Surfaces →.
Channel Requirements for Publishing
At least one channel must be configured before an app version can be published. DirectLine is always present, so this requirement is effectively always met.
Planned Channels
- Slack — not yet implemented. No Slack feature module exists currently.
This section is a work in progress.