Search by

agenciafmd / filament-leads

agenciafmd

Filament - Leads

Package info

github.com/agenciafmd/filament-leads

pkg:composer/agenciafmd/filament-leads

Statistics

Installs: 446

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

dev-master 2026-09-29 20:24 UTC

This package is auto-updated.

Last update: 2026-09-29 20:26:08 UTC


README

Downloads Licença

Adiciona ao Admix o CRUD de leads, com exportação em CSV/XLSX e criação automática de leads a partir dos formulários enviados pelo agenciafmd/filament-postal.

Requisitos

  • PHP ^8.4
  • Laravel ^12.0 | ^13.0
  • Filament ^5.0
  • agenciafmd/filament-admix v1.x-dev | dev-master
  • (Opcional) agenciafmd/filament-postal, para a criação automática de leads

Instalação

  1. Instale o pacote via Composer:
composer require agenciafmd/filament-leads
  1. Execute as migrações:
php artisan migrate
  1. Populando o banco com dados de testes

Adicione o seeder no database/seeders/DatabaseSeeder.php:

use Agenciafmd\Leads\Database\Seeders\LeadSeeder;

$this->call([
    LeadSeeder::class,
]);

Ou rode o seeder manualmente:

php artisan db:seed --class="Agenciafmd\Leads\Database\Seeders\LeadSeeder"

Ativando no painel

Adicione o plugin na config do admix config/filament-admix.php:

use Agenciafmd\Leads\LeadsPlugin;

return [
    'plugins' => [
        LeadsPlugin::class,
    ],
];

Após isso, o menu Leads aparecerá no painel, com as páginas de Listar, Criar e Editar. A listagem tem a ação de exportação (CSV e XLSX) no cabeçalho.

Configuração

Arquivo: config/filament-leads.php

return [
    'name' => 'Leads',
    'navigation_group' => null,
    'navigation_sort' => 4,
    'fields' => [
        'name' => [
            'name',
            'nome',
        ],
        'email' => [
            'e-mail',
            'email',
        ],
        'phone' => [
            'telefone',
            'phone',
            'celular',
            'mobile',
        ],
    ],
    'sources' => [
        'newsletter' => 'Newsletter',
    ],
];
Chave Padrão Descrição
name Leads Nome do pacote.
navigation_group null Grupo do menu em que o Resource aparece (null = sem grupo).
navigation_sort 4 Posição do item no menu.
fields.name ['name', 'nome'] Nomes de campo (em minúsculas) que são gravados na coluna name do lead.
fields.email ['e-mail', 'email'] Nomes de campo que são gravados na coluna email.
fields.phone ['telefone', 'phone', 'celular', 'mobile'] Nomes de campo que são gravados na coluna phone.
sources ['newsletter' => 'Newsletter'] Origens extras (slug => nome) exibidas no campo e no filtro "Origem", além dos formulários do Postal.

Leads na lixeira há mais de 30 dias são removidos pelo model:prune, agendado diariamente às 03h (minuto definido em filament-admix.schedule.minutes).

Uso

Com o agenciafmd/filament-postal instalado, o listener Agenciafmd\Leads\Listeners\CreateLead escuta o evento Agenciafmd\Postal\Events\NotificationSent e cria um lead a cada formulário enviado:

  • source recebe o slug do formulário do Postal;
  • os campos cujos nomes estão em fields são gravados em name, email e phone;
  • os demais campos são concatenados em description, um por linha, no formato Campo: valor.

As opções de origem (source) combinam os formulários cadastrados no Postal com as origens de sources na config, via Agenciafmd\Leads\Services\LeadService::sources().

Permissões

O LeadResource entra automaticamente no controle de permissões por Grupos do Admix. Usuários sem grupo são administradores e têm acesso total.

Auditoria

O LeadResource inclui o relation manager Tapp\FilamentAuditing\RelationManagers\AuditsRelationManager, exibindo o histórico de auditorias do registro.

Licença

Este pacote é software livre e está disponível nos termos da licença MIT.