Rules and policies
A policy decides who should know, when, how urgently and with which level of verification. In a workspace, it is a list of rules plus a few settings (time zone, default action, quiet hours and digest).
Actions
Section titled “Actions”| Action | What happens |
|---|---|
notify |
A notification is delivered now. |
digest |
The event is grouped into a summary sent at the end of the digest window. |
suppress |
The event is stored in the history but nobody is notified. |
escalate |
Notifies with high priority and adds the rule’s extra recipients. |
A rule
Section titled “A rule”Rules are evaluated in position order; the first match wins. When no rule matches, the workspace default_action applies.
{ "name": "dokploy-info-suppressed", "enabled": true, "position": 30, "match": { "source": ["dokploy"], "type": ["deploy.*"], "severity_max": "info" }, "action": "suppress", "params": {}}match field |
Meaning |
|---|---|
source |
List of sources. |
type |
List of event types; deploy.* matches every deploy. type. |
severity, severity_min, severity_max |
Exact list or a range of severities. |
hours |
Time window: { "from": "09:00", "to": "18:00", "tz": "America/Sao_Paulo", "days": ["mon", "tue"] }. |
params field |
Meaning |
|---|---|
priority |
normal or high. |
recipients |
Extra recipients (used by escalate). |
channels |
Delivery channels; today app. |
bypass_quiet |
true to deliver even during quiet hours. |
Rule names are lowercase (^[a-z0-9][a-z0-9_.-]*$) and unique in the workspace.
Quiet hours and digest
Section titled “Quiet hours and digest”Workspace settings define the time zone, the default action, quiet hours and the digest:
{ "timezone": "America/Sao_Paulo", "default_action": "notify", "quiet_hours": { "from": "22:00", "to": "07:00", "days": ["mon", "tue", "wed", "thu", "fri"], "min_severity": "high", "action": "digest" }, "digest": { "window": "30m", "max_events": 20 }}During quiet hours, events below min_severity are turned into a digest (or suppressed), unless the rule has bypass_quiet: true.
Where rules come from
Section titled “Where rules come from”| Origin | Editable in the app |
|---|---|
api |
Yes: created in Rules in app.notific.me, through the API or by an agent over MCP. |
yaml |
No: managed in a YAML file in the repository of a self-hosted server. Changes there overwrite the workspace on the next deploy. |
default |
No: built-in defaults. |
Simulate before saving
Section titled “Simulate before saving”Rules in app.notific.me has a simulator: “would this event be notified?”. It runs the same engine as production, shows the decision (notify, digest, suppress, escalate), the reason (rule, default or quiet_hours) and which rule matched, and can test rules that are not saved yet. The same is available as POST /v0/workspaces/{handle}/rules/simulate.