Notifications
FilaForms sends notifications when forms are submitted. Three channels are available: email to admins, auto-response email to respondents, and in-app Filament notifications. Each is controlled by a feature flag.
Feature Flags
| Flag | Default | Description |
|---|---|---|
NOTIFICATIONS_EMAIL_ADMIN | Enabled | Send email to admin addresses on new submissions |
NOTIFICATIONS_EMAIL_AUTO_RESPONSE | Enabled | Send confirmation email to the respondent |
NOTIFICATIONS_IN_APP | Enabled | Send Filament database notifications to admin users |
Admin Email Notifications
An email is sent to configured admin addresses when a form receives a submission. The email includes the form name, submission data, submission time, and a link to view the submission in the admin panel.
Configuration
Admin emails can be set per form in the notification settings. If none are configured, FilaForms falls back to the global admin_emails array in config/filaforms.php.
'notifications' => [
'from_email' => env('FILA_FORMS_FROM_EMAIL'),
'from_name' => env('FILA_FORMS_FROM_NAME'),
'admin_emails' => [
'team@example.com',
],
],
Subject Template
Customize the subject line per form using merge tags:
| Tag | Value |
|---|---|
{form_name} | Name of the form |
{submission_id} | Unique submission ID |
{submission_number} | Sequential submission number |
{date} | Submission date |
{domain} | Site domain |
Additional Options
| Option | Description |
|---|---|
| From email/name | Override the global sender identity per form |
| Reply-to | Set a reply-to address for admin notification emails |
| CC | Carbon copy additional addresses |
| BCC | Blind carbon copy additional addresses |
Auto-Response Emails
An automatic reply sent to the person who submitted the form. Requires an email field in the form.
Configuration
Set which form field contains the respondent's email address using the autoResponseEmailField option in the form's notification settings. Then configure a custom subject and message body.
Merge Tags
The message body supports merge tags to insert field values from the submission. Use the field code wrapped in double curly braces:
Hello {{ name }},
Thank you for submitting "{{ form_name }}". We received your message about {{ subject }} and will respond shortly.
The message content is rendered as rich HTML via RichContentRenderer.
In-App Notifications
Filament database notifications sent to configured admin users. These appear in Filament's notification bell in the admin panel.
Each notification includes a View action button that links directly to the submission. Configure which user IDs receive notifications using the appNotificationUsers setting on the form.
Per-Form Configuration
Each form has its own NotificationConfigData with the following structure:
| Property | Type | Description |
|---|---|---|
enabled | bool | Master toggle for all notifications on this form |
channels | array | Active channels (['email', 'app']) |
adminEmails | array | Admin email addresses for this form |
cc | array | CC addresses |
bcc | array | BCC addresses |
fromEmail | ?string | Override sender email |
fromName | ?string | Override sender name |
autoResponseEmailField | ?string | Field code containing respondent email |
autoResponseSubject | ?string | Auto-response subject line |
autoResponseMessage | ?string | Auto-response body (supports merge tags) |
appNotificationUsers | array | User IDs that receive in-app notifications |
Global Defaults
Set defaults in config/filaforms.php under the notifications key:
'notifications' => [
'from_email' => env('FILA_FORMS_FROM_EMAIL', 'noreply@example.com'),
'from_name' => env('FILA_FORMS_FROM_NAME', 'My App'),
'admin_emails' => [
'admin@example.com',
],
],
FILA_FORMS_FROM_EMAIL=noreply@example.com
FILA_FORMS_FROM_NAME="My App"
Queued Processing
All notifications implement ShouldQueue and are dispatched to the queue for performance. Notification errors are logged without blocking the submission flow. The respondent always sees a successful submission even if a notification fails to send.