Invites
CommunityInvite Users with a table action or a header action.
Author:
Tapp Network
Package health
BetaAutomated checks of this plugin's Composer package
13 checks
-
Passed:
Current Laravel version supported
—
Package dependencies resolve together with current Laravel
13.0. -
Passed:
Current PHP version supported
—
Constraint
^8.3supports current PHP8.5. - Skipped: Current Symfony version supported
- Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist).
- Passed: Commit and release recency — Active: no commit date available; last release 10 days ago.
-
Passed:
composer.lock not committed by library
—
composer.lockis absent from the released dist archive. - Passed: Dist archive is lean
- Skipped: GitHub Actions pinned to SHA
- Passed: Open security advisories
- Passed: Dependabot PR responsiveness — No open Dependabot PRs.
- Skipped: Dependabot or Renovate configured
- Skipped: Dependency update cooldown configured
- Failed: Provides a security policy — View details on Plumb
filament/
namespace. Review the source and install at your own risk. Found
malware or an unresolved security issue the author won't
address?
Report it
.
Documentation
- Version Compatibility
- Installation
- Requirements
- Usage
- Notification Routing
- Customization
- Testing
- Changelog
- Contributing
- Security Vulnerabilities
- Credits
- License
Provides an action to invite users from Filament users resource.
#Version Compatibility
| Filament | Filament Invite | Documentation |
|---|---|---|
| 4.x | 2.x | Check the docs |
| 3.x | 1.x | Current |
#Installation
You can install the package via Composer:
composer require tapp/filament-invite:"^1.0"
You can publish the config using:
php artisan filament-invite:install
#Requirements
- User model which implements password resets and email verification (Laravel defaults)
#Usage
Add invite action to a table
public static function table(Table $table): Table
{
return $table
->actions([
\Tapp\FilamentInvite\Tables\InviteAction::make(),
]);
}
Invite action outside of a table uses a different class
protected function getHeaderActions(): array
{
return [
\Tapp\FilamentInvite\Actions\InviteAction::make(),
];
}
#Notification Routing
The password reset URL can be customized or use the Filament's authentication system:
- Default: Uses Filament's built-in routing (respects panel's
passwordResetRouteSlugconfiguration) - Custom: Uses completely custom routes outside Filament's authentication system
// Get the appropriate panel
$panel = $this->filamentPanelId
? Filament::getPanel($this->filamentPanelId)
: Filament::getDefaultPanel();
if (empty(config('filament-invite.routes.reset'))) {
// Use Filament's built-in routing (respects panel's passwordResetRouteSlug configuration)
$url = $panel->getResetPasswordUrl($this->token, $notifiable, ['invite' => true]);
} else {
// Support both custom routes and full URLs for maximum flexibility
$customRoute = config('filament-invite.routes.reset');
// Check if it's a full URL (starts with http/https)
if (str_starts_with($customRoute, 'http')) {
// Use the full URL directly
$url = $customRoute . '?' . http_build_query([
'token' => $this->token,
'email' => $email,
'invite' => true,
]);
} else {
// Use as route name - determine base URL based on configuration
$routeUrl = route($customRoute, [
'token' => $this->token,
'email' => $email,
'invite' => true,
], false);
// Choose base URL: panel URL or app.url (for backward compatibility)
$usePanelUrl = config('filament-invite.use_panel_url', false);
$baseUrl = $usePanelUrl ? $panel->getUrl() : config('app.url');
$url = rtrim($baseUrl, '/') . '/' . ltrim($routeUrl, '/');
}
}
#Integration with Filament Panel Configuration
When using the default routing, the package automatically respects your panel's authentication configuration:
// In your panel configuration
use Filament\Panel;
public function panel(Panel $panel): Panel
{
return $panel
->passwordResetRouteSlug('custom-reset') // This will be used automatically
->passwordResetRequestRouteSlug('custom-request');
}
To use custom routing you have plenty of options:
#Option 1: Custom Route Name
'routes' => [
'reset' => 'your.custom.route.name',
],
#Option 2: Full URL (External System)
'routes' => [
'reset' => 'https://external-auth.example.com/reset-password',
],
#Option 3: Different Domain/Subdomain
'routes' => [
'reset' => 'https://auth.yourapp.com/password-reset',
],
The package automatically detects whether you're providing a route name or a full URL and handles the URL construction accordingly.
#URL Base Configuration
For custom routes, you can choose between using the panel's URL or the application's URL:
// config/filament-invite.php
return [
'routes' => [
'reset' => 'your.custom.route.name',
],
// URL Configuration
'use_panel_url' => false, // Default: false (uses app.url for backward compatibility)
];
Options:
'use_panel_url' => false(default): Usesconfig('app.url')- maintains backward compatibility'use_panel_url' => true: Uses$panel->getUrl()
#Customization
#Reset URL
implement getResetPasswordUrl on the user model
public function getResetPasswordUrl(string $token, array $parameters = []): string
{
return URL::signedRoute(
'filament.admin.auth.password-reset.reset',
[
'email' => $this->email,
'token' => $token,
...$parameters,
],
);
}
#Notification
implement the sendPasswordSetNotification method on the user model
public function sendPasswordSetNotification($token)
{
Notification::send($this, new SetPassword($token));
}
#Testing
composer test
#Changelog
Please see CHANGELOG for more information on what has changed recently.
#Contributing
Please see CONTRIBUTING for details.
#Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
#Credits
#License
The MIT License (MIT). Please see License File for more information.
The author
From the same author
Country Code Field
A country code select field, filter, and table column.
Author:
Tapp Network
Social Share Action
Let your users easily share content via social media platforms, email, or using the native Web Share API all through a fully customizable action.
Author:
Tapp Network
Value Range Filter
A value range filter for Filament table builder.
Author:
Tapp Network
Mail Log
View outgoing mail in a resource.
Author:
Tapp Network
Featured Plugins
A selection of plugins curated by the Filament team
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament
Spotlight Pro
Browse your Filament Panel with ease. Filament Spotlight Pro adds a Spotlight/Raycast like Command Palette to your Filament Panel.
Dennis Koch
Blueprint
Filament Blueprint is a premium Laravel Boost extension that helps AI agents produce accurate, detailed implementation plans and security reports for Filament apps.
Filament