to select ↑↓ to navigate
Frappe Framework

Frappe Framework

Open in ChatGPT
Ask ChatGPT about this page
Open in Claude
Ask Claude about this page

Notifications

Notifications

Frappe has two notification systems running in parallel: the Notification DocType for document-triggered alerts, and Email Account for sending the underlying email.

Notification DocType

Configures: "when DocType X reaches state/condition Y, send a message to recipient Z".

Trigger When it fires
New Document created
Submit Document submitted
Cancel Document cancelled
Save Any save
Days After / Days Before Relative to a date field (e.g., 3 days before due_date)
Value Change Specific field changed
Method Custom Python function returns True

Channels: Email, SMS, System Notification (in-app bell icon), Slack, MS Teams.

The message body uses Jinja with doc and frappe available — you can interpolate any field.

Example: invoice payment reminder

Setting Value
DocType Sales Invoice
Trigger Days After
Reference Date due_date
Days 3
Condition doc.outstanding_amount > 0
Recipients doc.customer (resolves to the contact email)
Subject "Reminder: Invoice {{ doc.name }} is overdue"

Email Account

Before any email can leave, configure at least one outgoing Email Account (SMTP) and the Default Outgoing setting in Email Settings. For multi-domain setups, register one Email Account per domain.

System notifications

In-app alerts appear in the desk bell icon. Users see unread counts and can mark as read. Useful for non-urgent updates ("Your report finished generating").

Templates

Recurring email content lives in Email Template — separate from any specific trigger. A Notification can reference an Email Template instead of inline content.

Last updated 3 days ago
Was this helpful?
Thanks!