Channels & ProvidersChat
Discord
Configure Discord as a chat provider in Notiflows
Discord integration enables notifications to be sent to Discord channels and servers via the Discord Bot API.
Configuration
To create a chat channel with Discord, configure the following:
| Field | Required | Description |
|---|---|---|
| Bot Token | Yes | Discord bot token from the Developer Portal |
Prerequisites
Before configuring Discord in Notiflows:
- A Discord server where you have admin permissions
- A Discord application created at the Developer Portal
Creating a Discord Bot
- Go to discord.com/developers/applications
- Click New Application and give it a name
- Navigate to Bot in the left sidebar
- Click Reset Token to generate a new bot token — copy it immediately
- Under Privileged Gateway Intents, enable Message Content Intent if you need to read messages
- Navigate to OAuth2 > URL Generator
- Select the
botscope and the following permissions:Send MessagesEmbed LinksAttach Files(optional, for rich media)
- Copy the generated URL and open it to invite the bot to your server
Setup in Notiflows
- Navigate to Channels in your project
- Click Create Channel
- Select Chat as the channel type
- Select Discord as the provider
- Paste your Bot Token
- Save the channel
User Channel Settings
To send Discord notifications to a user, set their target channel via the Admin API:
curl -X PUT /api/admin/v1/users/:user_external_id/channel-settings/:channel_id \
-d '{ "settings": { "discord_channel_id": "1234567890123456789" } }'| Field | Description |
|---|---|
discord_channel_id | Discord channel ID where messages will be sent |
To find a channel ID, enable Developer Mode in Discord settings, then right-click a channel and select Copy Channel ID.
Templates
Chat templates support two content types:
- Markdown — Discord-flavored markdown formatting
- JSON — Discord embed format for rich messages
Use Liquid templating for dynamic content:
New deployment by {{ actor.first_name }}: **{{ data.service }}** → `{{ data.version }}`For rich embeds, use JSON content type:
{
"title": "Deployment Complete",
"description": "{{ data.service }} deployed to {{ data.environment }}",
"color": 3066993
}Available variable contexts:
recipient.*— Recipient user dataactor.*— User who triggered the notificationdata.*— Custom payload passed when triggering the notiflow