New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

tapp/filament-invite

invite users from filament panel
80,105 32
Install
composer require tapp/filament-invite
Latest Version:v2.3.0
PHP:^8.3
Laravel:11 · 12 · 13
License:MIT
Last Updated:Oct 21, 2026
Links: GitHub  ·  Packagist
Maintainer: tapp

Invite users from Filament panel

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Provides an action to invite users from Filament users resource.

Version Compatibility

Filament Filament Invite Documentation
4.x/5.x 2.x Current
3.x 1.x Check the docs

Installation

You can install the package via Composer:

composer require tapp/filament-invite:"^2.0"

You can publish the config using:

php artisan filament-invite:install

The package attaches FilamentInvitePlugin to every panel while PanelRegistry is resolving (after your panel provider configures middleware, before Filament routes snapshot it). That puts InviteMiddleware on panel password-reset routes so invite links get the extended filament-invite.expire window — no panel provider changes required.

You may still register the plugin explicitly; duplicate registration is a no-op:

use Tapp\FilamentInvite\FilamentInvitePlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        // ...
        ->plugin(FilamentInvitePlugin::make());
}

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
        ->recordActions([
            \Tapp\FilamentInvite\Actions\InviteAction::make(),
            \Tapp\FilamentInvite\Actions\CopyInviteLinkAction::make(),
        ]);
}

Add invite action to header actions in your resource view or edit page (e.g. App\Filament\Resources\Users\Pages\EditUser.php or App\Filament\Resources\Users\Pages\ViewUser.php), as the InviteAction resolves the user from the current record, which is available on edit and view pages.

    protected function getHeaderActions(): array
    {
        return [
            \Tapp\FilamentInvite\Actions\InviteAction::make(),
            \Tapp\FilamentInvite\Actions\CopyInviteLinkAction::make(),
        ];
    }

Use CopyInviteLinkAction when you want to generate the same set-password URL the invite email would contain, show it in a modal, and copy it to the clipboard — without sending a notification. This is useful when the app has no mail driver configured (for example Laravel Cloud without a verified sending domain).

Opening the modal does not create a token. The admin clicks Generate link to mint the broker token and reveal the URL (the modal stays open for copying). Generating again invalidates any earlier invite link for that user, including emailed ones.

Email invite (InviteAction / InviteBulkAction) remains the default; add CopyInviteLinkAction only where you need the manual copy flow. Eligibility matches InviteAction (unverified users the admin can update). The link uses the same password-broker token, package reset route / getResetPasswordUrl() override, and invite=1 extended-expiry behavior as the email.

Add invite bulk action to table toolbar actions

use Filament\Actions\BulkActionGroup;
use Tapp\FilamentInvite\Actions\InviteBulkAction;

public static function table(Table $table): Table
{
    return $table
        ->toolbarActions([
            BulkActionGroup::make([
                InviteBulkAction::make(),
            ]),
        ]);
}

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.

Related Packages

tapp/laravel-aws-secrets-manager

Use AWS Secrets manager to load environment variables for configuration.

259,511 38
tapp/slack-inviter

Invite users to slack group

3,435 0
tapp/laravel-airtable

Laravel Airtable SDK

308,606 112
concept7/filament-invite

Handles invites so setup your users' passwords.

2,427 0
doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

651,963,193 9,701

Version History

Version Released PHP License
v2.3.0 ^8.3 MIT
v2.2.0 ^8.3 MIT
v2.1.3 ^8.3 MIT
v2.1.2 ^8.3 MIT
v2.1.1 ^8.3 MIT