doublesecretagency / craft-notifier
First-class Notifications for Craft CMS.
Package info
github.com/doublesecretagency/craft-notifier
Type:craft-plugin
pkg:composer/doublesecretagency/craft-notifier
Requires
- craftcms/cms: ^4.5.0 || ^5.0.0
- league/html-to-markdown: ^5.1
- nystudio107/craft-code-editor: ^1.0
- nystudio107/craft-twig-sandbox: ^4.0.2 || ^5.0.2
- php-mqtt/client: ^2.0
- twilio/sdk: ^7.14
Requires (Dev)
- phpunit/phpunit: ^10.0
README
Notifier plugin for Craft CMS
First-class Notifications for Craft 4 and Craft 5.
Event Types • Message Types • Recipient TypesIt can best be explained with the following formula:
When an [EVENT] occurs, send a [MESSAGE] to designated [RECIPIENTS].
Notifier currently supports 11 event types and 15 message types. Combine them however you'd like, for example...
To see what else Notifier can do, check out the complete documentation ➡️
How It Works
Event Types
Trigger notifications from a variety of events across native Craft elements, third-party plugins, and other data sources.
Message Types
Send to a broad selection of message types, regardless of how the message was triggered.
Recipient Types
Target different recipients based on the selected message type. Specify one or more Craft users when relevant.
Highly Flexible Notifications System
In addition to the core EVENT / MESSAGE / RECIPIENTS architecture, Notifier is an extremely flexible tool for delivering the right message, to the right person, at the right moment. You can monitor individual fields, write custom messages in Twig, dynamically determine the target of a message, and see a complete log record of what's been sent out.
Field-Level Conditions
Detect changes to specified fields, and only send a notification when those fields have changed (or match a specific value).
Write Messages in Twig
Compose every message with 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 the recipient depends on the triggering event, Dynamic Recipients allows you to pass the target into the {% setRecipients %} tag. For example, to message the author of a published entry:
{% setRecipients entry.author %}
Notification Log
Every outgoing message is logged, giving you a clear view of how each one was handled. Keep the log size in check with the logRetentionDays and logRetentionRecords settings.
How to Install the Plugin
To get started, see the complete installation instructions ➡️
Further Reading
If you haven't already, flip through the complete plugin documentation.
And if you have any remaining questions, feel free to reach out to us (via Discord is preferred).
On behalf of Double Secret Agency, thanks for checking out our plugin! 🍺