Laravel Sales Contact 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. Route sales enquiries to the right rep with budget and timeline upfront

 Contact template

Route sales enquiries to the right rep with budget and timeline upfront
=======================================================================

Import a Laravel sales contact form for Filament, capture company and budget context, then route each enquiry into your application.

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

 Updated September 2, 2026

 This Laravel sales contact form gives prospects a direct way to share their email address, company, budget, team size, and timeline. Import it into FilaForms when your sales team needs enough context to triage an enquiry before writing the first reply.

The imported template keeps each response in the Laravel application your team already runs. The field table below provides the starting structure, while the submission dashboard gives sales and developers one record to review, route, and retain.

A general contact form often produces messages that require another email before anyone can decide who owns the conversation. This template asks for the commercial details that usually affect the first response. A company identifies the account. A budget frames the likely scope. Team size and timeline show the likely buying process and urgency.

Do not treat every answer as a strict filter. A prospect may not know their final budget. They may write a timeline that depends on internal approval. Use the responses to prepare a useful reply and assign ownership, rather than rejecting leads through an assumption.

Chili Piper's 2022 B2B Vendor Response Time study found that nearly 30% of companies never responded at all to a submitted demo request. A submitted form only starts the process. Decide who sees new enquiries, how quickly they respond, and which details they need to make that response relevant.

[FilaForms is a Laravel form builder for Filament](/) when sales data belongs beside accounts, users, and internal workflows. Your team can adjust the imported template visually in the Filament panel. The submission remains in your own database, where your application can connect it to the records that already govern sales work.

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

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

### Your Details

    Field Type Required Validation      Full Name `full_name`   Text  Yes  `required`     Work Email `email`   Email  Yes  `required | email`     Company `company`   Text  Yes  `required`     Phone Number `phone`   Phone Number  No  none     

### What You Need

    Field Type Required Validation      Team Size `team_size`   Select, 5 options  Yes  `required`     Approximate Budget `budget`   Currency  No  none     Buying Timeline `timeline`   Toggle Buttons, 4 options  Yes  `required`     How Can We Help? `message`   Textarea  Yes  `required | min:20`     

 Route sales enquiries into an accountable follow-up process
-----------------------------------------------------------

The field table below groups contact information with the details that shape a sales conversation. That order lets a prospect identify their organisation before they explain the request. It also gives a representative a compact briefing before they open a message or schedule a call.

Assign a clear owner to each new submission. A smaller team may send all enquiries to one sales inbox. A larger team may route by account segment, territory, or product line. The template does not decide that policy. Your Laravel application should make the assignment where it already understands users, accounts, and permissions.

Keep the first follow-up tied to the submitted context. A representative can acknowledge the stated timeline, ask about an unclear budget, and address the company by name. That is more useful than a generic confirmation. It also gives the sales team a consistent source record when several people discuss the same enquiry.

The settings block controls the form behaviour in your panel. Change it there when your sales process changes, instead of maintaining a hand-written Filament schema. This keeps the form visible to the people who own lead collection and prevents configuration from drifting away from the working sales process.

Adapt the template for a fixed-scope package
--------------------------------------------

For an agency selling one fixed-scope package, drop `budget` and `team_size`. Add a `preferred_start_date` field instead. A fixed offer already defines the commercial range, so a start date gives the team a more useful signal about delivery planning.

Keep the company and email details in that variant. They still give the agency a contact point and a way to match a request to an existing client. Ask only for details that change the next action. A fixed-scope package does not need a budget question when the price is already clear.

You can use the same approach for other focused offerings. If a consultant only accepts work in one region, add a location only when it changes availability. If a service requires a decision-maker, add a role question only when it changes who receives the follow-up. Each extra question needs an owner who will use the answer.

Route submissions inside Laravel
--------------------------------

FilaForms emits `FormSubmitted` after a prospect submits this template. A Laravel listener can read `email`, `company`, and `budget` from the submission data. The example writes the submission context to the application log, which gives you a runnable starting point for a notification or review workflow.

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

```
submission->data;

        $email = $data['email'] ?? null;
        $company = $data['company'] ?? null;
        $budget = $data['budget'] ?? null;

        Log::info('Sales contact received', [
            'form_id' => $event->form->getKey(),
            'submission_id' => $event->submission->getKey(),
            'email' => $email,
            'company' => $company,
            'budget' => $budget,
        ]);
    }
}

```

