Laravel Service Request Form for Filament | FilaForms                                 [ ![Filaforms Logo](https://filaforms.app/logo.svg)FilaForms

 ](https://filaforms.app)  [ Features ](https://filaforms.app#features) [ Pricing ](https://filaforms.app/pricing) [ Blog ](https://filaforms.app/blog) [ Documentation ](https://docs.filaforms.app)  [ Try Demo ](https://filaforms.app/login) [ Buy a license ](https://filaforms.app/pricing#plans) 

 [ Features ](https://filaforms.app#features) [ Pricing ](https://filaforms.app/pricing) [ Blog ](https://filaforms.app/blog) [ Documentation ](https://docs.filaforms.app) [ Try Demo ](https://filaforms.app/login) [ Buy a license ](https://filaforms.app/pricing#plans) 

  1. [Home](https://filaforms.app)
2. /
3. [Form Templates](https://filaforms.app/templates)
4. /
5. Let clients request a service with the details your team needs

 Support template

Let clients request a service with the details your team needs
==============================================================

Import a Laravel service request form for Filament, capture service type and urgency, then route each request to your scheduling workflow.

 [ Open this template in the demo builder ](https://filaforms.app/app/templates/service-request) 8 fields, 7 required. Free demo account, no card. 

 Updated September 2, 2026

 This Laravel service request form lets clients state the service they need, describe their requirements, and mark urgency before your team schedules work. Import it into FilaForms, then give clients one intake path instead of asking them to assemble essential details across email messages.

After submission, FilaForms stores the request in your Laravel application's database and shows it in the Filament submission dashboard. Your scheduling team can review the request there before assigning work. The field table below gives them a consistent starting record, while your application keeps control of routing, ownership, and follow-up.

  Fields in this template (8 fields, 7 required) 
------------------------------------------------

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

### Contact Information

    Field Type Required Validation      Name `name`   Text  Yes  `required`     Email `email`   Email  Yes  `required`     Phone `phone`   Phone Number  Yes  `required`     Company `company`   Text  No  none     

### Service Request

    Field Type Required Validation      Service Type `service_type`   Select, 5 options  Yes  `required`     Urgency `urgency`   Select, 4 options  Yes  `required`     Preferred Timeline `timeline`   Select, 4 options  Yes  `required`     Detailed Requirements `requirements`   Textarea  Yes  `required`     

 Route service requests into your scheduling workflow
----------------------------------------------------

The field grouping follows the order a scheduler needs for an initial decision. Client contact details establish who needs a reply. The service choice identifies the type of work. Urgency gives the reviewer a triage signal. Requirements provide the context that makes the request understandable before anyone calls the client.

Do not treat urgency as a delivery commitment. A client can accurately report that a problem feels urgent without knowing the dependencies, technician availability, or scope involved. Let a scheduler compare the request against current capacity before confirming a visit, repair, or delivery window.

This distinction matters for a service desk as much as it does for a field team. Forrester's 2024 State of the Service Desk report found that only 55% of employees feel completely supported by their service desk. The finding does not set a target for your organisation. It does show why clear intake and an owned next step matter after someone asks for help.

Use the submitted service type to decide which queue should receive the request. A maintenance business might send one service type to dispatch and another to a technical reviewer. A professional-services team might use it to identify the specialist who estimates the work. Keep that decision in Laravel code, where it can use the rules and records your application already owns.

The requirements field is free text, so it cannot validate quoting or scheduling. Someone still has to read it before promising a delivery date. That is the limit of this template. It creates a reliable request record, but it cannot determine whether the work is feasible, priced correctly, or available on a given date.

The settings block lets you adjust the imported template in the panel when your intake process changes. Keep the service request as the original record. A notification, ticket, or internal task can move work forward, but it should retain a reference to the request rather than replace its context.

For a subscription-based service desk, add a `plan_tier` select so requirements route by the customer's plan. A premium plan may need a faster internal response path. A standard plan may enter the regular queue. A controlled selection also keeps plan labels consistent when customers contact you through several channels.

Make the plan tier useful only when it reflects an authoritative customer record. A client-selected value can guide early triage, but it should not override billing or entitlement data. Your scheduling workflow can check the account after submission before it applies a plan-specific response target.

FilaForms emits `FormSubmitted` after a client submits this template. The listener below reads `email`, `service_type`, and `urgency` from the submission data. It records the essentials for an existing scheduling workflow. Save it as `app/Listeners/RouteServiceRequest.php`.

```
submission->data;

        Log::info('Service request received', [
            'form_id' => $event->form->getKey(),
            'email' => $data['email'] ?? null,
            'service_type' => $data['service_type'] ?? null,
            'urgency' => $data['urgency'] ?? null,
        ]);
    }
}

```

Laravel 12 discovers listeners in `app/Listeners` automatically. Replace the log call with the application action that creates a scheduling task, sends an internal notification, or adds the request to your queue. Keep the listener focused on routing. Put availability checks, pricing rules, and technician selection in the services that already govern those decisions.

Start with the imported template when clients need a clear way to ask for work. Use the field table below as the shared intake record for staff who respond, quote, and schedule. A [Laravel form builder for Filament](/) keeps those submissions near the rest of your application data. Review the [FilaForms form features](/features) when you need notifications, submission review, or conditional follow-up questions.

 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('service-request');
```

  Template schema (JSON) ```
{
    "name": "Service Request Form",
    "description": "Professional service request with detailed requirements",
    "icon": "heroicon-o-wrench",
    "category": "Support",
    "popularity": "High",
    "sections": [
        {
            "name": "Contact Information",
            "fields": [
                {
                    "label": "Name",
                    "type": "text",
                    "code": "name",
                    "required": true,
                    "width": "50"
                },
                {
                    "label": "Email",
                    "type": "email",
                    "code": "email",
                    "required": true,
                    "width": "50"
                },
                {
                    "label": "Phone",
                    "type": "phone",
                    "code": "phone",
                    "required": true,
                    "width": "50"
                },
                {
                    "label": "Company",
                    "type": "text",
                    "code": "company",
                    "required": false,
                    "width": "50"
                }
            ]
        },
        {
            "name": "Service Request",
            "fields": [
                {
                    "label": "Service Type",
                    "type": "select",
                    "code": "service_type",
                    "required": true,
                    "options": [
                        {
                            "value": "Consultation"
                        },
                        {
                            "value": "Implementation"
                        },
                        {
                            "value": "Training"
                        },
                        {
                            "value": "Maintenance"
                        },
                        {
                            "value": "Custom Development"
                        }
                    ],
                    "width": "50"
                },
                {
                    "label": "Urgency",
                    "type": "select",
                    "code": "urgency",
                    "required": true,
                    "options": [
                        {
                            "value": "Low"
                        },
                        {
                            "value": "Medium"
                        },
                        {
                            "value": "High"
                        },
                        {
                            "value": "Critical"
                        }
                    ],
                    "width": "50"
                },
                {
                    "label": "Preferred Timeline",
                    "type": "select",
                    "code": "timeline",
                    "required": true,
                    "options": [
                        {
                            "value": "Within 1 week"
                        },
                        {
                            "value": "Within 1 month"
                        },
                        {
                            "value": "Within 3 months"
                        },
                        {
                            "value": "Flexible"
                        }
                    ],
                    "width": "100"
                },
                {
                    "label": "Detailed Requirements",
                    "type": "textarea",
                    "code": "requirements",
                    "required": true,
                    "placeholder": "Describe your service requirements in detail...",
                    "width": "100"
                }
            ]
        }
    ]
}
```

  Frequently asked questions
--------------------------

  What happens after a client submits this service request form? FilaForms stores the request in your Laravel application's database and shows it in the Filament submission dashboard, where your scheduling team can review it before assigning work. 

 Can I adapt this service request form for a subscription-based service desk? Yes. Add a plan\_tier select so requirements route by the customer's plan. 

 How do I route a submitted service request in Laravel? Listen for FilaForms\\\\Core\\\\Events\\\\FormSubmitted and read email, service\_type, and urgency from the submission data before sending the request to your scheduling workflow. 

 Does the requirements field validate a quote or delivery date? No. The requirements field is free text, so it cannot validate quoting or scheduling. Someone still has to read it before promising a delivery date. 

   Run this form inside your Laravel app.
--------------------------------------

 FilaForms installs as a Filament plugin. Submissions land in your own database.

 [ Try it in the demo ](https://filaforms.app/app/templates/service-request) [ See pricing ](https://filaforms.app/pricing) 

More templates
--------------

- [ Let customers open a support ticket without emailing you first Import a Laravel support ticket form for Filament, collect priority and attachments, then... ](https://filaforms.app/templates/support-ticket)
- [ Let customers file a warranty claim with proof of purchase attached Import a Laravel warranty claim form for Filament, collect purchase proof and photos, then... ](https://filaforms.app/templates/warranty-claim)
- [ Let customers request a product return without emailing support Import a Laravel return request form for Filament, collect order details and return reason... ](https://filaforms.app/templates/return-request)
- [ Give customers a structured way to report a problem Import a Laravel customer complaint form template with structured intake, severity details... ](https://filaforms.app/templates/complaint-form)
- [ Ask attendees how your event went, right after it ends Import a Laravel event feedback form for Filament, collect attendee ratings, and route eac... ](https://filaforms.app/templates/event-feedback)
- [ Brief a writer with everything they need before they start Import a Laravel content request form template for Filament, collect complete writer brief... ](https://filaforms.app/templates/content-request)
- [ Capture honest feedback before an employee's last day Install a Laravel exit interview form for Filament, route sensitive answers carefully, and... ](https://filaforms.app/templates/exit-interview)
- [ Capture scope changes and client approval before work starts Import a Laravel change request form for Filament, record scope, cost, priority, and clien... ](https://filaforms.app/templates/change-request)

    ![FilaForms Logo](/logo.svg) FilaForms 

 Laravel form infrastructure for Filament. Stop rebuilding forms on every project.

 [ Buy a license   ](https://filaforms.app/pricing#plans) 

 ### Product

 [ Features ](https://filaforms.app#features) [ Documentation ](https://docs.filaforms.app) [ Blog ](https://filaforms.app/blog) [ Compare form builders ](https://filaforms.app/compare) [ Templates ](https://filaforms.app/templates) [ Pricing ](https://filaforms.app/pricing) [ About ](https://filaforms.app/about) [ Contact ](mailto:hello@filaforms.app) 

 ### Legal

 [ Terms of Service ](https://filaforms.app/terms-of-service) [ Privacy Policy ](https://filaforms.app/privacy-policy) 

  © 2025-2026 FilaForms. All rights reserved.

 [    ](mailto:hello@filaforms.app) [    ](https://x.com/MinasyanManuk)
