Schedulr for Craft CMS

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.

Schedulr

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.

html
<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.

Write it once. Send it on time.

Schedulr for Craft CMS 5, with no cap on subscribers in either edition.