
Slack SlackIncomingWebhook
CertifiedSend a Slack message using an Incoming Webhook
Slack SlackIncomingWebhook
Send a Slack message using an Incoming Webhook
Add this task to send direct Slack notifications. Check the Slack documentation for more details.
type: io.kestra.plugin.slack.notifications.SlackIncomingWebhookExamples
Send a Slack message via incoming webhook with a text argument with 'messageText' (handles Slack markdown, no escaping needed)
id: slack_incoming_webhook
namespace: company.team
tasks:
- id: send_slack_message
type: io.kestra.plugin.slack.notifications.SlackIncomingWebhook
url: "{{ secret('SLACK_WEBHOOK') }}"
messageText: "Hello from the workflow {{ flow.id }}"
Send a Slack notification on a failed flow execution with payload.
id: unreliable_flow
namespace: company.team
tasks:
- id: fail
type: io.kestra.plugin.scripts.shell.Commands
taskRunner:
type: io.kestra.plugin.core.runner.Process
commands:
- exit 1
errors:
- id: alert_on_failure
type: io.kestra.plugin.slack.notifications.SlackIncomingWebhook
url: "{{ secret('SLACK_WEBHOOK') }}" # https://hooks.slack.com/services/xzy/xyz/xyz
messageText: "Failure alert for flow {{ flow.namespace }}.{{ flow.id }} with ID {{ execution.id }}"
Send a Slack message via incoming webhook with a blocks argument, read more on blocks here.
id: slack_incoming_webhook
namespace: company.team
tasks:
- id: send_slack_message
type: io.kestra.plugin.slack.notifications.SlackIncomingWebhook
url: "{{ secret('SLACK_WEBHOOK') }}"
payload: |
{
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": "Workflow completed: {{ flow.id }}"
}
},
{
"type": "divider"
},
{
"type": "section",
"fields": [
{
"type": "mrkdwn",
"text": "*Namespace:*\n{{ flow.namespace }}"
},
{
"type": "mrkdwn",
"text": "*Execution ID:*\n{{ execution.id }}"
},
{
"type": "mrkdwn",
"text": "*Status:*\n{{ execution.state }}"
},
{
"type": "mrkdwn",
"text": "*Start time:*\n{{ execution.startDate }}"
}
]
},
{
"type": "context",
"elements": [
{
"type": "mrkdwn",
"text": "Triggered by Kestra"
}
]
}
]
}
Send a Slack message through an outbound HTTP proxy.
id: slack_via_proxy
namespace: company.team
tasks:
- id: send_slack_message
type: io.kestra.plugin.slack.notifications.SlackIncomingWebhook
url: "{{ secret('SLACK_WEBHOOK') }}"
messageText: "Hello from behind a proxy!"
options:
proxy:
address: "10.10.10.254"
port: 3128
type: HTTP
Send a Slack message through an authenticated outbound HTTP proxy.
id: slack_via_authenticated_proxy
namespace: company.team
tasks:
- id: send_slack_message
type: io.kestra.plugin.slack.notifications.SlackIncomingWebhook
url: "{{ secret('SLACK_WEBHOOK') }}"
messageText: "Hello from behind an authenticated proxy!"
options:
proxy:
address: "10.10.10.254"
port: 3128
type: HTTP
username: "{{ secret('PROXY_USER') }}"
password: "{{ secret('PROXY_PASSWORD') }}"
Send a Rocket Chat message via Slack incoming webhook.
id: rocket_chat_notification
namespace: company.team
tasks:
- id: send_rocket_chat_message
type: io.kestra.plugin.slack.notifications.SlackIncomingWebhook
url: "{{ secret('ROCKET_CHAT_WEBHOOK') }}"
payload: |
{
"alias": "Kestra TEST",
"avatar": "https://avatars.githubusercontent.com/u/59033362?s=48",
"emoji": ":smirk:",
"roomId": "#my-channel",
"text": "Sample",
"tmshow": true,
"attachments": [
{
"collapsed": false,
"color": "#ff0000",
"text": "Yay!",
"title": "Attachment Example",
"title_link": "https://rocket.chat",
"title_link_download": false,
"fields": [
{
"short": false,
"title": "Test title",
"value": "Test value"
},
{
"short": true,
"title": "Test title",
"value": "Test value"
}
]
}
]
}
Properties
url *Requiredstring
1Slack incoming webhook URL
Check the Create an Incoming Webhook documentation for more details.
messageText string
Message Text or JSON String
The message content as a raw string. It can be plain text with markdown, or a JSON object. If not a valid JSON object, it is automatically wrapped in {"text": "..."}. This property is ignored if the payload property is set.
options
Options
The options to set to customize the HTTP client
io.kestra.plugin.slack.AbstractSlackWebhookConnection-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
Proxy configuration
The proxy configuration used to route outbound HTTP requests. Useful when Kestra runs in a network that requires an outbound proxy to reach the internet.
io.kestra.plugin.slack.AbstractSlackWebhookConnection-ProxyOptions
Proxy host
The hostname or IP address of the proxy server.
Proxy password
The password for proxy authentication (optional).
Proxy port
The port of the proxy server.
HTTPHTTPSOCKSProxy type
The type of proxy: HTTP or SOCKS.
Proxy username
The username for proxy authentication (optional).
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
Slack message payload
pluginDefaultsRef Non-dynamicstring
Reference (ref) of the pluginDefaults to apply to this task.