How I built a quote follow-up helper for a made-up plumbing shop
In my own job, I set up AI to keep after the quotes I was waiting on, because some would have slipped through the cracks. That got me thinking about the other side: the shop that sends a quote and never hears back.
Picture a small plumbing shop. Someone looks at a tired water heater, works up a number and sends it over. The customer says they'll think about it, the week fills up, and nobody checks back in. So I built a small helper for a made-up one, and here is exactly what it does.
Every name and number below is made up, and no real customers were involved.
1. The quotes live in one shared spreadsheet
Each row is one quote, with the customer, the job, the amount, the day it went out and where it stands. Two more columns track the last follow-up and how many have gone out. My sample list:
- Sam Sample: water heater replacement, $1,850, sent 6 days ago, waiting
- Terry Testrow: drain line repair, $3,200, sent 4 days ago, waiting
- Casey Madeup: kitchen faucet swap, $275, sent yesterday, waiting
- Robin Fakename: disposal install, $420, approved
- Jordan Notreal: sewer line inspection, $960, declined
2. The price is whatever the shop typed in
Nothing here sets or changes a price, and that column stays in your hands.
3. Every weekday at 9 in the morning, it reads the list
It picks out quotes that are still waiting, went out at least three days ago and haven't had a follow-up in the last three days. In the sample, that's Sam and Terry. Casey's went out yesterday, so it waits.
4. It fills in a note that was written ahead of time
I didn't want a brand-new email made up every morning, so the wording is fixed and only the first name and the job change. Sam's subject line is "Your water heater quote from [shop name]," and the note reads:
Hi Sam,
Following up on the water heater quote I sent over. If it looks good, reply yes and I'll get you on the schedule. Happy to answer any questions too.
Thanks,
[Your shop's name]
5. Once it's okayed, it sends the note and marks the list
First, the morning's notes come to the owner in one email, with one link to okay them and one to say no. Once it's okayed, each note goes out, its row gets today's date and the follow-up count goes up by one. If the answer is no, or nobody answers within half an hour, nothing goes to a customer and the list stays just as it was.
6. You get a short morning summary
One email lands with you showing who got a follow-up today and who is still waiting, with the job, amount and date sent for each.
7. It knows when to stop
Once a quote is marked approved or declined, it's done. It never sends more than three follow-ups on one quote, and if it ran twice in a morning, nobody would get a second note.
Who's in charge
One rule I don't bend on: a person reads and approves every message before it goes to a customer. In my test, I play the owner and the customers, everything goes to my own test inbox, and it stops cold if any other address shows up.
What I like about this one is how small it is. It just remembers what's easy to forget in a busy week.
That's the heart of what Ghost Orchestra does. We take a detailed look at how a business runs, then build a custom AI integration that takes the hard, time-consuming work off your people so they can focus on what only they can do. It isn't about replacing anyone. Plenty of people use AI like a search tool, and we help them use it as a real assistant.
Every shop runs a little differently. I'd love to set up a quick, no-strings-attached 30-minute call so we can learn a little about your daily operations and what takes up your time currently.
David Wakefield
Ghost Orchestra

