Create Channel
discord.create_channel
ActionChat & messagingconnection required
Calls the Discord API with the connection's credentials.
Create a channel in a server.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- API key
- Providers
- Discord
- Secret shape
- the bot token (sent as "Authorization: Bot <token>") for every op except discord.execute_webhook, whose secret is the webhook URL
- Resolved by
- config.connection_id, else node.connection_id
Configuration
9 fields, 2 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
guild_id Id of the Discord server (right-click the server → Copy Server ID). | string | Yes | — | — | — |
name Channel name, 1-100 characters. | string | Yes | — | 1–100 characters | — |
type What kind of channel to create. | string | No | text | one of "announcement", "category", "forum", "media", "stage", "text", "voice" | — |
topic Channel topic, up to 1024 characters. | string | No | — | ≤ 1024 characters | — |
parent_id Id of the category to create the channel inside. | string | No | — | — | — |
nsfw Mark the channel age-restricted. | boolean | No | — | — | — |
rate_limit_per_user Slow mode: seconds a member must wait between messages, 0-21600. | number | No | — | 0–21600 | — |
position Sort position in the channel list. | number | No | — | ≥ 0 | — |
reason Why the change was made; recorded in the server's audit log. | string | No | — | ≤ 512 characters | — |
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"type": "text"
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
id Id of the channel. | string | — |
type Discord channel type (0 text, 2 voice, 4 category, 15 forum…). | number | — |
guild_id Server the channel belongs to. | string | — |
name Channel name. | string | — |
topic Channel topic. | string | — |
parent_id Category the channel sits under. | string | — |
position Sort position in the channel list. | number | — |
nsfw True when the channel is marked age-restricted. | boolean | — |
{
"guild_id": "",
"id": "",
"name": "",
"nsfw": false,
"parent_id": "",
"position": 0,
"topic": "",
"type": 0
}Notes
- Needs a Discord connection whose secret is the bot token.
- Needs the MANAGE_CHANNELS permission in the server.
See Create Channel run in a workflow.
In a technical demo we add the Discord connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.