First-class Notifications for Craft 4 and 5
It can best be explained with the following formula:
When an [EVENT] occurs,
send a [MESSAGE]
to designated [RECIPIENTS]
There are endless reasons why you may need a combination of these event/message/recipient types, for example...
- Post to Bluesky when a new entry goes live.
- Email a welcome message when a new User registers.
- Send a Slack message when an RSS feed is updated.
- Text the warehouse when an order is paid.
... and so much more. For more details, see the complete documentation.
How It Works
Event Types
Trigger notifications from a variety of events, including Entries, Assets, Users, Craft Commerce, Digital Products, Solspace Calendar, or even watching RSS/JSON feeds.

Message Types
Regardless of the trigger, you can send a message via email, SMS, Slack, ntfy, Pushover, Bluesky, a control-panel Announcement, or Flash message.

Recipient Types
Messages can be sent to many recipients, including Dynamic Recipients for cases where the recipient is determined at runtime.

Write Messages in Twig
All messages can be composed using normal Twig, including a set of special variables available at runtime. Each message renders through a configurable Twig sandbox.
Personalize the message
Hi {{ recipient.firstName }}, the entry "{{ entry.title }}" was just updated.
Show what changed
The title changed from "{{ original.title }}" to "{{ entry.title }}".
Dynamic Recipients
When you need to determine the recipient at runtime, use Dynamic Recipients and pass the target into the {% setRecipients %} tag:
{% setRecipients entry.author %}
Field-Level Conditions
Detect changes to specified fields, and only send a notification when those fields have changed (or match a specific value).

Notification Log
Every outgoing message is logged, giving you a detailed view of how each message was handled. Restrict log growth with the logRetentionDays and logRetentionRecords settings.

Further Reading
If you haven't already, flip through the complete plugin documentation ➡️
Standard
Plus $49/year after one year.
To install this plugin, copy the command above to your terminal.
This plugin doesn't have any reviews.





