Feedback & Surveys template

Ask attendees how your event went, right after it ends

Import a Laravel event feedback form for Filament, collect attendee ratings, and route each submission into your application.

Open this template in the demo builder 8 fields, 4 required. Free demo account, no card.

Updated

This Laravel event feedback form gives attendees a short way to rate an event after it ends. Import it into FilaForms, then use the field table below as the starting structure for your event, conference, or workshop.

The imported form captures attendee contact and rating feedback. Your team gets feedback inside the Laravel application it already runs, while the submission dashboard keeps each response available for review.

The fields support a useful sequence. Identify the attendee when follow-up matters, ask whether they would recommend the event, then capture a concise overall judgement. That order keeps the form focused when attendees are leaving or returning to work.

SurveyMonkey's 2025 platform benchmark says post-event surveys average a 38.81% response rate. Send the form while the event remains fresh, and make the invitation explain why the feedback will influence the next event.

Use this template when event feedback belongs with your application data. FilaForms is a Laravel form builder for Filament that lets your team build the form visually in the panel. It stores submissions in your own database instead of a separate hosted survey account.

Fields in this template (8 fields, 4 required)

Field types used: Text, Email, Select, Textarea, Radio. Every field is editable in the builder after import.

Attendee Information

Field Type Required Validation
Full Name full_name Text No none
Email Address email Email No none

Event Feedback

Field Type Required Validation
Overall Experience overall_rating Select, 5 options Yes required
Content Quality content_rating Select, 5 options Yes required
What did you enjoy most? enjoyed_most Textarea No none
What could be improved? improvements Textarea No none
Would you attend again? attend_again Radio, 5 options Yes required
Would you recommend this event to others? recommend Radio, 3 options Yes required

Why these questions support event decisions

The field table below renders from the imported template. It gives you a compact baseline rather than a long satisfaction survey. An overall rating gives you a simple trend to review across recurring events. A recommendation response provides a separate signal about whether attendees would endorse the experience.

Email should be optional when you only need anonymous aggregate feedback. Keep it when an organiser needs to clarify a complaint, thank a speaker referral, or resolve a problem. Tell attendees how you will use their address before they submit.

Do not expand the form only because more questions are available. Each extra question creates another response you must interpret. Start with decisions you can make after the event, then add questions when somebody owns the follow-up.

The settings block controls the imported form's behaviour in your panel. Build and adjust the form there, rather than maintaining a hand-written Filament schema. This keeps form changes visible to the people who manage the event.

Adapt it for multi-session conferences

Add a session_name select field when attendees rate a multi-track conference. Use the session names from your agenda as the options. You can then filter feedback by the session an attendee rated, rather than treating the entire conference as one result.

Put that question before the overall rating when attendees complete feedback after each session. Keep it optional for a single-track event or an end-of-day survey. You can also use the same template for workshops by offering workshop dates or facilitators instead of sessions.

Choose options that remain meaningful after the agenda changes. A session title is convenient, but a stable internal identifier can help when a title changes between registration and reporting. Store the readable label beside it when your reporting needs both values.

Route feedback into your Laravel application

FilaForms emits FormSubmitted after an attendee submits the form. A listener can read email, recommend, and overall_rating from the submission data. This lets you send feedback to your logs, an internal review queue, or application code that reports on events.

Save the listener as app/Listeners/LogEventFeedback.php. Laravel 12 discovers listeners in that directory automatically.

<?php

namespace App\Listeners;

use FilaForms\Core\Events\FormSubmitted;
use Illuminate\Support\Facades\Log;

final class LogEventFeedback
{
    public function handle(FormSubmitted $event): void
    {
        $data = $event->submission->data;

        $email = $data['email'] ?? null;
        $recommend = $data['recommend'] ?? null;
        $overallRating = $data['overall_rating'] ?? null;

        Log::info('Event feedback received', [
            'form_id' => $event->form->getKey(),
            'submission_id' => $event->submission->getKey(),
            'email' => $email,
            'recommend' => $recommend,
            'overall_rating' => $overallRating,
        ]);
    }
}

Replace the log call with the action your application needs. For example, an event owner can receive a notification for low ratings. A scheduled report can group responses by event. A support workflow can create a case when an attendee includes contact details and requests help.

