---
title: "Create a channel"
description: "Creates a webhook (the default), email or Slack channel. Slack needs a connected workspace, otherwise 409. Telegram chats are connected in the dashboard. A webhook's signing secret appears only in this response."
canonical: https://docs.rumoro.dev/api/alerts/create-channel
markdown: https://docs.rumoro.dev/api/alerts/create-channel.mdx
---

# Create a channel

`POST /v1/channels`

Creates a webhook (the default), email or Slack channel. Slack needs a connected workspace, otherwise 409. Telegram chats are connected in the dashboard. A webhook's signing secret appears only in this response.

## Body

| Field | Required | Description |
| --- | --- | --- |
| `kind` |  |  |
| `channelId` |  | The id of a channel in the connected Slack workspace. |
| `channelName` |  | The Slack channel's name, used as the label. |
| `events` |  | Account events to send to this endpoint, in addition to what rules send. These are keyword and wallet changes and attention events. Leave it out for none. |
| `emails` |  | Each address gets a link to confirm it. Workspace members are confirmed right away. |
| `url` |  | The URL that receives the signed POST requests. Must be https in production. |
| `label` |  | A name for the channel. Defaults to the URL's host. |
| `headers` |  | Additional headers to send with each request, such as your own auth. |

## Responses

| Status | Meaning |
| --- | --- |
| 201 | Created. For a webhook this is the only time the signing secret is shown. |
| 400 | The channel kind doesn't support one of the events. Slack, email and Telegram accept attention events only |
| 401 | The API key is missing or not valid |
| 409 | This workspace has not connected Slack |

The [OpenAPI document](https://api.rumoro.dev/v1/openapi.json) has every schema. Rules shared by all endpoints are in [Conventions](https://docs.rumoro.dev/conventions.mdx).
