PHPackages                             biegalski-llc/notification-tracker - 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. biegalski-llc/notification-tracker

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

biegalski-llc/notification-tracker
==================================

Notification Tracker is a Laravel package that empowers developers to seamlessly track and manage the lifecycle of user notifications. Gain valuable insights into notification status (sent, delivered, read), content, and recipient interactions.

028↓75%[4 PRs](https://github.com/Biegalski-LLC/Notification-Tracker/pulls)PHPCI passing

Since Oct 13Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/Biegalski-LLC/Notification-Tracker)[ Packagist](https://packagist.org/packages/biegalski-llc/notification-tracker)[ RSS](/packages/biegalski-llc-notification-tracker/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (5)Used By (0)

Notification Tracker
====================

[](#notification-tracker)

Notification Tracker is a Laravel package that empowers developers to seamlessly track and manage the lifecycle of user notifications. Gain valuable insights into notification status (sent, delivered, read), content, recipient interactions and more.

This package is meant to be a sensible replacement for the [Mailgun Webhooks For Laravel](https://github.com/Biegalski-LLC/Laravel-Mailgun-Webhooks) package. It is designed to be more flexible, easier to use and less opinionated. The goal is to also target many notification services, rather than a single service.

Every project has different needs. At its core, Notification Tracker acts as a simple vehicle for ingesting notification data sent by third-party service webhooks. It then triggers a Laravel event, allowing you to listen in and do whatever you need with the notification data. This includes storing the content, updating the status, forwarding the email or SMS, and much more.

The flexibility of this approach gives you complete control over how you handle and process your notification data within your Laravel application.

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

[](#installation)

You can install the package via composer:

```
composer require biegalski-llc/notification-tracker
```

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

[](#configuration)

#### Mailgun

[](#mailgun)

In order to track Mailgun notifications, you will need to add the following to your `config/services.php` file.

```
'mailgun' => [
    'webhook_signing_key' => env('MAILGUN_WEBHOOKS_SIGNING_KEY', null)
],
```

Additionally, you'll need to utilize the following middleware for your Mailgun webhook route.

```
BiegalskiLLC\NotificationTracker\Providers\Email\Mailgun\Middleware\ValidateMailgunWebhookMiddleware::class
```

Usage
-----

[](#usage)

```
$notificationTracker = new BiegalskiLLC\NotificationTracker();
```

#### Mailgun

[](#mailgun-1)

```
$notificationTracker->mailgun()
    ->payload( $request->all() )
    ->status('delivered') //change to specific webhook status
    ->run();
```

#### Postmark

[](#postmark)

```
$notificationTracker->postmark()
    ->payload( $request->all() )
    ->status('delivered') //change to specific webhook status
    ->run();
```

#### Custom Handler

[](#custom-handler)

Pass your own custom handler in. Reference existing handlers for examples.

```
use App\Handlers\CustomHandler;

$notificationTracker->email()
    ->handler( CustomHandler::class )
    ->payload( $request->all() )
    ->status('delivered') //change to specific webhook status
    ->run();
```

Events/Listeners
----------------

[](#eventslisteners)

When the notification tracker is run, it will trigger an event containing the notification content and details. You can listen for this event and do whatever you need with the notification data.

Store the notification content, update the delivery status, forward an email or SMS, or anything else you can think of.

#### NotificationTrackerEmailEvent

[](#notificationtrackeremailevent)

```
namespace App\Listeners;

use BiegalskiLLC\NotificationTracker\Events\NotificationTrackerEmailEvent;

class NotificationTrackerEmailListener
{
    public function handle(NotificationTrackerEmailEvent $event)
    {
        //do something with the notification data
    }
}
```

#### NotificationTrackerSmsEvent

[](#notificationtrackersmsevent)

```
namespace App\Listeners;

use BiegalskiLLC\NotificationTracker\Events\NotificationTrackerSmsEvent;

class NotificationTrackerSmsListener
{
    public function handle(NotificationTrackerSmsEvent $event)
    {
        //do something with the notification data
    }
}
```

Testing
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [Michael Biegalski](https://github.com/Biegalski-LLC)
- [paulredmond](https://gist.github.com/paulredmond/14523d3bd8062f9ce48cdd1340b3f171) - Laravel Middleware to Validate a signed Mailgun Webhook.

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance59

Moderate activity, may be stable

Popularity7

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity18

Early-stage or recently created project

 Bus Factor2

2 contributors hold 50%+ of commits

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/70faf37cc3ff7910e0d0cf44f135832da9cda59ee2f34904abdd83cbb97d0bf3?d=identicon)[Biegalski-LLC](/maintainers/Biegalski-LLC)

---

Top Contributors

[![Biegalski-LLC](https://avatars.githubusercontent.com/u/20915124?v=4)](https://github.com/Biegalski-LLC "Biegalski-LLC (4 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (3 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (3 commits)")

### Embed Badge

![Health badge](/badges/biegalski-llc-notification-tracker/health.svg)

```
[![Health](https://phpackages.com/badges/biegalski-llc-notification-tracker/health.svg)](https://phpackages.com/packages/biegalski-llc-notification-tracker)
```

###  Alternatives

[minishlink/web-push

Web Push library for PHP

1.9k12.0M53](/packages/minishlink-web-push)[laravel-notification-channels/twilio

Provides Twilio notification channel for Laravel

2587.7M12](/packages/laravel-notification-channels-twilio)[spatie/url-signer

Generate a url with an expiration date and signature to prevent unauthorized access

4422.3M16](/packages/spatie-url-signer)[mattketmo/email-checker

Throwaway email detection library

2742.0M5](/packages/mattketmo-email-checker)[laravel-notification-channels/discord

Laravel notification driver for Discord.

2371.3M11](/packages/laravel-notification-channels-discord)[eduardokum/laravel-mail-auto-embed

Library for embed images in emails automatically

1702.0M5](/packages/eduardokum-laravel-mail-auto-embed)

PHPackages © 2026

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