AI Enabled Businessdeployed
Live
Steal This Workflow — 01

Automate Voicemail → Job Ticket in 15 Minutes

Published
ForField service businesses (HVAC, plumbing, landscaping, cleaning)
Build time~15 minutes
ToolsZapier (or Make) + Claude or ChatGPT
Setup cost$0 if you have Zapier; ~$20 one-time if not
Monthly~$5 (Zapier starter + API usage)
OutcomeVoicemail → structured ticket → CRM or sheet + dispatch alert

This workflow turns an incoming voicemail into a structured dispatch ticket automatically, using speech-to-text plus an LLM extraction prompt wired through Zapier — no human transcription step required for the straightforward cases.

The average field service business receives somewhere between 8 and 40 voicemails a week from people who want to hire them, and those voicemails are transcribed by whoever has time, which is to say they are often not transcribed at all, or are transcribed incorrectly, or are transcribed into a system that is checked irregularly, or are transcribed correctly and then filed in a place where nobody looks. This automation doesn’t fix the filing problem. It does fix everything upstream of it.

The build

Step 1 — Transcribe the voicemail

Trigger: new voicemail arrives in Google Voice, RingCentral, or similar. Zapier has native transcription, or route the audio file to Whisper via API for higher accuracy on field-service accents and job-site background noise.

Step 2 — Extract structured data

Send the transcript to Claude with this prompt:

You are a dispatch assistant for a field service business.
From the voicemail transcript below, extract:
- Caller name (or "unknown" if not given)
- Phone number (or "not provided")
- Service requested (be specific — "AC not cooling" not just "HVAC")
- Urgency: emergency / same-day / scheduled
- Address or location mentioned (or "not mentioned")
- Preferred appointment time if stated (or "not stated")
- Anything else the dispatcher needs to know

Return as JSON. If a field is unclear, use your best reading of
the transcript and add "needs_confirmation": true to that field.

Transcript:
{{transcript}}

Step 3 — Create the ticket

Zapier: JSON output → append row to Google Sheets dispatch log, or create a record in Jobber, ServiceTitan, or HouseCall Pro. The structured JSON maps cleanly to most CRM field schemas.

Step 4 — Alert dispatch

Zapier → Slack message or SMS to the dispatcher. Include the structured summary. Link to the raw transcript for review on anything flagged needs_confirmation.

Where this breaks
Long, rambling voicemails (3+ minutes)

Details buried at the end sometimes don't make it into the extraction. Flag transcripts over 90 seconds for human review before creating the ticket.

Heavy accents or background noise

Transcription accuracy drops. If the transcript looks garbled, route to human — don't let a misread address send a crew to the wrong job site.

Two jobs in one call

This prompt extracts one job. If callers regularly combine requests, adjust the prompt to return an array.

Caller gives street address but no zip code

Look it up manually before routing to a zone-based dispatch system. The automation doesn't know which zip you meant.

Where this comes from

This is the dispatch-automation pattern we see most often in field service businesses — voicemail intake is one of the highest-friction, most fixable workflows in the industry. When a real operator’s implementation runs in Deployed, this page will be updated with their specific numbers: verified cost, setup time, and hours recovered — per the editorial standard on /about.

Get more workflows

Subscribe to Deployed. New workflows ship with every issue.