DiscordIncomingWebhook DiscordIncomingWebhook

yaml
type: "io.kestra.plugin.notifications.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..

Examples

Send a Discord notification on a failed flow execution

yaml
id: unreliable_flow
namespace: prod

tasks:
  - id: fail
    type: io.kestra.plugin.scripts.shell.Commands
    runner: PROCESS
    commands:
      - exit 1

errors:
  - id: alert_on_failure
    type: io.kestra.plugin.notifications.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 }}"
        "embedList": [{
                "title": "Discord Notification"
            }]
      }

Send a Discord message via incoming webhook

yaml
id: discord_incoming_webhook
namespace: dev

tasks:
  - id: send_discord_message
    type: io.kestra.plugin.notifications.discord.DiscordIncomingWebhook
    url: "{{ secret('DISCORD_WEBHOOK') }}"
    payload: |
      {
        "username": "MyUsername",
        "tts": false,
        "content": "Hello from the workflow {{ flow.id }}",
        "embeds": [
            {
                "title": "Discord Hello",
                "color": 16777215
                "description": "Namespace: dev
Flow ID: discord
Execution ID: 1p0JVFz24ZVLSK8iJN6hfs
Execution Status: SUCCESS

[Link to the Execution page](http://localhost:8080/ui/executions/dev/discord/1p0JVFz24ZVLSK8iJN6hfs)",
                "footer": {
                    "text": "Succeded after 00:00:00.385"
                }
            }
        ]
      }

Properties

url

  • Type: string
  • Dynamic: ✔️
  • Required: ✔️
  • Min length: 1

Webhook URL which should be taken from discord integrations tab

payload

  • Type: string
  • Dynamic: ✔️
  • Required:

Discord message payload