For Craft CMS 5
Notifications, on a schedule
Write a notification once. Schedulr sends it by web push, email and on-site, now, at a set time, on a repeating schedule, or at 09:00 in each subscriber's own time zone. Somebody who pressed Block is still reachable on-site, so each channel works out its own audience.
Features
Lite composes, schedules and sends. Pro decides who, when for them, and what happened.
One message, three channels
Web push reaches the lock screen with the browser closed, email reaches signed-in users, and on-site reaches anybody who loads a page. A dedupe policy decides what happens when two channels reach the same person.
- Every channel, email only the people push missed, or one channel per person
- One-click unsubscribe headers on every email
Schedules you can see
A recurrence rule is expanded into real rows 90 days ahead, so the control panel lists the next twelve sends rather than promising them. Daily, weekly, monthly and yearly, with intervals, windows, skipped dates and a stop after N.
- Monthly rules clamp to the last day instead of rolling over
- Quiet hours hold a repeating send until morning rather than drop it
In their own time zone
"09:00 in each subscriber's own time zone" becomes one scheduled row per zone, each with its own UTC instant. Recurrence walks dates and applies the time last, so 09:00 stays 09:00 through a clock change. Pro.
Audiences and automations
Build segments from reachability, behaviour, language, platform, time zone, user group and tags. Each one compiles to a single query and counts itself as you edit. Automations send when an entry is published, a user registers, or somebody hasn't visited in N days. Pro.
Know what happened
A delivery ledger records every send to every person on every channel, and it outlives what it records. Pro adds a per-send funnel, A/B tests that declare a winner only once every arm has 100 deliveries, and CSV export.
- Clicks are tracked through a signed link that carries IDs, never a destination
Never looks scheduled while doing nothing
Craft has no scheduler, so Schedulr runs from cron and has a web fallback that stands down whenever cron is seen. The control panel says which of the four states it is in.
- Works alongside the PWA plugin and shares its keys and service worker
- Pure PHP push encryption, pinned to the RFC 8291 test vector
Your own opt-in, or none at all
Pick a native prompt, a bell, a slide-down, or your own markup. In the custom style Schedulr reveals your element when the view and time thresholds are met. The subscribe and unsubscribe attributes work on every page in every style, so a permanent "Notify me" link in the footer works too.
<div data-schedulr-prompt hidden>
<p>Get a notification when we publish something new.</p>
<button data-schedulr-subscribe>Notify me</button>
</div>
<button data-schedulr-unsubscribe>Stop notifying me</button>
<script>
window.addEventListener('schedulr:subscribed', () => {
document.querySelector('.notify-me')?.remove();
});
</script>
Frequently Asked Questions
Worth knowing before you buy it.
Lite has all three channels, sending now, scheduled sends, recurrence, quiet hours and the delivery ledger. Pro adds saved audiences, per-subscriber time zones, automations, A/B testing, click analytics, frequency caps, the per-channel dedupe policy and CSV export. Neither edition caps subscribers or sends.
Nothing is deleted, no schedule is cancelled and no send stops. A segment you built keeps sending to that segment. Lite only refuses to create the next Pro feature.
No. Web push goes straight from your server to the browser vendors' push services (Google, Mozilla, Apple, Microsoft), signed with your own VAPID keys. There is no account to open and no per-subscriber fee.
Cron is the recommended way to run it, as php craft schedulr/run every minute. Without cron a web fallback runs on ordinary page requests, and the control panel tells you which mode is running. It never just looks scheduled while sending nothing.
No. A browser allows one service worker per scope, so when PWA is installed Schedulr borrows its VAPID keys, adopts its subscribers and subscribes through PWA's worker instead of registering its own. PWA itself needs no changes.
Yes, on iOS 16.4 and later, once the site has been added to the home screen. That is Apple's rule, not Schedulr's. Visitors who can't receive push are still reachable on-site and, if they are signed in, by email.
Craft CMS 5.3+ and PHP 8.2+ with the OpenSSL extension, on a site served over HTTPS. Schedulr has no build step and no runtime dependencies beyond Craft's own.
Write it once. Send it on time.
Schedulr for Craft CMS 5, with no cap on subscribers in either edition.