Developers
Focal is a set of MIT-licensed Laravel packages. Install the modules you need into your own application and use them headless, or add the Filament plugin for a complete admin.
Requirements
- PHP 8.3 or newer
- Laravel 12 or 13
- Filament 5.9 or newer, for the optional admin (
focalcrm/filament)
Install
Start with Core, then add the modules you want. Each module requires Core and installs it for you.
composer require focalcrm/sales focalcrm/service focalcrm/marketing
php artisan migrate
Every package registers itself through Laravel's package discovery and loads its own migrations, so there is nothing else to wire up.
Add the Filament admin
composer require focalcrm/filament
Register the plugin in your panel provider. It adds resources and dashboards for each Focal module you have installed:
use Focal\Filament\FocalPlugin;
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugins([
FocalPlugin::make(),
]);
}
Packages
| Package | What it adds |
|---|---|
focalcrm/core |
Contacts, companies, custom properties, associations, timelines, lists |
focalcrm/sales |
Pipelines, deals, products, quotes, sequences, forecasting |
focalcrm/service |
Tickets, SLAs, routing, knowledge base, customer portal |
focalcrm/marketing |
Campaigns, workflows, forms, landing pages, lead scoring, attribution |
focalcrm/filament |
Filament admin for every installed module |
dophp/laravel-mail-builder |
Responsive email builder used by marketing; works on its own |
Configuration
Each package publishes its own config file. For example, to change where the public sales pages (quotes and meeting links) are served:
php artisan vendor:publish --tag=focal-sales-config
Focal uses your application's user model (auth.providers.users.model) for owners and assignees. Set FOCAL_USER_MODEL to use a different one.
Source and support
The packages are developed in the focalcrm/focal monorepo on GitHub. Report bugs and request features in its issue tracker. Focal is open-source software licensed under the MIT license.