Meet Clair.
The marketing expert
you'd hire if you could.
She ties every ad dollar, call and lead to the job it booked in ServiceTitan, then answers in Slack the way a sharp marketing and sales expert would: return on ad spend by channel, cost per booked job, close rate, the pipeline going quiet, and where next month's budget should go. Charts, spreadsheets and a Monday brief included. No dashboard to learn.
Slack today · Teams and Google Chat next · attribution from booked revenue, not clicks
Facebook and Google LSA each returned about $11 in booked revenue per ad dollar. Google Ads returned $4.60 on the biggest budget, at $159 per booked job against $51 on LSA.
Move $10K a month from Google Ads to LSA while the HVAC board has room. Cheaper than any new lead: 112 missed calls never got a callback, and 36 estimates over $5K ($488K) have gone quiet.
Clair · data through 2026-08-23 · AI-generated, check before acting
One hire, four jobs.
Clair answers the questions each person in the shop actually asks, from the same data, in their own words.
The owner
- “How much of my seasonality is weather, and what did the weather do to me this year?”
- “Give me the daily brief.”
- “According to the data, what's the best lead generation strategy for me?”
- “How much cash do I have, and how many weeks of payroll is that at the forecast run rate?”
The dispatcher
- “Who is under 60% next week, and what open work could fill them?”
- “It's going to be hot Thursday. How many no-cool calls should I expect, and do I have the hours?”
- “What calls did we miss yesterday, and did anyone call them back?”
- “Which memberships are due for a tune-up this month with nothing scheduled?”
The bookkeeper
- “What's invoiced in ServiceTitan but not in QuickBooks yet?”
- “AR over 30 days: who, how much, and what should we chase first?”
- “Which vendor bills are due before the forecast cash comes in?”
- “Are we on pace for the month?”
The sales manager
- “Show me estimates over $5K that are 5 to 14 days old with no follow-up.”
- “What's our close rate on estimates, and where is it slipping?”
- “What should I do with memberships to increase conversion?”
- “What's the open estimate pipeline by business unit, and what is it worth at our close rate?”
Answers you can forward.
Every answer comes with the evidence: a chart that carries the point, a spreadsheet when there are numbers to work with, a PDF brief when there is something to share.




