# Operate Channels with the CLI

> Inspect deployed Channels, send outbound messages, read receipts and events, and manage alarms.

## Before you begin {#before-you-begin}

Deploy Channel and Auth Provider packages through the common deployment command, then select their namespace. Obtain read authority for inspection, send authority for outbound messages, and manage authority for alarms. Keep delivery and alarm ids stable in reviewed JSON bodies.

## Steps {#steps}

1. List and inspect Channels:

   ```sh
   constal channels list
   constal channels get support-webhook --output json
   ```

2. Confirm the exact protocol, Auth Provider, target Agent, customer-identity mode, capabilities, and deployment revision.
3. Send an outbound SDK `ChannelMessage` with `constal channels send <channel> --body @message.json`.
4. Read its durable receipt with `channels message <channel> <message-id>` and inspect bounded protocol history with `channels events`.
5. Schedule an SDK `ChannelAlarm` through `channels alarm <channel> --body @alarm.json`. Inspect or cancel the exact alarm with `alarm-get` or `alarm-cancel`.
6. Test inbound public protocol requests with their native client. The CLI does not bypass the Channel’s Auth Provider or synthesize accepted identity evidence.

## Verify {#verify}

Confirm invalid inbound proof fails before Channel execution, valid proof maps to the intended principal/customer, and duplicate delivery ids return the recorded outcome. For outbound work, retain the receipt and compare Channel events with the resulting Run where applicable.

## Next steps {#next-steps}

Read [Build Channels with the SDK](/docs/channels/sdk.md), [Operate Channels](/docs/channels/operate.md), and the [Channels command reference](/docs/cli/reference.md#channels).
