Discord Notification Node
The Discord Notification node sends messages and rich embeds to Discord channels using webhooks. No bot required — just a webhook URL from your server settings.
Configuration
Message
Embed
Setting Up a Discord Webhook
Before you can use this node, you need a webhook URL from Discord. Here is how to get one:
- Open your Discord server and go to Server Settings.
- Navigate to Integrations in the left sidebar.
- Click Webhooks, then New Webhook.
- Give your webhook a name (e.g., "NickAI Alerts") and select the channel where messages should be posted.
- Click Copy Webhook URL.
- In NickAI, go to Credentials and add a new Discord credential. Paste the webhook URL there.
Once saved, select that credential in the Discord Notification node's Webhook Credential dropdown.
Configuration
| Field | Description |
|---|---|
| Webhook Credential | Your saved Discord webhook credential. Required. |
| Content | The main message text. Supports Discord markdown (**bold**, *italic*, `code`). Use {{edge_label.field}} to inject dynamic values. |
| Username | Override the webhook's default display name. Optional. |
| Avatar URL | Override the webhook's default avatar image. Must be a valid image URL. Optional. |
Rich Embeds
Embeds let you send structured, visually rich messages with colors, images, and links. All embed fields are optional — use as many or as few as you need.
| Field | Description | Limit |
|---|---|---|
| Embed Title | Bold title at the top of the embed. | 256 characters |
| Embed Description | Body text of the embed. Supports Discord markdown and {{interpolation}}. | 4,096 characters |
| Embed Color | Sidebar color. Use hex (#00FF00) or decimal (65280). | 0 -- 16,777,215 |
| Embed URL | Makes the embed title a clickable link. | Valid URL |
| Embed Footer | Small text at the bottom of the embed. | 2,048 characters |
| Embed Image URL | Large image displayed at the bottom of the embed. | Valid URL |
| Embed Thumbnail URL | Small image in the top-right corner of the embed. | Valid URL |
Template Interpolation
Use double curly braces to inject live data from upstream nodes into your message content and embed fields. The edge_label is the label on the edge connecting the upstream node to this one.
| Expression | Resolves to |
|---|---|
| {{price_data.data.prices[0].current}} | Current price from a Price Data node |
| {{exchange.symbol}} | Symbol from an Exchange Order node |
| {{llm.output}} | Text output from an LLM node |
| {{my_function.signal}} | A custom field from a Function node |
Example: Trading Alert Message
Content field:
**Trade Executed** on {{exchange.symbol}}
Embed Title:
{{exchange.symbol}} Order Filled
Embed Description:
**Side:** {{exchange.side}}
**Price:** ${{exchange.price}}
**Quantity:** {{exchange.quantity}}
Executed at {{exchange.timestamp}}
Embed Color: #00FF00 for buys, #FF0000 for sells (use a Function node upstream to set the color dynamically).
Embed Footer:
Powered by NickAI
Example Workflow
A typical pattern: fetch market data, analyze it with an LLM, execute a trade if conditions are met, then send a Discord notification with the results.
In this workflow, the Discord notification only fires when a trade is actually executed. You could also add a second Discord node on the "False" branch to notify when the bot decides to hold.
Output
| Path | Description |
|---|---|
| {discord.success} | true if the message was sent, false otherwise |
| {discord.message} | "Discord message sent successfully" or an error description |
| {discord.webhookId} | The numeric webhook ID (extracted from the URL) if the send succeeded |
discord with your node's actual edge label. If the edge connecting this node to the next is labeled alert, use {alert.success}.Troubleshooting
| Problem | Solution |
|---|---|
| "Discord credential is required" | Select a webhook credential in the node configuration. |
| "Invalid Discord webhook URL" | The URL must start with https://discord.com/api/webhooks/ or https://discordapp.com/api/webhooks/. Verify your credential. |
| "Either message content or embed fields must be provided" | Fill in the Content field or at least one embed field. |
| Request timed out | The Discord API did not respond within 10 seconds. Check your internet connection and try again. |
| 401 / 403 error | The webhook has been deleted or is invalid. Create a new one in Discord and update your credential. |
Next Steps
- Email Notification Node -- Send trade alerts via email.
- Telegram Notification Node -- Send notifications to Telegram.
- Slack Notification Node -- Post to Slack channels.
- Conditional Node -- Route decisions before notifying.
- Credentials -- Manage your Discord webhook credentials.