Skip to content

Admin Panel Setup ​

Filament Flow provides a built-in admin interface for managing workflows, states, and transitions visually — no code deployments needed once the plugin is registered.

Prerequisites ​

Complete the installation steps and ensure FilamentFlowPlugin is available in your application before proceeding.

Registering the Plugin ​

Add the plugin to your Filament panel provider:

php
use RoBYCoNTe\FilamentFlow\FilamentFlowPlugin;

class AdminPanelProvider extends PanelProvider
{
    public function panel(Panel $panel): Panel
    {
        return $panel
            ->plugins([
                FilamentFlowPlugin::make(),
            ]);
    }
}

This is the only required step. Once registered, a Workflows section appears in the panel navigation.

What You Get ​

The plugin registers three Filament resources:

ResourcePathPurpose
Workflows/workflowsCreate and manage workflow definitions
Workflow States/workflow-statesDefine states per workflow
Workflow Transitions/workflow-transitionsConfigure allowed transitions

Each resource has full CRUD with validation, relationship management, and real-time feedback.

Restricting Access ​

By default the resources are visible to all authenticated panel users. Restrict access in production:

php
FilamentFlowPlugin::make()
    ->authorizeUsing(fn (User $user): bool => $user->hasRole('super_admin')),

Change how the Workflows section appears in your panel navigation:

php
FilamentFlowPlugin::make()
    ->navigationLabel('Workflows')
    ->navigationGroup('Configuration')
    ->navigationIcon('heroicon-o-cog-6-tooth')
    ->navigationSort(10),

To nest it under an existing nav item:

php
FilamentFlowPlugin::make()
    ->navigationParentItem('Settings'),

Hiding the Admin Interface ​

If you want to use Filament Flow programmatically without exposing any admin UI:

php
FilamentFlowPlugin::make()
    ->withoutWorkflowResource(),

All services and traits remain functional — only the admin resources are hidden.

Creating Your First Workflow ​

Once the panel is set up, create a workflow in this order:

  1. Workflow — name, target model class, state column
  2. States — define all possible states with labels, colors, and icons
  3. Transitions — specify which state-to-state moves are allowed

See Database-Driven Workflows for a full walkthrough with examples.

Multiple Panels ​

Register the plugin separately in each panel where you want workflow management to be available. Navigation configuration (group, label, sort) can differ per panel:

php
// Admin panel
FilamentFlowPlugin::make()
    ->navigationGroup('System')
    ->authorizeUsing(fn (User $user) => $user->hasRole('super_admin')),

// Operations panel
FilamentFlowPlugin::make()
    ->navigationGroup('Tools')
    ->authorizeUsing(fn (User $user) => $user->hasRole('manager')),

For multi-tenant setups, see Multi-Tenancy.

Proprietary software. All rights reserved.