Notifications
Task execution can notify you via Email, Slack, and Webhook. Setup has two steps: ① configure the channels under System → Notification; ② on each task, set a notification policy (when to notify, which channel, and who receives it).
1. Global channel config (System → Notification)
The page has three tabs:
Email
- SMTP host / port / user / password: the sending mailbox's SMTP server
- Recipients: one or more email addresses
- Template: the email body template (see template variables below)
Slack
- Webhook URL: a Slack Incoming Webhook URL
- Channels: one or more channels
- Template: the message template
Webhook
- Webhook URL list: each entry has a name and a URL; add as many as you need
- Template: the rendered template is sent as the HTTP request body, POSTed to each URL
2. Template variables
All three channels use Go template syntax with these variables:
| Variable | Meaning |
|---|---|
{{.TaskId}} | Task ID |
{{.TaskName}} | Task name |
{{.Status}} | Execution status |
{{.Result}} | Execution output |
{{.Remark}} | Task remark |
Webhook template example (JSON):
json
{
"task": "{{.TaskName}}",
"status": "{{.Status}}",
"output": "{{.Result}}"
}3. Per-task notification policy (New / Edit task → Notification)
Once the channels are configured, set the policy on a task:
- When to notify: Disabled / On failure only / Always / On keyword match
- Channel: Email / Slack / Webhook
- Recipients: pick from the configured recipients / channels / Webhook URLs
- Keyword: for "on keyword match", only notify when the execution output contains this keyword
Full steps to configure a Webhook
- System → Notification → Webhook tab
- Edit the template (using the variables above, typically a JSON body)
- Add an entry to the Webhook URL list: a name and the receiving URL, then save
- New / Edit task → Notification:
- When to notify: "On failure only" or "Always" (or "On keyword match" with a keyword)
- Channel: Webhook
- Recipients: select the URL you just configured
- Save. After the task runs, the rendered template is POSTed to the matching Webhook URL per your policy.