What a trades quote form needs
A contractor's website form has one job: turn a homeowner with a problem into a quotable lead, fast, with enough detail (and ideally photos) that your first reply can be specific. Two things make or break it — capturing photos, and alerting you immediately. A quote request that sits unseen for half a day is a job your competitor booked.
The fields that scope a job without overwhelming a phone user:
- Name + phone + email — phone first; trades customers expect a call.
- Job type — a dropdown (roofing, plumbing, electrical, HVAC, remodel, etc.).
- Address / service area — for travel and scheduling.
- Timeline — emergency, this week, planning ahead.
- Description + photos — the photos are the difference between a guess and a quote.
Photos and speed win the job
Photo uploads turn a vague "need a quote" into something you can price from your truck. A homeowner who attaches three photos of a failing water heater has handed you most of the estimate. Use a form backend that supports file uploads so photos attach directly to the request — no separate texts to chase.
Then make the alert instant. splitforms delivers via dedicated SMTP and signed webhooks, so a new quote request can ping your phone within minutes wherever you are:
- Photo uploads included — attach images right on the request.
- Instant alerts — text-style notifications so you respond first.
- Spam filtering — keeps junk out of your lead queue.
- Free up to 500 requests/month — no field-service subscription required for the form.
Copy-paste quote-request form (with photo upload)
Paste into your site and swap YOUR_ACCESS_KEY for the one from your free splitforms account. The file input lets homeowners attach photos of the job.
<form action="https://splitforms.com/api/submit" method="POST" enctype="multipart/form-data">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
<input type="hidden" name="subject" value="New quote request" />
<label>Name<input type="text" name="name" required /></label>
<label>Phone<input type="tel" name="phone" required /></label>
<label>Email<input type="email" name="email" required /></label>
<label>Job type
<select name="job_type" required>
<option>Roofing</option>
<option>Plumbing</option>
<option>Electrical</option>
<option>HVAC</option>
<option>Remodel / renovation</option>
<option>Other</option>
</select>
</label>
<label>Property address / service area
<input type="text" name="address" required />
</label>
<label>How soon?
<select name="timeline" required>
<option>Emergency / ASAP</option>
<option>This week</option>
<option>Within a month</option>
<option>Planning ahead</option>
</select>
</label>
<label>Describe the job
<textarea name="description" rows="4" required></textarea>
</label>
<label>Photos of the job (recommended)
<input type="file" name="photos" accept="image/*" multiple />
</label>
<!-- honeypot -->
<input type="checkbox" name="botcheck" style="display:none" tabindex="-1" autocomplete="off" />
<button type="submit">Get my quote</button>
</form>Get pinged the second a request lands: Telegram alerts. Track every lead with form to Google Sheets. More on attachments: add file uploads to any form.
Mistakes that lose trades leads
- No photo upload. Without photos every lead needs a site visit before you can even quote. Let them attach images.
- Slow response. Home-services customers call several contractors; the first reply often wins. Alert yourself instantly.
- Only a phone number on the site. Add a form so after-hours leads are captured, not lost to voicemail.
- Untested delivery. Submit your own form and confirm it lands. Contact form not working.
What to do next
- Related: real estate lead forms · consultants
- Add it to your site: WordPress · Wix
- Handle attachments: file uploads guide
- Ready to set it up: get a free access key
FAQ
What should a contractor's quote-request form ask?
Enough to scope and prioritize the job: name, phone, email, job type (roofing, plumbing, electrical, remodel, etc.), property address or service area, timeline/urgency, a description, and — critically — photo uploads. A photo of the leaking pipe or the roof section turns a vague inquiry into a near-quotable lead and cuts a site visit's worth of back-and-forth. Keep it short; trades customers fill these out on a phone.
Why are photo uploads so important for trades leads?
Because a picture lets you ballpark the job before you drive out. A homeowner who attaches three photos of a bathroom remodel or a failing water heater has given you most of what you need to respond with a realistic range and qualify the lead. Use a form backend that supports file uploads so customers can attach photos directly to the request instead of a separate text message.
How do I beat competitors to the lead?
Speed wins home-services jobs — the first contractor to respond often books the work. Wire an instant alert to your phone (text-style via Telegram, or a push-notified channel) so a quote request reaches you within minutes, even on a job site. splitforms delivers via dedicated SMTP plus signed webhooks, so you can route alerts to wherever you'll see them fastest.
Do I need expensive field-service software for the website form?
No. Field-service platforms (Jobber, Housecall Pro, ServiceTitan) are worth it for scheduling, dispatch, and invoicing once you're running crews. But the website quote-request form itself doesn't require one — a hosted form backend captures the lead, attaches the photos, and alerts you instantly for free up to 500/month. Forward qualified jobs into your field-service tool from there.
Will this work on my existing contractor website?
Yes. Whether your site is WordPress, Wix, GoDaddy, or a custom build, you can embed an HTML form pointed at a backend endpoint — no plugin or upgrade. Paste the form, set where alerts go, and quote requests (with photos) start arriving.