Skip to content

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") }}