muazzambuilds/filament-ai-actions

OpenAI-powered Filament v5 actions — Summarize, Rewrite, and Classify for tables and forms.

Maintainers

Package info

github.com/muazzambuilds/filament-ai-actions

pkg:composer/muazzambuilds/filament-ai-actions

Transparency log

Statistics

Installs: 3

Dependents: 0

Suggesters: 0

Stars: 4

Open Issues: 0

v1.0.0 2026-07-13 13:21 UTC

This package is auto-updated.

Last update: 2026-07-14 07:15:10 UTC


README

OpenAI-powered actions for Filament v5. Drop complete Summarize, Rewrite, and Classify actions onto tables and forms — no DIY prompt wiring.

Requirements

Dependency Version
PHP ^8.2
Laravel ^11 / ^12
Filament ^5.0
OpenAI API key

Installation

composer require muazzambuilds/filament-ai-actions

Publish config (optional):

php artisan vendor:publish --tag=filament-ai-actions-config
OPENAI_API_KEY=sk-...
OPENAI_MODEL=gpt-4o-mini

Optional panel registration:

use MuazzamBuilds\FilamentAiActions\AiActionsPlugin;

$panel->plugin(
    AiActionsPlugin::make()
        ->model('gpt-4o-mini')
);

Usage

Summarize

use MuazzamBuilds\FilamentAiActions\Actions\SummarizeAction;

SummarizeAction::make()
    ->attributes(['title', 'body'])
    ->applyTo('summary'); // optional: write result back to the record

Rewrite

use MuazzamBuilds\FilamentAiActions\Actions\RewriteAction;

RewriteAction::make()
    ->attributes(['body'])
    ->applyTo('body')
    ->tones([
        'professional' => 'Professional',
        'casual' => 'Casual',
        'concise' => 'Concise',
    ]);

Classify

use MuazzamBuilds\FilamentAiActions\Actions\ClassifyAction;

ClassifyAction::make()
    ->attributes(['body'])
    ->labels([
        'bug' => 'Bug report',
        'feature' => 'Feature request',
        'question' => 'Question',
    ])
    ->applyTo('category');

Custom content source

SummarizeAction::make()
    ->content(fn ($record) => "Title: {$record->title}\n\n{$record->body}");

Table example

use Filament\Tables\Table;
use MuazzamBuilds\FilamentAiActions\Actions\ClassifyAction;
use MuazzamBuilds\FilamentAiActions\Actions\RewriteAction;
use MuazzamBuilds\FilamentAiActions\Actions\SummarizeAction;

public function table(Table $table): Table
{
    return $table
        ->recordActions([
            SummarizeAction::make()->attributes(['title', 'body'])->applyTo('summary'),
            RewriteAction::make()->attributes(['body'])->applyTo('body'),
            ClassifyAction::make()
                ->attributes(['body'])
                ->labels(['bug', 'feature', 'question'])
                ->applyTo('category'),
        ]);
}

Actions hide themselves when OPENAI_API_KEY is missing.

Configuration

// config/filament-ai-actions.php
return [
    'api_key' => env('OPENAI_API_KEY'),
    'organization' => env('OPENAI_ORGANIZATION'),
    'base_url' => env('OPENAI_BASE_URL', 'https://api.openai.com/v1'),
    'model' => env('OPENAI_MODEL', 'gpt-4o-mini'),
    'temperature' => 0.4,
    'max_tokens' => 1200,
];

Support

If this package helps you, consider supporting development:

Buy Me A Coffee

License

MIT — see LICENSE.