Replace the log call with the action your application needs. You might notify the representative who owns the account, create an internal lead record, or place the enquiry into a review queue. Keep the original submission as the source record. Derived records should retain its identifier so a teammate can inspect the complete response later.

This template captures budget and timeline as text. It does not score or qualify the lead, so routing beyond a notification email remains your responsibility. Add lead scoring only after you define the signals, outcomes, and review process that make a score useful for your team.

Know when this template is the wrong tool
-----------------------------------------

Choose this template when developers already operate the sales application and want enquiries close to the account data that informs follow-up. Review the [FilaForms features for Laravel and Filament](/features) when your workflow needs conditional questions, multi-step forms, notifications, or submission analytics.

 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('sales-contact');
```

  Template schema (JSON) ```
{
    "name": "Sales Contact Form",
    "description": "Route sales enquiries to the right team with budget and timeline context",
    "icon": "heroicon-o-currency-dollar",
    "category": "Contact",
    "popularity": "High",
    "sections": [
        {
            "name": "Your Details",
            "fields": [
                {
                    "label": "Full Name",
                    "type": "text",
                    "code": "full_name",
                    "required": true,
                    "width": "50"
                },
                {
                    "label": "Work Email",
                    "type": "email",
                    "code": "email",
                    "required": true,
                    "validation": [
                        {
                            "name": "email",
                            "parameters": []
                        }
                    ],
                    "width": "50"
                },
                {
                    "label": "Company",
                    "type": "text",
                    "code": "company",
                    "required": true,
                    "width": "50"
                },
                {
                    "label": "Phone Number",
                    "type": "phone",
                    "code": "phone",
                    "required": false,
                    "width": "50"
                }
            ]
        },
        {
            "name": "What You Need",
            "fields": [
                {
                    "label": "Team Size",
                    "type": "select",
                    "code": "team_size",
                    "required": true,
                    "options": [
                        {
                            "value": "1-10"
                        },
                        {
                            "value": "11-50"
                        },
                        {
                            "value": "51-200"
                        },
                        {
                            "value": "201-1000"
                        },
                        {
                            "value": "1000+"
                        }
                    ],
                    "width": "50"
                },
                {
                    "label": "Approximate Budget",
                    "type": "currency",
                    "code": "budget",
                    "required": false,
                    "description": "Helps us point you at the right plan",
                    "width": "50"
                },
                {
                    "label": "Buying Timeline",
                    "type": "toggle-buttons",
                    "code": "timeline",
                    "required": true,
                    "options": [
                        {
                            "value": "This month"
                        },
                        {
                            "value": "This quarter"
                        },
                        {
                            "value": "Next 6 months"
                        },
                        {
                            "value": "Just researching"
                        }
                    ],
                    "width": "100"
                },
                {
                    "label": "How Can We Help?",
                    "type": "textarea",
                    "code": "message",
                    "required": true,
                    "placeholder": "Tell us what you are trying to solve",
                    "validation": [
                        {
                            "name": "min",
                            "parameters": [
                                "20"
                            ]
                        }
                    ],
                    "width": "100"
                }
            ]
        }
    ]
}
```

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

  What does this Laravel sales contact form collect? It captures an email address, company, budget, team size, and timeline so sales can triage an enquiry before the first reply. 

 How should I adapt this form for a fixed-scope agency package? Drop budget and team\_size, then add a preferred\_start\_date field when you sell one fixed-scope package. 

 How do I route sales contact submissions in my Laravel application? Listen for FilaForms\\\\Core\\\\Events\\\\FormSubmitted and read email, company, and budget from the submission data. 

 Does this template qualify or score sales leads? No. The form captures budget and timeline as text, but it does not score or qualify a lead, so routing beyond a notification email remains your responsibility. 

   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/sales-contact) [ See pricing ](https://filaforms.app/pricing) 

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

- [ Route business inquiries by type before you ever reply Import a Laravel general inquiry form for Filament, capture inquiry types and questions, t... ](https://filaforms.app/templates/inquiry-form)
- [ Give visitors a way to reach you without exposing your email Import a Laravel contact form for Filament, store each message in your application, notify... ](https://filaforms.app/templates/contact-form)
- [ Let organizers submit a speaking invitation with the details you need Import a Laravel speaker request form for Filament, review event details, and route each i... ](https://filaforms.app/templates/speaker-request)
- [ Qualify demo requests before your sales team picks up the phone Import a Laravel demo request form for Filament, qualify leads by company size and product... ](https://filaforms.app/templates/demo-request)
- [ 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)