Keep the original submission as the source record. Derived records are useful for triage, but they should link back to the submission when a team member needs the full context. That choice makes later changes to your reporting less risky.

When this template is the wrong tool

This form does not calculate an NPS score or benchmark ratings against other events. You still read and act on the numbers yourself. Add reporting code if your event team needs a calculated score, a trend line, or a comparison with an internal target.

Use this template when your developers already run the application and want feedback data close to event records. If you need broader form capabilities, review the FilaForms features for Laravel and Filament before deciding how much follow-up workflow to build.

Use this template in your own application

With FilaForms installed, one call creates the form with every field, rule, and setting listed above. Then edit it in the builder.

use FilaForms\Core\Support\FormTemplates;

$form = FormTemplates::createFormFromTemplate('event-feedback');
Template schema (JSON)
{
    "name": "Event Feedback Form",
    "description": "Collect attendee feedback after events, conferences, or workshops",
    "icon": "heroicon-o-chat-bubble-bottom-center-text",
    "category": "Feedback & Surveys",
    "popularity": "Very High",
    "sections": [
        {
            "name": "Attendee Information",
            "fields": [
                {
                    "label": "Full Name",
                    "type": "text",
                    "code": "full_name",
                    "required": false,
                    "width": "50"
                },
                {
                    "label": "Email Address",
                    "type": "email",
                    "code": "email",
                    "required": false,
                    "width": "50"
                }
            ]
        },
        {
            "name": "Event Feedback",
            "fields": [
                {
                    "label": "Overall Experience",
                    "type": "select",
                    "code": "overall_rating",
                    "required": true,
                    "options": [
                        {
                            "value": "Excellent"
                        },
                        {
                            "value": "Very Good"
                        },
                        {
                            "value": "Good"
                        },
                        {
                            "value": "Fair"
                        },
                        {
                            "value": "Poor"
                        }
                    ],
                    "width": "50"
                },
                {
                    "label": "Content Quality",
                    "type": "select",
                    "code": "content_rating",
                    "required": true,
                    "options": [
                        {
                            "value": "Excellent"
                        },
                        {
                            "value": "Very Good"
                        },
                        {
                            "value": "Good"
                        },
                        {
                            "value": "Fair"
                        },
                        {
                            "value": "Poor"
                        }
                    ],
                    "width": "50"
                },
                {
                    "label": "What did you enjoy most?",
                    "type": "textarea",
                    "code": "enjoyed_most",
                    "required": false,
                    "placeholder": "Tell us what stood out...",
                    "width": "100"
                },
                {
                    "label": "What could be improved?",
                    "type": "textarea",
                    "code": "improvements",
                    "required": false,
                    "placeholder": "Suggestions for future events...",
                    "width": "100"
                },
                {
                    "label": "Would you attend again?",
                    "type": "radio",
                    "code": "attend_again",
                    "required": true,
                    "options": [
                        {
                            "value": "Definitely"
                        },
                        {
                            "value": "Probably"
                        },
                        {
                            "value": "Not sure"
                        },
                        {
                            "value": "Probably not"
                        },
                        {
                            "value": "Definitely not"
                        }
                    ],
                    "width": "100"
                },
                {
                    "label": "Would you recommend this event to others?",
                    "type": "radio",
                    "code": "recommend",
                    "required": true,
                    "options": [
                        {
                            "value": "Yes"
                        },
                        {
                            "value": "Maybe"
                        },
                        {
                            "value": "No"
                        }
                    ],
                    "width": "100"
                }
            ]
        }
    ]
}

Frequently asked questions

What does this Laravel event feedback form collect?
It collects attendee contact and rating feedback. The field table below shows the imported structure.
Can I use this template for a multi-session conference?
Yes. Add a session_name select field so you can filter feedback by the session an attendee rated.
How do I send event feedback into my Laravel application?
Listen for FilaForms\\Core\\Events\\FormSubmitted and read email, recommend, and overall_rating from the submission data.
Does this form calculate NPS or benchmark event ratings?
No. This form does not calculate an NPS score or benchmark ratings against other events. You still read and act on the numbers yourself.

More templates