PHPackages                             a2zwebltd/laravel-email-sequences - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. a2zwebltd/laravel-email-sequences

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

a2zwebltd/laravel-email-sequences
=================================

A portable Laravel drip / lifecycle email-sequence engine — enrol users on registration, schedule time-delayed emails (onboarding, trial nurture, win-back), deliver them on a cron with pluggable eligibility rules, and manage everything from Nova.

v1.1.0(2w ago)023↓50%MITPHPPHP ^8.2

Since Jun 6Pushed 5d agoCompare

[ Source](https://github.com/a2zwebltd/laravel-email-sequences)[ Packagist](https://packagist.org/packages/a2zwebltd/laravel-email-sequences)[ Docs](https://github.com/a2zwebltd/laravel-email-sequences)[ RSS](/packages/a2zwebltd-laravel-email-sequences/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (3)Dependencies (10)Versions (3)Used By (0)

Laravel Email Sequences
=======================

[](#laravel-email-sequences)

[![Packagist Version](https://camo.githubusercontent.com/d4d4b3be06448fd44b95aff36d81fbd1b7c56ce40f0834d61576979b7d70659b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f61327a7765626c74642f6c61726176656c2d656d61696c2d73657175656e6365732e737667)](https://packagist.org/packages/a2zwebltd/laravel-email-sequences)[![Downloads](https://camo.githubusercontent.com/7bf3d2c0695202401589e43e73d0cfde25902577bd4a8cf4bca55c2a518eaf40/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f61327a7765626c74642f6c61726176656c2d666561747572652d766f74696e672e737667)](https://packagist.org/packages/a2zwebltd/laravel-email-sequences)[![PHP](https://camo.githubusercontent.com/b5d4f7901c58ad1ddfff679966f426cc25a9354bab763846b9a7276c2feab4e0/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253545382e322d626c7565)](https://camo.githubusercontent.com/b5d4f7901c58ad1ddfff679966f426cc25a9354bab763846b9a7276c2feab4e0/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253545382e322d626c7565)[![Laravel](https://camo.githubusercontent.com/ee7cca03cd9498dd9ab503e39be1a6c2d5d9f97a7737266a34cecba057a2fa3c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d313225323025374325323031332d626c7565)](https://camo.githubusercontent.com/ee7cca03cd9498dd9ab503e39be1a6c2d5d9f97a7737266a34cecba057a2fa3c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d313225323025374325323031332d626c7565)

A portable Laravel drip / lifecycle email engine. Enrol users into time-delayed email sequences (onboarding, trial nurture, win-back, feedback), deliver them on a cron, and stop a user's sequence the moment they convert — all driven by config and pluggable eligibility rules, with ready-made Nova admin resources.

Designed to drop into any Laravel app while leaving the host in control of its user model, eligibility rules, branding and notifications.

Requirements
------------

[](#requirements)

- PHP 8.2+
- Laravel 11 / 12 / 13
- `laravel/nova` ^5 (optional — auto-registers Nova resources when present)

Installation
------------

[](#installation)

```
composer require a2zwebltd/laravel-email-sequences
php artisan migrate
php artisan vendor:publish --tag=email-sequences-config   # optional
php artisan vendor:publish --tag=email-sequences-views     # optional, to rebrand emails
```

Add the trait to your `User` model:

```
use A2ZWeb\EmailSequences\Concerns\HasEmailSequences;

class User extends Authenticatable
{
    use HasEmailSequences;
}
```

That's it — with `auto_enroll` on (the default), every newly registered user is enrolled into all sequences and delivery runs hourly.

How it works
------------

[](#how-it-works)

1. **Configure** your sequences in `config/email-sequences.php` (code, delay, subject, view). They seed the `email_sequences` table on migrate.
2. **Enrolment** — new users are auto-enrolled (or call `$user->enrollInEmailSequences()` yourself). Each sequence is scheduled relative to the user's registration date.
3. **Delivery** — the `emails:deliver-sequences` command (scheduled hourly) sends every due message, fires `SequenceDelivered`, and marks it sent.
4. **Eligibility** — `should_enroll` gates who gets enrolled; `should_continue`stops a user's remaining deliveries (e.g. once they upgrade to a paid plan). A sequence entry may also define its own `should_send` gate — when it returns false at delivery time, that single message is skipped (marked sent, never retried) while the rest of the user's sequence continues (e.g. skip a "make your first call" nudge for users who already called the API).

Use `emails:backfill-enrollments` to enrol users that pre-date installation or a newly added sequence.

Configuration
-------------

[](#configuration)

See `config/email-sequences.php`:

KeyPurpose`user_model`The model enrolled into sequences`sequences`The sequence set: `code => [name, days_delay, subject, view, should_send?]``sequences.*.should_send``fn ($user) => bool` — skip just this message when false (invokable class-string recommended so the config stays cacheable)`auto_enroll`Enrol every newly-created user automatically`should_enroll``fn ($user) => bool` — gate enrolment`should_continue``fn ($user) => bool` — stop a user's sequence when false`schedule.deliver` / `schedule.cron`Self-scheduling of the delivery command`nova.group` / `nova.user_resource`Nova menu group and User resource for relationsEvents
------

[](#events)

EventWhen`SequenceDelivered`A sequence email was delivered (in-app notifications, analytics)Commands
--------

[](#commands)

CommandPurpose`emails:deliver-sequences`Deliver all due sequence emails (self-scheduled hourly)`emails:backfill-enrollments`Enrol users that have no deliveries yetTesting
-------

[](#testing)

```
composer test
```

License
-------

[](#license)

MIT — see LICENSE file.

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance98

Actively maintained with recent releases

Popularity9

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~31 days

Total

2

Last Release

17d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2b500dd3d9b470b50b1ed911cd24a6fdcce51dd97dceb4f97879f727a14495a8?d=identicon)[dawid-makowski](/maintainers/dawid-makowski)

---

Top Contributors

[![makowskid](https://avatars.githubusercontent.com/u/6271194?v=4)](https://github.com/makowskid "makowskid (4 commits)")

---

Tags

dripdrip-campaignemail-sequenceslaravellaravel-novalaravel-nova-packagelaravel-packagelaravelemailnovaonboardinglifecyclesequencesdrip

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/a2zwebltd-laravel-email-sequences/health.svg)

```
[![Health](https://phpackages.com/badges/a2zwebltd-laravel-email-sequences/health.svg)](https://phpackages.com/packages/a2zwebltd-laravel-email-sequences)
```

###  Alternatives

[inspheric/nova-email-field

A Laravel Nova email field.

33514.2k1](/packages/inspheric-nova-email-field)[markwalet/nova-modal-response

A Laravel Nova asset for Modal responses on an action.

17878.9k](/packages/markwalet-nova-modal-response)[synergitech/laravel-postal

This library integrates Postal with the standard Laravel mail framework.

38117.1k](/packages/synergitech-laravel-postal)[dniccum/custom-email-sender

A tool for Laravel's Nova administrator panel that allows you to send custom email messages that within your application that leverages the applications existing settings and configurations.

6236.7k](/packages/dniccum-custom-email-sender)[flexflux/laravel-elastic-email

Package to send emails with attachements via an Elastic Email Mailer.

1661.0k](/packages/flexflux-laravel-elastic-email)[mydnic/laravel-subscribers

Easily Manage Internal Newsletter Subscribers in Laravel — with campaigns, mail sending, and tracking

265.1k](/packages/mydnic-laravel-subscribers)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
