> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ravenna.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Channels

> Channels organize tickets by team, topic, or workflow with their own ticket prefix, settings, integrations, and routing rules in each workspace.

Channels organize tickets by team, topic, or workflow. Every ticket belongs to a channel, and each channel functions as a dedicated container with its own:

* **Prefix** - Appears in ticket numbers (e.g., `HELP-123`)
* **Settings** - Controls ticket creation, automation, and notifications
* **Integrations** - Connects to Slack, email, forms, and external systems
* **Routing rules** - Determines which tickets land in the channel

Use channels to separate work by team (Engineering, Support), topic (Bugs, Features), or workflow stage.

## Mental model

A channel is the primary organizational unit for tickets within a workspace. Every ticket belongs to exactly one channel at any given time (though tickets can be shared to additional channels for visibility). A workspace contains one or more channels.

Channels map to how teams divide their work. The relationship hierarchy is: Organization > Workspace > Channel > Ticket.

Key relationships:

* One workspace has many channels.
* One channel has many tickets.
* One channel can connect to many Slack channels (for ticket creation).
* One channel can connect to one AI agent.
* One channel can associate with many forms and knowledge bases.
* A ticket's prefix comes from its channel (e.g., channel prefix "HELP" produces ticket numbers like HELP-123).

***

## Channel design patterns

There are three common approaches to structuring channels within a workspace:

| Strategy        | Example channels                          | Best for                                                 |
| --------------- | ----------------------------------------- | -------------------------------------------------------- |
| **By team**     | Engineering Support, Design Requests      | Workspaces serving multiple internal teams               |
| **By topic**    | Hardware, Software Access, Account Issues | High-volume workspaces where categorization helps triage |
| **By workflow** | Approvals, Incidents, General Requests    | Workspaces with distinct ticket lifecycles per type      |

Most workspaces start with a single general channel and add more as volume grows and patterns emerge. Over-segmenting into too many channels creates confusion and routing complexity.

When a workspace handles requests that follow fundamentally different processes (e.g., quick questions vs. multi-step approvals), separate channels make sense. When the difference is just categorization, use categories or tags within a single channel instead.

***

## Routing priority

When a ticket is created, Ravenna determines which channel it belongs to using this priority order:

1. **Form default channel** - If the form used to create the ticket specifies a default channel, the ticket routes there.
2. **Slack channel connection** - If the Slack channel where the message was posted is connected to a specific Ravenna channel, the ticket routes there.
3. **Workspace default channel** - The workspace's configured default channel catches everything else.

This means form configuration takes precedence over Slack channel mapping, which takes precedence over the workspace default. When designing channel routing, set up form defaults for structured intake paths and Slack connections for organic message-based ticket creation.

***

## Configuration patterns

Different channel use cases call for different setting combinations:

**Agent-handled support channel (e.g., IT Help Desk):**

* Auto create tickets: disabled (the agent handles messages first and creates tickets when needed)
* AI agent: connected
* Send to triage: enabled
* CSATs: enabled

**Auto-create channel (every message becomes a ticket):**

* Auto create tickets: enabled
* Ignore workspace members: enabled (so internal replies do not create tickets)
* AI agent: not connected (auto-create bypasses agent processing)
* Send to triage: enabled

**Backend processing channel (e.g., Approvals, Provisioning):**

* Silent mode: enabled (no mirrors in Slack)
* Auto create tickets: disabled (tickets arrive via forms or workflows)
* Ticket replication: enabled if syncing to Jira or Linear

**Transparent team channel (e.g., Engineering Requests):**

* Auto create tickets: enabled
* Silent mode: disabled (mirrors visible in Slack)
* Public ticket actions: enabled (requesters can update tickets directly)
* Ticket events: enabled (status updates posted to Slack)

***

## Moving vs. sharing tickets

Channels support two mechanisms for cross-channel collaboration:

|                | Move                                        | Share                                            |
| -------------- | ------------------------------------------- | ------------------------------------------------ |
| **Ownership**  | Transfers to the destination channel        | Stays with the original channel                  |
| **Visibility** | Ticket appears only in the new channel      | Ticket appears in all shared channels            |
| **Use case**   | Ticket was routed to the wrong team         | Multiple teams need to collaborate on one ticket |
| **Prefix**     | Changes to the destination channel's prefix | Keeps the original prefix                        |

Move tickets when the original channel should no longer own the request. Share tickets when multiple teams need visibility and the ability to update the same ticket.

For related but separate work items, use ticket links instead of sharing.

***

## Constraints and gotchas

* Every ticket must belong to exactly one channel. There is no "unassigned" state.
* Deleting a channel requires selecting a destination channel for all existing tickets. Tickets are never orphaned.
* Channel prefixes appear in ticket numbers and cannot be changed after creation without recreating the channel.
* Multiple Slack channels can feed into one Ravenna channel, but each Slack channel can only connect to one Ravenna channel at a time.
* "Ignore workspace members" only works when "Auto create tickets" is enabled. Without auto-create, the setting has no effect.
* Silent mode and ticket event notifications are mutually exclusive. Enabling silent mode prevents ticket event messages from being sent to Slack.
* A channel can connect to one AI agent. To change agents, disconnect the current one first.
