Channels
Channels group items by topic, team, or system. They control visibility — users only see items in channels they belong to.
Channel Modes
| Mode | Description |
|---|---|
open | Any org member can see items (default) |
private | Only members can see items |
direct | Reserved for direct message channels |
API
List Channels
curl http://localhost:3000/api/channels \
-H "Authorization: Bearer TOKEN"Create a Channel
curl -X POST http://localhost:3000/api/channels \
-H "Authorization: Bearer TOKEN" \
-d '{"name": "deploys", "mode": "open"}'Channel names are unique within an org.
Assigning Items to Channels
When creating an item (via REST or MCP), pass the channel_id:
# REST
curl -X POST http://localhost:3000/api/items \
-H "Authorization: Bearer TOKEN" \
-d '{"title": "Build failed", "channel_id": "CHANNEL_UUID"}'// MCP — klaxon.notify
{
"name": "klaxon.notify",
"arguments": {
"title": "Build failed",
"channel": "deploys"
}
}Per-Channel Notification Rules
Users can configure notification behavior per channel:
| Setting | Values |
|---|---|
muted | true / false — suppress all push notifications |
min_level | Only notify for items at or above this level (e.g. error) |
sound | Override notification sound |
email_enabled | true / false — send email notifications for this channel |
email_digest | true / false — aggregate into daily digest instead of per-event |
Channel Routes (Outbound Integration)
Channels can have outbound routes that automatically forward item events to external URLs. When an item is created in a routed channel, the server POSTs the event payload to each route.
Routes are stored as a JSON array on the channel:
{
"routes": [
{ "type": "webhook", "url": "https://hooks.slack.com/services/..." },
{ "type": "webhook", "url": "https://n8n.example.com/webhook/..." }
]
}Each route receives the same payload as outbound webhooks, with X-Klaxon-Event header. This reuses the webhook delivery infrastructure — no separate configuration needed.
Route fan-out fires alongside regular webhook delivery on every item mutation (create, answer, dismiss, archive, etc.).
Channel Visibility
Channel membership controls item visibility:
- open channels: all org members can see items
- private channels: only members can see items
- Items with no channel: visible to all org members
This is enforced at the SQL query level — item list queries check channel mode and membership.