Discord
The Discord block lets your workflow talk to a Discord server through a bot — send messages and rich embeds, manage channels and threads, assign roles, moderate members, and post through webhooks.
Community Automation: Connect a Discord bot once, then send alerts, welcome new members, create channels, and run moderation actions automatically from any workflow.
Key Features
- Messaging: Send, edit, and delete messages, post rich embeds, and add reactions
- Channel Management: Create, update, and delete channels, and start threads
- Roles & Members: Add or remove roles, list members, kick or ban users
- Server Tools: Create invites, read server info, and post via incoming webhooks
- 21 Operations: Everything runs through your own Discord bot token
Operations
Messages
| Operation | Description |
|---|---|
| Send Message | Post a text message to a channel |
| Send Embed | Post a rich embed (title, description, color, URL) — or pass full embed JSON |
| Get Message | Fetch a single message by ID |
| List Messages | Fetch recent messages from a channel (default limit 50) |
| Edit Message | Change the content or embeds of a bot message |
| Delete Message | Remove a message |
| Add Reaction | React to a message with an emoji |
| Send Webhook | Post a message through a Discord incoming webhook URL (no bot needed for this one) |
Channels & Threads
| Operation | Description |
|---|---|
| Get Channel | Fetch details of one channel |
| List Channels | List all channels in the server |
| Create Channel | Create a text (0), voice (2), or category (4) channel |
| Update Channel | Rename a channel or change its topic |
| Delete Channel | Remove a channel |
| Create Thread | Start a thread in a channel, or from a specific message |
Roles, Members & Server
| Operation | Description |
|---|---|
| Add Role | Give a role to a member |
| Remove Role | Take a role away from a member |
| List Members | List server members (default limit 100) |
| Kick Member | Remove a member from the server (with optional audit-log reason) |
| Ban Member | Ban a member, optionally deleting their recent messages (0–604800 seconds) |
| Create Invite | Generate an invite link with max age, max uses, and temporary membership options |
| Get Guild Info | Fetch information about the server |
Configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
| Credentials | Select | Yes | Your saved Discord bot token |
| Action | Select | Yes | One of the 21 operations above |
| Server ID (guildId) | Text | For server ops | The Discord server ID |
| Channel ID | Text | For channel/message ops | The target channel |
| Message ID | Text | For message ops | The target message |
| User ID / Role ID | Text | For member/role ops | The target member or role |
| Content | Text | For send/edit | The message text — supports {{variables}} |
| Embed fields | Text | For Send Embed | Title, description, color (#RRGGBB or decimal), URL — or a JSON array of embed objects |
| Webhook URL | Text | For Send Webhook | The Discord incoming webhook URL |
Turn on Developer Mode in Discord (User Settings → Advanced) to copy server, channel, message, user, and role IDs with a right-click.
Connecting your Discord bot
- Go to the Discord Developer Portal (opens in a new tab) and click New Application.
- Open the Bot tab and click Reset Token. Copy the bot token — this is the only credential Indite needs.
- Under OAuth2 → URL Generator, select the
botscope and the permissions your workflow uses (for example Send Messages, Manage Channels, Manage Roles, Kick Members, Ban Members). - Open the generated URL and invite the bot to your server.
- In Indite, add the Discord block, click Connect new, and paste the Bot Token.
The bot can only act where it has permission. If an operation fails with a permission error, check the bot's role permissions in your server settings — and note that a bot cannot manage roles or members ranked above its own highest role.
Output
The block returns the raw Discord API response. Reference fields in later blocks with {{<blockId>.<field>}}.
| Operation | Output |
|---|---|
| Send/Get/Edit Message, Send Embed | The full message object (id, content, channel_id, author, ...) |
| List Messages / List Channels / List Members | An array of objects |
| Create Channel / Create Thread / Create Invite / Get Guild Info | The created or fetched object |
| Add/Remove Role, Delete Message, Kick/Ban Member, Add Reaction, Send Webhook | A simple confirmation flag such as { "added": true }, { "deleted": true }, or { "sent": true } |
Example: deployment alerts
- Webhook Trigger — your CI system calls the workflow when a deploy finishes.
- Condition — check whether the deploy succeeded or failed.
- Discord → Send Embed — post to the
#deploymentschannel with a green embed on success or a red one (embedColor: #ff0000) on failure, using{{trigger.data.version}}in the title.