# Channel

A named place where messages circulate: a Slack DM, a channel, an address or a webhook.

A Channel is a named place where messages circulate: a Slack channel or direct message, an e-mail address, an SMS number, a webhook or a form. Who it serves and why is a [Channel Binding](/systems/communication/entity-channel-binding); what went through it is a [Message](/systems/communication/entity-message). The semantic type is `ops:Channel`, pending vocabulary release.

[![A registered channel: the Slack DM used by the Daily Digest.](/systems/communication/screens/comm-channel-record.png)](/systems/communication/screens/comm-channel-record.png)

## Fields

### Identity and lifecycle

| Field | Storage | Meaning |
| --- | --- | --- |
| Name | Text | The name people use, without the # prefix; a short label for an address or webhook. Primary field. |
| Channel Type | Single select | Tool Channel, Email, SMS, Webhook, Form, Direct Message |
| External Identifier | Text | The tool's channel id, or the address, number or webhook URL. Not the Airtable record id. |
| Description | Long text | Operational purpose and posting boundary. |
| Lifecycle Status | Single select | Draft, Active, On Hold, Archived. Does not prove access or that the tool still has the channel. |

### Where it lives

| Field | Storage | Meaning |
| --- | --- | --- |
| Tool | Linked records | [Tool (mirror)](/systems/communication/entity-tool); one tool for a Tool Channel, blank for other kinds |
| Tool Workspace | Linked records | [Tool Workspace (mirror)](/systems/communication/entity-tool-workspace); the workspace inside that tool |
| Tags | Linked records | [Tags (mirror)](/systems/communication/entity-tags); optional labels |

### Use and history

| Field | Storage | Meaning |
| --- | --- | --- |
| Bindings | Linked records | Inverse of Channel Binding → Channel; read only here |
| Rules | Linked records | Inverse of Notification Rule → Channel; read only here |
| Messages | Linked records | Inverse of Message → Channel; read only here |
| Last Sent | Rollup | Latest Sent At among linked Messages |
| Active Bindings | Rollup | Sum of Is Current among linked Bindings; 0 means nobody is served right now |

## Calculated rules

Last Sent and Active Bindings are rollups over Messages and Bindings. Last Sent counts every row with a Sent At, including Daily Digest dry runs whose External Message Id starts with `dry-run-`; it is the last recorded attempt marked Sent, not proof of delivery.

## Lifecycle and checks

Draft → Active → On Hold or Archived. Archive a channel that closed in the tool; keep it for its message history. No formula or view checks a Channel: the rule that a Tool Channel has a Tool and Tool Workspace, and that a channel used by a binding or rule is Active, is written in the field descriptions only.

Treat External Identifier as sensitive when it holds a webhook URL: anyone with base access can read it, and anyone holding the URL can call the endpoint.

## Example

Fictitious: Name `billing-alerts`, Channel Type Tool Channel, External Identifier `C0BRZNQM5UL`, Tool Slack, Tool Workspace Bluebird (Slack), Lifecycle Status Active. A binding `billing-alerts · Bluebird · Billing` makes Active Bindings 1.

## Next steps

[Register channels and rules](/systems/communication/register-channels) · [All entities](/systems/communication/entities)