Notification types
Zenhook draws each kind of event as a widget built from its own history. There is nothing to configure: the payload you already send decides the widget.
A kind of event is a stream: same channel and same title, numbers ignored. “Order 1284 paid” and “Order 1285 paid” are one stream. Keep the title stable and put what changes in message, fields or actor.
When a stream fits several types, the first one in this list wins.
01
Pipeline
- When
- The title contains deploy, build, release, pipeline or CI, or the event carries a workflow block.
- Shows
- The latest run passed or failed, the last runs as a strip, and how many passed.
Send
json
{
"title": "api deploy",
"level": "success",
"message": "v2.4.0"
}

02
Error
- When
- level is error and it happened at least twice today or this week. A single error stays an open card.
- Shows
- Which occurrence today, since when, the hours it hit, the message and your link.
Send
json
{
"title": "Payment webhook failed",
"level": "error",
"message": "Stripe signature mismatch",
"linkUrl": "https://…"
}

03
Money
- When
- A field labelled Amount, Price, Total, Revenue, Paid, Payment or MRR (Montant, Prix, Valor, Preço, Pagamento, Receita also work) holds an amount.
- Shows
- The day's total in the reader's currency format, the number of payments, and the week.
Send
json
{
"title": "Payment received",
"level": "success",
"fields": [
{
"label": "Amount",
"value": "$49.00"
}
]
}

04
Person
- When
- The event has an actor (or user).
- Shows
- Who, with their photo or initials, company and plan, and how many today and this week.
Send
json
{
"title": "New signup",
"actor": {
"name": "Jane Cooper",
"email": "[email protected]"
}
}

05
Streak
- When
- It happens about once a day, at most three times, for three days in a row or more.
- Shows
- How many days in a row, and the week as ticks.
Send
json
{
"title": "Nightly backup",
"level": "success"
}

06
Counter
- When
- The default for anything that repeats: twice today or three times this week.
- Shows
- Today's count, the change against yesterday at the same hour, bars per hour and the peak.
Send
json
{
"title": "Report exported",
"message": "Q3 revenue, CSV"
}

07
Open card
- When
- A one-off event, or the first of its kind.
- Shows
- Everything, without a click: message, fields and link.
Send
json
{
"title": "Domain renewed",
"message": "Auto-renewed for one year.",
"fields": [
{
"label": "Domain",
"value": "acme.com"
}
]
}
