channels. Every route is per account; a key bound to another account gets 403 account_mismatch.
Kinds
A kind that isn’t set up on the deployment always answers
400 channel_kind_unavailable with a plain reason, never a broken link. One agent has at most one connection per kind (409 channel_already_connected), and one Slack workspace or address belongs to one account in a project.
Connection object
status is pending, connected or failed (error says why).
Messages that arrive
Inbound messages on a connected channel go to the agent, and to your webhooks asmessage.received with account_id, agent_id, channel, from and text. See Webhooks.
For contributors
Connection records are theplatform_channel_connections table (migration 075_platform_channel_connections.sql). Read live connections with status = 'connected' AND deleted_at IS NULL. The runtime side (binding the address or Slack team to the agent) is cmd/allternit-api/src/platform_twin.rs.