How do you get AI receptionist calls into ServiceTitan, Housecall Pro or Jobber?
You send each finished call to Zapier as a webhook, filter out the calls that aren't jobs, and let a Zapier action create the record in your field-service software. In Jobber that can be a client and a request. In ServiceTitan it can be a lead or a booking. In Housecall Pro, Zapier can only create the customer.
This guide walks through it for each of the three, with a field map, what doesn't work, what it costs in Zapier tasks, and how to test it. We build Botcadence, an AI receptionist for HVAC and restoration companies. Botcadence has no native integration with ServiceTitan, Housecall Pro or Jobber; it reaches them only through Zapier or webhooks, and that's what this guide sets up. Every Zapier trigger, action and plan rule below was checked on Zapier's and the vendors' own pages on October 23, 2026.
If you're still choosing between your software's built-in AI receptionist and a standalone one, read Jobber Receptionist vs Housecall Pro CSR AI vs ServiceTitan AI Voice Agent first. If you use the built-in one, you don't need any of this.
What Botcadence sends to Zapier
Botcadence posts to a Zapier Catch Hook (from Webhooks by Zapier). You set this up as an automation in Botcadence: choose the event, add a "Send to Zapier" step, and pick your Zapier connection. The events you can send are:
| Botcadence event | When it fires | event_type in the payload |
|---|
| Conversation or call finished | A call hangs up or a chat ends | call.completed for calls, chat.completed for chats |
| Handed to a human | The AI hands the conversation to your team | chat.lead.handed_over |
| Conversation went quiet | The customer stops replying for a while | chat.lead.inactivity_summary |
For getting jobs into field-service software, "Conversation or call finished" is the one you want.
What's in each post:
- The basics:
event, event_type, occurred_at, conversation_id, channel, status and the AI's summary of the call.
- Your captured fields, under
structured_data. These are the fields you name in Botcadence, such as customer_name, callback_number, service_address, job_type or urgency. After the call, the AI fills each one from what the caller said.
Name the fields once and keep the names stable, because your Zap maps them by name. The Send to Zapier step can also have conditions, so Botcadence only posts calls where, for example, job_type is filled in. Each post carries a unique key, so Zapier drops a delivery it has already received.
What isn't sent: recordings, and anything you didn't define as a captured field. If your software needs it, capture it.
Before you start: the plans you need
| You need | Requirement | Source |
|---|
| Zapier | A paid plan. The Free plan has no webhooks and allows only two-step Zaps, and this setup needs both a Catch Hook and a filter. Professional starts at $19.99 a month billed annually ($29.99 monthly) for 750 tasks. | Zapier pricing page |
| Jobber | A plan that includes Zapier: Zapier's help center lists Connect, Grow and Plus. Jobber's own pages say "select plans", so check under Account and Billing. | Zapier and Jobber help centers |
| Housecall Pro | Essentials, Essentials+ or MAX. You turn on the Zapier app in Housecall Pro's App Store and paste the API key it shows into Zapier. | Housecall Pro help center |
| ServiceTitan | The Works or Legacy package. A ServiceTitan administrator submits the Zapier registration form, then you connect with a Client ID, Client Secret and Tenant ID from Settings > Integrations > API Application Access. | ServiceTitan help center |
Task cost: Zapier counts a task only for each successful action step. Triggers, filters and Formatter steps don't count. A Zap that finds a client and then creates a request uses two tasks per call that gets through the filter.
The Zap, step by step
The shape is the same for all three:
- Trigger: Webhooks by Zapier, Catch Hook. Copy the hook URL into your Botcadence project's Integrations page, then choose that connection in the Send to Zapier step of your automation.
- Send a test. Make a test call to your Botcadence number and describe a real job, so Zapier has a sample with every captured field.
- Filter by Zapier. Continue only if
event_type exactly matches call.completed and structured_data.job_type exists. That keeps wrong numbers, spam and "just asking" calls out of your software. You can put the same condition on the Botcadence step instead, and it costs nothing either way.
- Formatter (optional). Split
customer_name into first and last name if your software wants them separately, and format the phone number.
- Find before you create, where the app has a search action, so repeat callers don't become duplicate customers.
- Create the record in your software.
Jobber
Zapier's Jobber app has Find Client, Find or Create Client, Create Client, Create Request, Create Job, Create Quote, Add Note to Request and Add Tags to Client.
Steps after the filter:
- Find or Create Client, by phone number or email. This creates the client only when no match exists.
- Create Request for that client. Put the job type in the title and the AI's summary in the details.
- (Optional) Add Tags to Client, for example
ai-after-hours or emergency, so your office can filter them.
Why a request rather than a job: a request is how Jobber handles new work that someone still has to review and schedule. Create a job only if the call already booked a firm time and you trust it to go straight onto the schedule.
Housecall Pro
Zapier's Housecall Pro app has one action, Create Customer, and two triggers, Job Scheduled and Job Finished. There's no search action and no "create job" action.
Steps after the filter:
- Create Customer. First name is required. Map last name, phone, email and address too.
- Notify your office in a second action: a Slack message, an email or a text with the AI's summary and the job type, so someone schedules the job in Housecall Pro.
Limits:
- No duplicate check. Zapier can't check whether the customer already exists, so a repeat caller creates a second customer. If that matters to you, send repeat callers to the office notification only, or merge duplicates in Housecall Pro weekly.
- Webhooks need more. Housecall Pro's help center says its own webhooks need the MAX plan and a premium Zapier account.
ServiceTitan
Zapier's ServiceTitan app is the deepest of the three. Its actions include Create Customer, Create Location, Create Lead, Create Lead Note, Create Booking, Create Booking Contact, Create Job and Create Appointment, plus search actions such as Search Customers, Search Location, Search Leads and Search Job Types.
Steps after the filter:
- Search Customers by phone. If nobody matches, create the customer, and the location if it's a new address.
- Create Booking (or Create Lead if that's how your call center works) with the job type, the urgency and the AI's summary. Your CSRs then confirm and schedule it in ServiceTitan.
- Create Lead Note, or a customer note, with the conversation ID, so a CSR can open the full transcript in Botcadence.
Getting help: ServiceTitan says it supports only its API through Zapier and points Zap setup questions to Zapier support. Budget a little time for the registration step; ServiceTitan contacts you after you submit the form.
Field map
| Botcadence captured field | Jobber | Housecall Pro | ServiceTitan |
|---|
customer_name | Client first and last name | Customer first and last name | Customer name |
callback_number | Client phone (and the Find key) | Customer mobile number | Customer contact phone (and the search key) |
service_address | Client property address | Customer address | Location address |
job_type (for example no heat, water loss) | Request title | Office notification | Booking or lead summary; match it to a Job Type |
urgency (emergency, next day, routine) | Request details, or a client tag | Office notification | Booking priority or summary |
summary (always sent) | Request details | Office notification | Booking summary or note |
conversation_id (always sent) | Request details | Office notification | Note |
Use your software's exact job type names in the captured field's description, so the AI writes "No Heat" and not "furnace not working."
What this setup can't do
- No live availability from your board. The AI books into Google Calendar during the call, or tells the caller the office will confirm a time. Zapier then creates the request, booking or customer after the call. Zapier can't look up open slots in ServiceTitan, Housecall Pro or Jobber while the caller is still on the line.
- It's after the call, not during it. The record appears once the call ends and the Zap runs, usually within seconds of the post.
- Emergencies still need a person. A Zap creates a record; it doesn't wake anyone. For a no-heat call with an infant at home or a burst pipe, use Botcadence's on-call escalation, which texts and calls your on-call list until someone replies. The HVAC emergency triage call script sets out which calls those are.
- The AI only knows what the caller said. If the caller doesn't give a usable address, the field arrives empty. Make the filter require the fields your software can't do without.
Restoration shops on JobNimbus
If you run JobNimbus rather than one of these three, you don't need Zapier for this. Botcadence's JobNimbus integration creates the lead and adds the call note directly. Other restoration platforms vary, so check what your software accepts through Zapier or a webhook before you build; our guide to restoration software call intake covers Xcelerate, DASH, Albi, Encircle and PSA.
How to test it
- Turn the Zap on, then call your Botcadence number from a phone that isn't in your software.
- Describe a real job: "No heat, my address is…, I'm a new customer."
- Check Zap History: one run, the filter passed, every action succeeded.
- Open the new record and check each mapped field.
- Call again from the same phone with a different problem. In Jobber and ServiceTitan you should get one customer with two requests or bookings. In Housecall Pro, expect a second customer.
- Call and say "wrong number." The filter should stop it.
Troubleshooting
| What you see | Likely cause | Fix |
|---|
| The Zap never runs | The Send to Zapier step isn't on the automation, or the hook URL changed | Re-copy the Catch Hook URL into Botcadence and check the automation is on |
| Runs stop at the filter | A field name in the filter doesn't match the captured field | Compare the filter with the sample payload in Zapier |
| Empty address or name | The caller didn't give it, or the field description is vague | Tighten the captured field's description; require it in the filter |
| Duplicate customers | No search step, or the phone format differs | Add Find or Search before Create; format phone numbers the same way |
| ServiceTitan returns a 500 error | A ServiceTitan API issue | ServiceTitan supports API errors; contact them with the Zap run details |
| Housecall Pro won't connect | The Zapier app isn't on in the App Store, or the plan doesn't include it | Turn on the Zapier app in Housecall Pro and refresh to see the API key |
| Tasks run out mid-month | Every successful action counts | Filter harder, or move the condition into Botcadence |
For the AI receptionist itself, see AI for HVAC companies and AI for restoration companies, and the Zapier integration page for the full event list.