v2.0.0next
Configuration

notify.yaml

Every field in notify.yaml: the notification webhook, and which event types post to it.

This page lists every field in notify.yaml, the file that holds the notification webhook.

config/notify.yaml
enabled: true
url: https://hooks.example.com/services/T000/B000/XXXX   # a secret: never shown back
base_url: https://kraft.example.com
events: [gate_requested, work_item_needs_human]

Settings › Notifications writes this file. How Kraft reads the file says when a hand edit takes effect. See Notifications for the payload and every event type, and Get notified when an item needs you to set it up.

FieldTypeDefaultMeaning
enabledbooleanfalseWhether Kraft posts notifications. Nothing is sent while it is false, or while url is empty.
urlstringunsetThe webhook Kraft posts to. It is a secret and is never shown back.
base_urlstringthe address the server listens onThe start of the link in each notification.
eventslist[gate_requested, work_item_needs_human]The event types that send a notification. Any event type in Events works, but not the Live messages (intake_checked, apply_changed), which are not events. Kraft does not check the names, so a typo sends nothing.

How Kraft reads the file

  • The file does not exist until the first save in Settings. Without it, enabled is false.
  • Kraft reads the file at start and again after each save in Settings. A hand edit takes effect at the next save in Settings or at the next restart.
  • A save in Settings refuses a url or base_url that is not an http or https URL, and enabled: true without a url.
  • A file that is not valid YAML or holds a key this page does not list is not loaded. Kraft logs a warning and sends no notifications until you fix the file by hand and Kraft rereads it, at the next save or restart. A save in Settings answers 422 while the file is broken.
Copyright © 2026