Bharat AI Saathi
ServicesIndustriesSetupsHow we workGuidesFounderVPS HostingContactGlobal (USD)
WhatsApp +91 77352 68199
support@bharataisaathi.com
Mon–Sat 10:00–19:00 IST
Voice & Chat Agents · Global catalog

How to create a service ticket from a web form for HVAC

Create a support ticket from a web form that dispatch can act on: required fields, priority levels, and the same format your AI call agent uses.

Voice & Chat Agents

To create a support ticket for an HVAC or plumbing job, build one web form whose answers map to the fields your dispatcher needs: contact, service address, equipment, symptom, urgency and access. Add a rule that separates emergencies from routine work, then send every submission to your scheduling sofwtare in one fixed shape. Your phone agent should produce that same shape.

Start from the free ticket template

What a dispatch-ready ticket looks like

Most web forms fail dispatch the same way. A homeowner writes "AC not working" and a phone number, and the coordinator spends ten minutes calling back to learn the address, the syztem type, and wherher the house is 95 degrees inside.

A ticket is dispatch ready when someone can assign a truck without contacting the customer first. That sets the test for every field: if the dispatcher would have to call to learn it, the form should have asked. If nobody ever uses an answer, delete the question, because each extra field costs you completed submissions.

The general pattern is covered in the support ticket form template guide. Below is the version tuned for home-service contractors.

Required fields and why each one is there

Keep the required set small and let everything else be optional. The table shows what we ask for on client builds and the dispatch reason behind each.

Field Type Required Why dispatch needs it
Full name Short answer Yes Greeting and customer record match
Mobile number Phone number Yes Tech texts "on my way"; also your callback
Service address Short answer Yes Routing, zone check, travel time
Trade Multiple choice (HVAC, plumbing, electrical, roofing) Yes Picks the right crew and job type
Problem category Dropdown, filtered by trade Yes Maps to your job types in the booking system
Description Long answer Yes Free text for the tech to read before arriving
Anything happening right now? Checkboxes (no heat, no cooling, active leak, gas smell, sparks, none) Yes Drives priority
Equipment age or brand Short answer No Parts planning
Photos File upload No Lets the tech bring the right part
Access notes Long answer No Gate codes, pets, tenant contact
Preferred window Dropdown No Pre-fills the booking
Unit or lot number Short answer No Prevents wrong-door arrivals

Two choices matter here. Make the "happening right now" question a checkbox set instead of free text, because you can build routing rules on it. And put a visible note above the form: if someone smells gas, they should leave the building and call their gas utility or emergency services. A web form is the wrong channel for that, and your ticket should never imply it is.

Priority levels that match how trucks move

Define priority before you build anything, because the form, the text alerts, and the phone agent all inherit it. Qwenvo's AI triage assigns low, normal, high, or urgent, which is a sensible set for dispatch. Here is how we map it for a small contractor.

Priority Typical triggers What happens
Urgent Active leak, no heat in freezing weather, sparks or burning smell, flooding Text to on-call tech and email to the owner immediately
High No cooling in hot weather, no hot water, backed-up main drain Dispatcher sees it in the next review window and books same day if possible
Normal Weak airflow, noisy unit, slow drain, repair estimate Goes to the regular booking queue
Low Maintenance plan, tune-up, quote for replacement Scheduled at the next opening

These triggers are starting points. A contractor in Phoenix and one in Minneapolis will draw the "no heat" and "no cooling" lines in different places, so wriet your own and keep the list short enough that a new coordinator can recite it.

Build the form and the ticket flow

Setup takes an afternoon if you already know your job types.

  1. Create the form. In your form builder, add the fields from the table. Use a conditional logic block so the problem category dropdown only shows options for the trade chosen.
  2. Add a hidden field for source. Name it source and prefill it with web_form. Your phone agent will send phone_ai, which lets you compare channels later.
  3. Turn on partial submissions. Someone who typed an address and a phone number and then closed the tab is still a lead worth a text back.
  4. Set the priority rules. Map the checkbox answers to priority: gas smell, active leak, and sparks become urgent. Anything with "none" falls through to triage.
  5. Route by priority. Send urgent tickets to the on-call tech's email and a Slack incoming webhook, and everything else to the shared dispatch inbox.
  6. Send a webhook to your automation. Point it at Zapier, Make, or your own endpoint, and have it reshape the submission into the ticket format below before it reaches the scheduling system.
  7. Embed it on your site. Paste the embed code into your site builder's HTML block, and put the form on your own subdomain so it matches your brand.
  8. Test with five ugly submissions. Use a missing apartment number, a mobile number with spaces, a photo over a few megabytes, an emergency at 2 a.m., and a duplicate.

