PHPackages                             basementdevs/filament-sms - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. basementdevs/filament-sms

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

basementdevs/filament-sms
=========================

This is my package filament-sms

5.0.0(3mo ago)1117MITPHPPHP ^8.3CI failing

Since Sep 16Pushed 3mo agoCompare

[ Source](https://github.com/basementdevs/filament-sms)[ Packagist](https://packagist.org/packages/basementdevs/filament-sms)[ Docs](https://github.com/basementdevs/filament-sms)[ GitHub Sponsors]()[ RSS](/packages/basementdevs-filament-sms/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (2)Dependencies (15)Versions (5)Used By (0)

Basement Developers – Filament SMS
==================================

[](#basement-developers--filament-sms)

[![Latest Version on Packagist](https://camo.githubusercontent.com/0548bc0b263be864d37d89375bea7ae73a217c0f9d611124fa788b82d85c2541/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f626173656d656e74646576732f66696c616d656e742d736d732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/basementdevs/filament-sms)[![GitHub Tests Action Status](https://camo.githubusercontent.com/31606ebf346c6afa70281b5d3b6651a234aae3b90847d089f86b55623552b97c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f626173656d656e74646576732f66696c616d656e742d736d732f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/basementdevs/filament-sms/actions?query=workflow%3Arun-tests+branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/d58f89059ef4180547a062889cc8a507bfaab5ac2568815e970ee05bec8aee6d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f626173656d656e74646576732f66696c616d656e742d736d732f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/basementdevs/filament-sms/actions?query=workflow%3A%22Fix+PHP+code+style+issues%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/cd7fbfe66c2d4755802abe8280867d55801b94adf39304d17c412b1562cf1a74/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f626173656d656e74646576732f66696c616d656e742d736d732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/basementdevs/filament-sms)

A Laravel package that provides an SMS Notification channel powered by Twilio and a Filament v4 resource to view SMS logs in your admin panel. It ships with:

- A custom Notification channel "sms" that dispatches messages via Twilio and persists logs and delivery events.
- A Filament Plugin that registers an "SMS" resource for browsing messages and events.
- Publishable config, views, and auto-discovered database migrations.

Note: This README documents what is present in the repository. Where behavior depends on the host application and isn't explicit in the codebase, TODOs are marked for follow-up.

Overview of the stack
---------------------

[](#overview-of-the-stack)

- Language: PHP 8.3
- Framework: Laravel (Illuminate 12.x APIs)
- Admin: Filament v4
- Package manager: Composer
- Testing: Pest + Orchestra Testbench

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

[](#requirements)

- PHP ^8.3
- Laravel 12.x compatible application
- Filament ^4.0 installed in the host app
- Composer
- Twilio SDK available in the host app
    - The package references Twilio\\Rest\\Client. In this repository the dependency is in require-dev for testing. In your application, ensure `twilio/sdk` is installed.

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

[](#installation)

Install via Composer in your Laravel application:

```
composer require basementdevs/filament-sms
```

If your app does not already depend on Twilio's SDK:

```
composer require twilio/sdk
```

The service provider is auto-discovered via Laravel's package discovery; no manual registration needed.

### Publish assets and run migrations

[](#publish-assets-and-run-migrations)

This package discovers migrations automatically. If you prefer to publish them, use:

```
php artisan vendor:publish --tag="filament-sms-migrations"
php artisan migrate
```

Publish the config file:

```
php artisan vendor:publish --tag="filament-sms-config"
```

Optionally publish the views:

```
php artisan vendor:publish --tag="filament-sms-views"
```

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

[](#configuration)

The published config file is `config/filament-sms.php` and controls:

- Filament navigation group/label/icons/sort
- Backing model for SMS messages
- Enum of providers (currently only Twilio)

Example (defaults from this repo):

```
return [
    'navigation_group' => 'Logs',
    'navigation_label' => 'SMS',
    'navigation_icon_inactive' => \Filament\Support\Icons\Heroicon::OutlinedChatBubbleBottomCenterText,
    'navigation_icon_active' => \Filament\Support\Icons\Heroicon::ChatBubbleBottomCenterText,
    'navigation_sort' => 100,

    'model' => \Basement\Sms\Models\SmsMessage::class,
    'providers_enum' => \Basement\Sms\Enums\SmsProvider::class,
];
```

### Environment variables

[](#environment-variables)

Twilio credentials and defaults are required by your application. The following are commonly used; verify in your project:

```
TWILIO_ACCOUNT_SID=
TWILIO_AUTH_TOKEN=
TWILIO_NUMBER=
```

Filament integration
--------------------

[](#filament-integration)

Register the plugin on your Filament Panel to expose the SMS resource in the navigation:

```
use Basement\Sms\FilamentSmsPlugin;

$panel->plugins([
    FilamentSmsPlugin::make(),
]);
```

The resource lists sms\_messages with details like recipient, related models, timestamps, and recorded events.

Using the SMS notification channel
----------------------------------

[](#using-the-sms-notification-channel)

This package hooks into Laravel's Notification ChannelManager and registers a channel key `sms`.

1. Add a `routeNotificationForSms` (or `routeNotificationFor('sms')`) on your Notifiable model to provide a phone number when not specified by the message:

```
public function routeNotificationForSms($notification): ?string
{
    return $this->phone_number; // E.164 recommended
}
```

2. Create a Notification that defines `toSms()` and returns a TwilioMessage:

```
use Basement\Sms\Notifications\Messages\TwilioMessage;
use Illuminate\Notifications\Notification;

class AccountApproved extends Notification
{
    public function via(object $notifiable): array
    {
        return ['sms'];
    }

    public function toSms(object $notifiable): TwilioMessage
    {
        return TwilioMessage::make($notifiable)
            ->to(null) // optional, if your notifiable supplies the route
            ->from(config('twilio-notification-channel.from')) // or hardcode a valid Twilio number
            ->content('Your account was approved!');
    }
}
```

3. Dispatch the notification as usual:

```
$user->notify(new AccountApproved());
```

The channel will store an `sms_messages` record and related delivery events. In local environments the recipient can be overridden by the `local_development.twilio.to_number` config value.

Note: Delivery status callbacks are not wired up by default. See TODOs above.

Scripts (Composer)
------------------

[](#scripts-composer)

Available scripts in this repository:

- analyse: `composer analyse` – runs PHPStan
- test: `composer test` – runs Pest tests
- test-coverage: `composer test-coverage` – runs tests with coverage
- format: `composer format` – runs Pint

License
-------

[](#license)

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

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.

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance78

Regular maintenance activity

Popularity11

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 71.4% 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 ~167 days

Total

2

Last Release

117d ago

Major Versions

0.1.0 → 5.0.02026-03-02

### Community

Maintainers

![](https://www.gravatar.com/avatar/02c87326bfe0283475a9bd73a12100d564617668fd9fd57eb703ea08f420898e?d=identicon)[DanielHe4rt](/maintainers/DanielHe4rt)

![](https://www.gravatar.com/avatar/106d2f6fe02dbdcecf60145a5fac1e98084bb72869fad272c1fd372ce15a4ff3?d=identicon)[RichardGL11](/maintainers/RichardGL11)

---

Top Contributors

[![danielhe4rt](https://avatars.githubusercontent.com/u/6912596?v=4)](https://github.com/danielhe4rt "danielhe4rt (5 commits)")[![PilsAraujo](https://avatars.githubusercontent.com/u/78178841?v=4)](https://github.com/PilsAraujo "PilsAraujo (2 commits)")

---

Tags

laravelBasement Developersfilament-sms

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/basementdevs-filament-sms/health.svg)

```
[![Health](https://phpackages.com/badges/basementdevs-filament-sms/health.svg)](https://phpackages.com/packages/basementdevs-filament-sms)
```

###  Alternatives

[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3913.7k](/packages/rawilk-profile-filament-plugin)[dotswan/filament-map-picker

Easily pick and retrieve geo-coordinates using a map-based interface in your Filament applications.

128173.7k3](/packages/dotswan-filament-map-picker)[stephenjude/filament-jetstream

A Laravel starter kit built with Filament inspired by Jetstream.

17758.9k2](/packages/stephenjude-filament-jetstream)[stephenjude/filament-debugger

About

104150.5k2](/packages/stephenjude-filament-debugger)[creagia/filament-code-field

A Filamentphp input field to edit or view code data.

57301.3k3](/packages/creagia-filament-code-field)[hydrat/filament-table-layout-toggle

Filament plugin adding a toggle button to tables, allowing user to switch between Grid and Table layouts.

63105.4k2](/packages/hydrat-filament-table-layout-toggle)

PHPackages © 2026

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