Vapi / Implementation guide

Vapi overnight dispatch for HVAC and plumbing franchises

Vapi can collect overnight service details while n8n checks ServiceTitan API territory, technician capability and available dispatch data. Claude may summarize a call, but emergency severity and assignment eligibility need approved deterministic rules. Do not assume ServiceTitan API access includes live truck GPS. The nearest vehicle is also not necessarily the technician authorized, rested or equipped to handle the job.

Tools: Vapi; n8n, Claude 3.5 Sonnet, ServiceTitan API
01

The industry-specific problem

An answering service may capture a callback number yet miss a gas odor, active flooding or a territory boundary. A franchise needs safety-first intake and a confirmed on-call acceptance, not merely a job inserted into tomorrow's schedule.

02

Step-by-step workflow

  1. Configure Vapi to identify address, callback number and approved emergency indicators. For immediate danger, use the organization-approved emergency-services instruction rather than troubleshooting.
  2. Verify ServiceTitan API tenant enablement and dispatch scopes in n8n; read territory, on-call roster and skill eligibility.
  3. Use a supported Claude model for concise call notes, replacing the retired Claude 3.5 Sonnet requirement after evaluation.
  4. Rank eligible technicians using deterministic territory, certification and capacity rules. Use GPS only if an authorized endpoint and fresh data are available.
  5. Call the selected technician and require acceptance. Timeout escalates to the duty manager; customer confirmation follows acceptance, not attempted dispatch.
03

Visual workflow

Caller → Vapi safety gate
  immediate danger → emergency instruction + manager
  service emergency → n8n ServiceTitan eligibility → technician acceptance → job confirmation
04

Specific configuration example

This n8n Code-node fragment consumes a normalized, authenticated event from preceding integration steps. It demonstrates the decision boundary, not a complete API client. Fields are workflow-local mappings, not claimed vendor field names. Upstream credentials, schema validation, permissions, durable reservations and provider operations must be implemented separately. Numeric policy examples are illustrative, not Imperio service terms.

// n8n Code node: dispatch eligibility precedes distance
const job = $json;
const eligible = (job.technicians ?? []).filter(t =>
  t.on_call && t.territories.includes(job.territory_id) &&
  t.skills.includes(job.required_skill) && t.capacity_remaining > 0);
return [{ json: {
  action: job.immediate_danger ? "safety_escalation" :
    eligible.length ? "request_technician_acceptance" : "duty_manager",
  candidateIds: eligible.map(t => t.id),
  customerConfirmationAllowed: job.technician_accepted === true
} }];
05

Outcome to measure

Illustrative planning metrics only. Not verified client results.

Measure emergency calls answered, minutes to accepted dispatch and inappropriate dispatches. Illustratively, recovering four qualified overnight jobs at an assumed $600 average invoice represents $2,400 gross billed value before labor, materials and acquisition costs.

06

Compared with manual work or other tools

A human answering service can exercise judgment but may lack your live operating rules. A voice workflow wins only when it integrates actual roster data and retains a human fallback for safety and unavailable technicians.

07

Work with Imperio Automation

Have Imperio map your ServiceTitan permissions, emergency script and on-call escalation chain before piloting overnight dispatch.

Scope this workflow
08

Frequently asked questions

Will it always dispatch the closest truck?

No. Skills, territory, duty status and capacity take priority; distance is useful only with current authorized data.

Can it advise on a suspected gas leak?

Use approved immediate-danger instructions and escalate; do not improvise repair guidance.

What if nobody accepts?

Escalate to the duty manager and tell the caller the actual dispatch state, not a fictional ETA.

09

Technical and regulatory references