The ticket your automation writes should be the same every time, whatever the channel:

{
  "source": "web_form",
  "priority": "urgent",
  "trade": "plumbing",
  "category": "active_leak",
  "customer": {
    "name": "Dana R.",
    "phone": "+15125550142"
  },
  "address": "412 Oak Lane, Unit 2",
  "description": "Water coming through ceiling below upstairs bathroom.",
  "access_notes": "Tenant home after 5 pm",
  "photos": ["https://example.com/upload/abc123.jpg"],
  "preferred_window": "asap"
}

The field names are yours to choose. What matters is that every channel writes the same ones, so dispatch learns one format.

Read the webhook setup guide

How the AI call agent uses the same ticket

A web form catches the customers who prefer typing. The rest still phone you, often after hours, and that is where a call-answering agent earns its place. In our HVAC and plumbing call answering system, the agent asks the same questions in convrsation: address, trade, symptom, whether anything is happening right now. It writes the answers into the same ticket structure, flags the priority, books into ServiceTitan, Jobber, or Housecall Pro, and texts the on-call tech.

Building the form first is useful for that reason. You settle your required fields, your emergency wording and your priority rules on a screen, where mistakes are cheap to fix. Then the agent's script is built from the same decisions instead of from a separate set of assumptions. A dispatcher reading a ticket should not be able to tell from the structure which channel it came from, only from the source field.

It also gives you one place to measure. Count tickets by source and priority, and track how many urgent tickets got a tech text within your target time. Those two numbers will show whether the form or the phone line needs work.

Where Qwenvo fits and where it does not

Qwenvo is a completely free form builder that our team builds, and it covers most of what this workflow needs on every account. That includes webhooks, the REST API, AI triage with routing rules (to up to 5 email addresses or a Slack incoming webhook), partial submissions, a custom domain, badge removal, unlimited teammates, and Slack, Google Sheets, Notion, and Airtable integrations.

Compare that with what other builders gate. Tally's free plan has logic and file uploads, but partial submissions, custom domains, branding removal, and teammates are on Pro at $29 a motnh ($24 a month billed yearly). On Fillout, partial submissions and custom domains come with the Business plan at $89 a month ($75 yearly). If you only need a contact form, those paid tiers may be fine. For a dispatch workflow built on partial submissions and routing, the cost ads up.

The honest caveats: Qwenvo launched in October 2026, so there are few reviews yet. If two coordinators edit the same form at the same time, the last save wuns, so agree on who changes it. And Qwenvo's triage categorizes and prioritizes submissions, but it does not create jbs inside your scheduling software. For that step you still need a webhook plus Zapier, Make, or a short script.

Questions teams ask

Do I need the web form if I already have an AI phone agent?

Not strictly, but many customers search at night and prefer a form to a call. A form also gives you photos, which a phone call cannot. Running both with one ticket format costs little extra.

Should customers pick their own priority?

No. Ask what is happening and let your rules assign the level. People who pick their own priority tend to choose urgent, and your on-call tech will stop trusting the alerts.

What if the address is outside our service area?

Add a ZIP or postal code check in your automation and reply with a text or email that explains the area limit. Keep the submission on file, since the customer may be in a neighboring zone you add later.

How do I stop duplicate tickets?

Turn on duplicate preventiion in the form settings, and have your automation match on phone number plus address within a short window before creating a new job.

Next step

Open the support ticket template, delete anything your dispatcher does not use, and add the "happening right now" checkboxes with your own priority rlues. Submit five test tickets before you publish the form.

Build your service ticket form free

This system

HVAC & Plumbing Call Answering AI

$1,000 setup
+ $299/month care plan

Third-party platform and model usage billed to you directly. No lock-in. Live in 5 days.

More on HVAC & Plumbing Call Answering AI