A week of work, start to finish.
She reads the numbers, decides what they call for, and brings you the proposal. You click; she does it and logs it.
She spends your ad budget like the board is watching.
Every morning she checks two weeks of forecast and booked hours per business unit against the crew you have. A full board means less spend on the campaigns that feed it, down to the floor you set. Room on the board means more, up to your ceiling. A hot week or a freeze moves the load by what your own history says it does.
- Reads Google Ads, the dispatch board and the 7-day forecast
- Proposes each budget change inside the floor and ceiling you approved
- Holds raises during a storm warning; the surge comes after
HVAC service is 97% booked for the next two weeks; plumbing is at 58%. Thursday's 94°F adds about 40 technician hours to HVAC.
Proposed · Change Google Ads budgets
HVAC Repair – Search: $220 → $90 a day (its floor)
Drain Cleaning – Search: $80 → $140 a day (its ceiling)
About $560 saved this week, spent where there is room to book it.
Change Google Ads budgets · within the approved ads plan
She picks who to call. Onepath makes the calls.
Clair finds the customers worth reaching from your ServiceTitan history: old equipment, lapsed members, estimates that went quiet. She sizes each list against the crew's open hours and hands it to Onepath. Onepath's voice agents and texts run the campaign, and the booked jobs come back to Clair, so the next list is better than this one.
- Lists built from equipment age, repairs, memberships and open estimates
- Sized to the open slots on the board, so you never sell demand you cannot serve
- Results read back by booked job and revenue, not by calls placed
412 customers have an AC unit 12+ years old and a repair in the last 18 months. Another 96 members lapsed this year.
The board has room for about 60 replacement estimates. I'd start with the 180 households whose repair bills topped $600: last fall, that group booked at 3x the rest.
Proposed · Hand a prioritised list to Onepath · 180 households, replacement offer with the fall rebate, voice call then text
Payroll prepared from the jobs, not from memory.
She reads completed jobs, sold estimates and timesheets in ServiceTitan, applies the commission plan you approved once, and checks the result against what your payroll provider paid last time. On Gusto, one click enters the commissions on your open payroll; you review it and press Submit, as always. Pay per person goes only to the owner's DM. The channel sees totals.
- Gusto, ADP, Paychex, Rippling and 20 more, read through Finch
- Commissions entered on Gusto's open payroll, never submitted for you
- Commissions by your rules: percent of completed revenue, of sold installs, spiffs
- Flags hours on jobs with no clock-in, and commission on refunded work
Payroll for Oct 6–19 is ready: 23 people, $9,570 in commissions. 22 of 23 technicians matched to Gusto; Luis R. needs a link.
Two things to check: 6.5 hours on jobs with no clock-in (Tue, Ben K.), and $310 commission on an invoice refunded Monday, held back.
Proposed · Enter commissions on the open Gusto payroll (not submitted)
22 people, $9,190. Nobody's existing commission is touched.
Enter commissions on the open Gusto payroll · per-person sheet sent to your DM
What did my installs actually make last year?Booked margin 68%; real margin 56% once equipment is priced at what you paid, crew hours at their own rate, commissions and callbacks counted.See the example → Vendor price watch
Ferguson sent a new price list.Drop the PDF in Slack. 14 items rose 6–9%; she proposes the pricebook update, with your markup tiers, for one click into ServiceTitan.See the example → The weather call
Cold front Thursday.Wednesday evening she flags it: no-heat calls up about 30%, two service techs under-booked Friday, tune-ups to move.See the example → Missed calls, before 8am
Who called last night and never heard back?The call sheet lands in #dispatch at 7: time, area, what they asked for, so the CSRs work it before the board fills.See the example → Estimates gone quiet
Which big estimates are going cold?36 estimates over $5K ($488K) untouched for 3 weeks. She drafts the follow-up text for each, from your number, for your approval.See the example → Chase the money
Who owes us over 30 days?Receivables from QuickBooks and ServiceTitan, ranked. Reminders drafted, gentler for members, and the weeks of payroll your cash covers.See the example → Notes from the NotePin
Walked the job with the homeowner.Connect your Plaud once. Every recording's notes land in your DM: what was decided, what you promised, and a reminder on the day.See the example → Meeting notes that turn into work
Forward the Fathom recap.Granola, Fathom or Read.ai: decisions and promises go into her memory, and she reminds you on the day.See the example → Should I hire
Do I fill a ninth HVAC tech in October?Forecast demand against capacity and the open pipeline: yes or no, and the week a new hire pays for themselves.See the example → What callbacks cost
Which jobs come back, and what do they cost us?Warranty and callback visits tied to the original job, by technician and job type, in dollars of unpaid time and parts.See the example → Technician scorecards
How did each tech do this month?Close rate, average ticket, memberships sold, callbacks and hours on jobs, per technician, against their own last quarter and the shop's median.See the example → Permit applications
Pull the permits for next week's installs.From each sold install's address, equipment and job type, she fills the city or county application and lists what still needs a signature.See the example → The Monday brief
Nobody asks. It arrives at 6.The week ahead in one post: revenue and visits with their ranges, who has room, the weather, and three plays with owners.See the example → Membership renewals, through Onepath
Whose plan is up next month?Members due for renewal or a missed tune-up, ranked by what they spend, handed to Onepath to call and text, with the renewals read back.See the example → Review follow-ups
Did yesterday's customers hear from us?Every completed job gets a review request from your number the next day. A bad review goes to the manager with the job's history, so the reply is ready the same day.See the example → Numbers for the bank
Send the Q3 numbers to our banker.A private page at your own link, with charts and the forecast range, that the banker opens without a login. The link stops working after 30 days.See the example →
Examples from a demo shop. Payroll is read through Finch from any provider; entering commissions directly works on Gusto, and other providers get the sheet to enter. Filing permit applications is on the way.
Connect. Ask. She delivers.
- ConnectServiceTitan, your books, your lead desk, Slack. A few minutes each, read-only.
- Ask“How do the next five weeks look?” “Who has room Thursday?” “Which channel pays for itself?” In a DM, or @Clair in a channel.
- She deliversThe answer with the reason, the chart, the spreadsheet, and a Monday brief before anyone asks.
She does the work. You click.
Every action starts as a proposal in Slack with one button. Approve and she executes and logs it; decline and nothing happens. Approve a rule once and it runs every week. Nothing writes to your systems without a human's click.
Proposed · Call sheet: 3 missed calls from yesterday, 2 never returned
Posts the list (time, area, callback status) to #dispatch for the CSRs to work before the 8am board fills.
Post a call sheet to a channel · action 0393917d · nothing happens until someone approves
Done · Call sheet: 3 missed calls from yesterday, 2 never returned
Posts the list (time, area, callback status) to #dispatch for the CSRs to work before the 8am board fills.
Post a call sheet to a channel · action 0393917d
Done by @Jim · posted 3 rows to #dispatch
Done · The weekly brief, every Monday at 06:00
Posts the brief to #owners on schedule: headline numbers with ranges, the board, the weather, three plays.
Standing rule: the weekly brief on a schedule · action a71c2e04
Done by @Jim · standing rule set: the brief every Monday at 06:00 in #owners
Connect your tools. Two minutes each.
ServiceTitan
Housecall Pro
Jobber
Service Fusion
Workiz
AccuLynx
Fyxify
Samsara
Onepath
WhatConverts
CallRail
RingCentral
HubSpot
Google Ads
Meta Ads
Google Business Profile
Mailchimp
QuickBooks Online
Xero
Sage Intacct
Stripe
Square
GreenSky
Microsoft Teams
Google Calendar
Gmail
Granola
Fathom
Fireflies
Notion
Microsoft 365
monday.com
Asana
ADP RUNShow all 323
UKG Ready
Square Payroll
OnPay
Wave Payroll
Namely
Deel
Oyster
Factorial HR
Horizon Payroll
Humaans
Sage HR
Sapling
Sequoia OneHire Clair for your shop.
Connect ServiceTitan and Slack this afternoon. She sends her first brief Monday.
Hire Clair