tomatophp / filament-twilio
Send Whatsapp messages using Twilio and native filament Notification Facade class
Fund package maintenance!
Requires
- php: ^8.2
- filament/filament: ^5.0
- filament/notifications: ^5.0
- tomatophp/console-helpers: ^1.1
- twilio/sdk: ^8.2
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.24
- orchestra/testbench: ^10.0|^11.0
- pestphp/pest: ^4.0|^5.0
- pestphp/pest-plugin-laravel: ^4.0|^5.0
- pestphp/pest-plugin-livewire: ^4.0|^5.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-15 06:33:17 UTC
README
Filament Twilio
Send Whatsapp messages using Twilio and native filament Notification Facade class
Screenshots
Requirements
| Package version | Filament | Laravel | PHP |
|---|---|---|---|
| 5.x | 5.x | 12.x, 13.x | 8.2+ |
| 1.x | 3.x | 10.x, 11.x | 8.1+ |
The Filament v3 line continues on the v3 branch.
Installation
composer require tomatophp/filament-twilio
Using
first of all you need to add this variables to your .env file
TWILIO_SID= TWILIO_TOKEN= TWILIO_SENDER_NUMBER=
then clear you cache
php artisan config:cache
Messages are sent from a queued job to the model's phone column (E.164 format, for example +201000000000). Users without a phone number are skipped, and nothing is sent until the SID, token and sender number are configured.
now on your User model add this trait
use TomatoPHP\FilamentTwilio\Traits\InteractsWithTwilioWhatsapp; class User extends Authenticatable { use InteractsWithTwilioWhatsapp; }
now you are ready to use the notification
\Filament\Notifications\Notification::make() ->body('Your Message You Like To Send Here!') ->sendToTwilioWhatsapp( user: $user, mediaURL: "https://images.unsplash.com/photo-1545093149-618ce3bcf49d?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=668&q=80" );
or you can use it from user model direct
$user->notifyTwilioWhatsapp( message: 'Your Message You Like To Send Here!', mediaURL: "https://images.unsplash.com/photo-1545093149-618ce3bcf49d?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=668&q=80" );
Publish Assets
you can publish config file by use this command
php artisan vendor:publish --tag="filament-twilio-config"
Testing
The Twilio client is resolved from the container, so you can swap it in your own tests (the package suite uses a fake Twilio\Http\Client and never calls Twilio):
composer test
Other Filament Packages
Checkout our Awesome TomatoPHP

