Skip to content

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

32 stars

Watchers

3 watching

Forks

Repository files navigation

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(),
        ];
    }

Copy invite link (no email)

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.

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

32 stars

Watchers

3 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages