> ## Documentation Index
> Fetch the complete documentation index at: https://filament-34a8cf01.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Custom Pages

> [!WARNING]
>
> You are currently viewing the documentation for Filament 1.x, which is a previous version of Filament.
>
> Looking for the current stable version? Visit the [5.x documentation](https://filament-34a8cf01.mintlify.site/5.x).

Filament allows you to create completely custom pages for the admin panel.

To create a new page, you can use:

```bash theme={"theme":"gruvbox-dark-hard"}
php artisan make:filament-page Settings
```

This command will create two files - a page class in the `/Pages` directory of the Filament directory, and a view in the `/pages` directory of the Filament views directory.

Page classes are essentially [Laravel Livewire](https://laravel-livewire.com) components with custom integration utilities for use with Filament.

## Authorization

You may create roles for users of Filament that allow them to access specific pages. You may create a `Manager` role using:

```php theme={"theme":"gruvbox-dark-hard"}
php artisan make:filament-role Manager
```

Administrators will now be able to assign this role to any Filament user using the admin panel.

To only allow users with the `Manager` role to access this page, declare so in the static `authorization()` method:

```php theme={"theme":"gruvbox-dark-hard"}
use App\Filament\Roles;

public static function authorization()
{
    return [
        Roles\Manager::allow(),
    ];
}
```

You may authorize as many roles as you wish.

> Please note: administrators will always have full access to every page in your admin panel.

You may want to only deny users with the `Manager` role from accessing this page. To do this, you may use the static `deny()` method instead:

```php theme={"theme":"gruvbox-dark-hard"}
use App\Filament\Roles;

public static function authorization()
{
    return [
        Roles\Manager::deny(),
    ];
}
```

## Customization

Filament will automatically generate a title, navigation label and URL (slug) for your page based on its name. You may override it using static properties of your page class:

```php theme={"theme":"gruvbox-dark-hard"}
public static $label = 'Custom Navigation Label';

public static $slug = 'custom-url-slug';

public static $title = 'Custom Page Title';
```

[Edit this page on GitHub](https://github.com/filamentphp/filament/edit/1.x/docs/05-pages.md)

## Sponsored by

[Your logo here](https://github.com/sponsors/danharrin)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.