3 releases
| 0.1.2 | Mar 8, 2026 |
|---|---|
| 0.1.1 | Feb 12, 2026 |
| 0.1.0 | Feb 11, 2026 |
#8 in #symbiont
Used in symbi
155KB
3.5K
SLoC
symbi-channel-adapter
Chat channel adapters for the Symbi platform — bidirectional Slack, Teams, and Mattermost integration for AI agents.
Overview
symbi-channel-adapter provides a ChannelAdapter trait and platform-specific implementations that let users invoke Symbi agents directly from chat platforms and receive policy-enforced, audit-logged responses.
Features
| Feature | Default | Platform |
|---|---|---|
slack |
Yes | Slack Events API, slash commands, Socket Mode |
teams |
No | Microsoft Teams Bot Framework, OAuth2 |
mattermost |
No | Mattermost outgoing webhooks, REST API |
enterprise-hooks |
No | Policy, DLP, and crypto audit hooks |
Usage
use symbi_channel_adapter::{ChannelAdapterManager, ChannelConfig, SlackConfig};
let config = ChannelConfig {
platform: SlackConfig {
bot_token: std::env::var("SLACK_BOT_TOKEN").unwrap(),
app_token: std::env::var("SLACK_APP_TOKEN").unwrap(),
signing_secret: std::env::var("SLACK_SIGNING_SECRET").unwrap(),
..Default::default()
}.into(),
..Default::default()
};
let manager = ChannelAdapterManager::new(config);
Enabling additional platforms
[dependencies]
symbi-channel-adapter = { version = "0.1", features = ["slack", "teams", "mattermost"] }
Architecture
The crate is built around a few core abstractions:
ChannelAdapter— trait for sending/receiving messages on a chat platformInboundHandler— trait for processing incoming messages and slash commandsChannelAdapterManager— orchestrates multiple adapters with health checks and lifecycle managementAgentInvoker— trait bridging chat messages to Symbi agent execution
Each platform adapter handles authentication, signature verification, and message formatting specific to its platform.
Part of Symbiont
This crate is part of the Symbiont workspace. For the full agent framework, see the symbi crate.
License
Apache-2.0
Dependencies
~8–17MB
~231K SLoC