
Discord DiscordIncomingWebhook
CertifiedSend a Discord message using an Incoming Webhook
Discord DiscordIncomingWebhook
Send a Discord message using an Incoming Webhook
Add this task to a list of errors tasks to implement custom flow-level failure notifications. Check the Discord documentation for more details.
type: io.kestra.plugin.discord.DiscordIncomingWebhookExamples
Send a Discord notification on a failed flow execution.
id: unreliable_flow
namespace: company.team
tasks:
- id: fail
type: io.kestra.plugin.scripts.shell.Commands
runner: PROCESS
commands:
- exit 1
errors:
- id: alert_on_failure
type: io.kestra.plugin.discord.DiscordIncomingWebhook
url: "{{ secret('DISCORD_WEBHOOK') }}" # https://discord.com/api/webhooks/000000/xxxxxxxxxxx
payload: |
{
"username": "MyUsername",
"content": "Failure alert for flow {{ flow.namespace }}.{{ flow.id }} with ID {{ execution.id }}",
"embeds": [{
"title": "Discord Notification"
}]
}
Send a Discord message via incoming webhook.
id: discord_incoming_webhook
namespace: company.team
tasks:
- id: send_discord_message
type: io.kestra.plugin.discord.DiscordIncomingWebhook
url: "{{ secret('DISCORD_WEBHOOK') }}"
payload: |
{
"username": "MyUsername",
"tts": false,
"content": "Hello from the workflow {{ flow.id }}",
"embeds": [
{
"title": "Hello from Kestra",
"color": 16777215,
"description": "This is a test message from Kestra",
"footer": {
"text": "Footer text"
}
}
]
}
Properties
url *string
1Webhook URL, which should be taken from the Discord integrations tab
assets
Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.
io.kestra.core.models.assets.AssetsDeclaration
IGNOREFAILWARNAsset failure behavior
Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.
Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.
The assets consumed as inputs.
io.kestra.core.models.assets.AssetIdentifier
1The assets produced as outputs.
io.kestra.plugin.ee.assets.Dataset
1150{}1150io.kestra.plugin.ee.assets.File
1150{}1150io.kestra.plugin.ee.assets.Table
1150{}1150io.kestra.plugin.ee.assets.VM
1150{}1150io.kestra.core.models.assets.External
1150{}1150io.kestra.core.models.assets.Custom
11501Custom asset type
{}1150options
Options
The options to set to customize the HTTP client
io.kestra.plugin.discord.AbstractDiscordConnection-RequestOptions
The time allowed to establish a connection to the server before failing
PT0SThe time an idle connection can remain in the client's connection pool before being closed
UTF-8The default charset for the request
java.nio.charset.Charset
HTTP headers
HTTP headers to include in the request
10485760The maximum content length of the response
PT5MThe time allowed for a read connection to remain idle before closing it
PT10SThe maximum time allowed for reading data from the server before failing
payload string
Discord message payload