Notifications Webhooks¶
Two endpoints for internal notification dispatch. Unlike external webhooks, these use AnonymousAuthContextProvider with manual Basic Auth validation.
Kay Notifications¶
Route & Auth¶
| Property | Value |
|---|---|
| Method | POST |
| Path | /webhooks/notifications/kay |
| Auth type | Manual Basic Auth (not WebhookAuthContextProvider) |
| Header | Authorization: Basic ... |
| Secret | EU_TOOLS_WEBHOOK_INTERNAL_USER + EU_TOOLS_WEBHOOK_INTERNAL_SECRET_NAME |
| Response | 200 OK |
| Idempotency | @webhook_request_handler with checksum dedup |
Payload¶
Accepts any fields (schema uses INCLUDE unknown).
Behavior¶
Delegates to handle_kay_webhook(payload) for Kay-specific alert processing and Slack notification dispatch.
Generic Notifications¶
Route & Auth¶
| Property | Value |
|---|---|
| Method | POST |
| Path | /webhooks/notifications |
| Auth type | Manual Basic Auth (not WebhookAuthContextProvider) |
| Header | Authorization: Basic ... |
| Secret | EU_TOOLS_WEBHOOK_INTERNAL_USER + EU_TOOLS_WEBHOOK_INTERNAL_SECRET_NAME |
| Response | 200 OK |
| Idempotency | @webhook_request_handler with checksum dedup |
Payload¶
| Field | Type | Description |
|---|---|---|
channel_id |
SlackChannel |
Target Slack channel |
status |
NotificationStatus |
resolved / critical / warning / unknown |
type |
string |
Notification type |
aggregation_key |
string |
Thread aggregation key |
main_message |
string |
Primary notification message |
main_link |
string? |
Link attached to the message |
in_thread_messages |
list[string]? |
Additional messages posted in thread |
slack_handle_to_ping |
string? |
Slack handle to mention |
backend_module |
string? |
Source backend module |
Behavior¶
Delegates to handle_generic_notification(payload) which sends structured Slack notifications using threading and status-based formatting.
Integrations¶
- Slack API: notification delivery
Code reference¶
{{ package_reference("apps.eu_tools.notifications.webhook") }}