Guide · Estimates, quotes and follow-up
Automate Unsold Estimate Follow Up for Service Businesses
McGuire Flanigan · Updated October 27, 2026 · 10 min read
An unsold estimate is not a lost customer. It is an unanswered question, and most of the backlog was never rejected. It aged out of the follow-up window while the business moved on to the next job.
- Your unsold estimates are not rejections
- Model how much of the backlog is alive
- One stale estimate, six stages
- Subtract, match, ask, in that order
- Ask about the reason, not the number
- Where the line sits on every action
- What this is not
- Straight answers
Your Unsold Estimates Are Not Rejections
Somewhere in your field service software there is an estimate for four thousand dollars that went out last fall. The customer said they would look it over. Then a job came in, then a payroll week, then a holiday, and the estimate is still sitting there, still technically open, and completely dead. Nobody can tell you whether anyone followed up on it, because no one person was ever responsible for it.
Here is the part most businesses get wrong about that pile. They assume it is a list of customers who said no. It is not. Almost nobody in it said no. They said nothing at all. The estimate did not get rejected, it aged out. The window in which a follow-up would have felt timely closed quietly, the business moved on to the work in front of it, and the customer was never asked the question a second time. That is not a lost customer. That is an unanswered question.
The reframe changes what the work is. If the backlog is a list of rejections, your only options are to try harder or to cut the price, and both of those are ways of making the same offer again to someone who already declined it. If it is a list of unanswered questions, the work is different: work out which questions are still open, work out why each one stalled, and ask the version of the question that the customer can actually answer.
There is a boundary to be clear about, because it decides which page you should be reading. This page is about the aging backlog: estimates that went unsold weeks or months ago and were never worked again. If your question is about an estimate you sent recently that has gone quiet and is still inside the follow-up window, that is a different object with a different method, and the quote follow-up guide covers it. A recent quiet quote is a live decision. An eight month old estimate is a record that may no longer describe anything true about the customer.
The reason this matters for automation is that a backlog is not work a person will ever get to. It is invisible, it is large, and it is nobody's job. The two things a system can do that a busy office cannot are to read the whole pile at once and to hold a consistent standard about which parts of it are dead. Everything after that is a person's call.
How Much of Your Unsold Backlog Is Actually Recoverable
Set the rates to your business. The first two sliders do the most work, because the share that is genuinely dead decides how much of the pile is worth touching at all.
The backlog is treated as roughly one year of unsold estimates. Working it once recovers the annual figure. Keeping it worked instead of letting it rebuild is what makes that figure recur.
Illustrative estimate from the inputs above. Your own numbers will differ; this is not a measured result.
The price was accepted by another company. Genuinely dead. A message here does not reopen anything, it only confirms to the customer that they chose correctly.
The customer had it handled, often by a handyman or a cheaper outfit. Dead, unless the work was done badly, which is a separate conversation and not this one.
The person who asked is no longer the person who owns the decision. Dead until the new owner has a reason of their own to hear from you.
The customer meant to deal with it, got busy, and never answered. This is the slice the whole method is aimed at, because the question was never asked again rather than answered no.
The problem resolved itself, the season passed, or the money moved. Dead on its own terms, and worth recording so nobody reopens it by mistake next quarter.
The highlighted bar is the slice this method is built for: customers who never decided, rather than customers who decided against you.
One Stale Estimate, Six Stages
Follow a single estimate from the moment the system reads the pile to the moment a person decides whether it is refreshed or closed. Each stage names the system it touches and carries the payload it hands on. The flags are the point: nothing here sends, prices, or discounts on its own.
01. Backlog Read
The system reads every estimate that was sent and never sold, across whatever window the business chooses, and records the four things that matter about each one: how old it is, what state it was last left in, whether any person was ever assigned to it, and what the customer has done since. No message is drafted at this stage. The output is a list, and the list is where most backlog projects die, because nobody has ever seen the pile written down.
Subtract, Match, Ask, in That Order
The order is not a preference. Run these steps in the wrong order and the project fails in a specific, predictable way.
Subtract Before You Write Anything
If you draft messages first, you have already decided the pile is a list of opportunities, and the messages will go to people whose jobs are done, whose houses are sold, and who already bought elsewhere. That is how a backlog project becomes the reason a customer marks your business as unwanted. Subtraction is the step that earns the right to send anything at all, and it has to happen before the first draft exists, not as a cleanup pass after.
Match the Reason Before the Message
The reason decides the message, so the match has to come first. An estimate that stalled because the customer was comparing a cheaper bid wants a question about scope, not about timing. One that stalled because the season was wrong wants a question about when, not about price. Without the match you are back to one generic message for everyone, which is the thing your audience has already tried and already stopped believing.
Ask a Question, Not a Number
A question gives the customer something to answer. A number gives them something to compare, and comparing is the state they were already stuck in. "Is the work still needed this season?" can be answered in four words. "Here is your estimate again" cannot be answered at all, which is why the customer does not answer it.
Ask About the Reason, Not About the Number
Here is the same stalled estimate handled two ways. The difference is not tone or timing. It is whether the message contains a question the customer can answer.
Resend the Quote, Add a Discount
"Hi Dana, following up on the estimate from last fall. We can take 10 percent off if you book this month." This requires no diagnosis. It also tells the customer that waiting produced a lower price, so the next estimate they receive, they will wait on deliberately. You have not reopened a question, you have trained a behavior.
One Question, Tied to the Work
"Hi Dana, you had us look at the upstairs unit last fall and we never heard whether you wanted to go ahead. Is that still something you need before winter, or did you get it sorted another way?" It references the actual work, it asks one thing, and it gives the customer permission to say it was handled, which is a real answer and closes the question.
What the System Will Never Say
- A new price, a discount, or a percentage off. Price is a person's decision and a Never-tier action for the system.
- A deadline or an urgency that was invented to force a reply. Manufactured pressure is a one-time win and a permanent cost.
- A warranty or timeline commitment. Those are promises, and promises are made by people who can keep them.
- Anything at all to a customer who asked not to be contacted. A stop request is permanent.
Where the Line Sits on Every Backlog Action
Three tiers. The system reads and stages freely. It sends only with a person's approval. It never touches money, promises, or a price.
Read and monitor. No side effects on the customer.
Draft and stage. A person approves before anything reaches a customer.
Money, promises, pricing, warranties. These belong to a person.
The row worth reading twice is the price. Changing a price or offering a discount is a Never-tier action for the system. It is not a setting that a business can turn on, because the moment a machine is allowed to move a number, every future estimate becomes negotiable and every customer learns to wait.
What This Is Not
This does not resurrect every estimate, and any page that tells you it will is selling you something. Most of an aging backlog is genuinely dead. That is not a failure of the method, it is the arithmetic of the pile. The point of this work is to find the survivors and reach them without harassing the rest.
It is also not a discount machine. Cutting the price is the one lever that requires no diagnosis, which is exactly why it is the wrong one. Every discount-driven revival makes the next estimate harder to sell, because the customer has learned that your first number is not your real number.
It is not a bulk blast either. A campaign that messages the whole backlog produces a thin response, annoys the people who did not want to hear from you, and spends a list you will want to use again. The subtraction step is what keeps the pile usable next quarter instead of burning it once.
And it is not a promise about the size of the prize. Some businesses will read eleven hundred unsold estimates and find that four hundred of them are alive. Others will find fewer, because their work is more one-off or their market moved. The audit exists to give you the real number for your pile rather than an encouraging one.
Straight Answers
Find Out How Much of Your Backlog Is Actually Alive
In thirty minutes we will read your unsold estimates, subtract the ones that are genuinely dead, and show you how many survivors have a reason worth asking about. Most businesses find the number is smaller than the pile and larger than they feared. You keep the analysis whether or not you hire us.
Questions operators ask
Will this actually bring back my old estimates?
- Some of them, and not most of them. In an aging backlog the largest share is genuinely dead: the customer went elsewhere, the work got done, the property sold. This is not a method for resurrecting the whole pile. It is a method for finding the slice that stalled for a fixable reason and asking those people a real question, without disturbing everyone else. A tool that promises to revive the entire backlog is promising something that is not true.
How old is too old to reopen an estimate?
- There is no single cutoff, and age is the wrong filter on its own. An eight month old estimate on a customer who has bought twice since is more reopenable than a two month old estimate on a customer who never came back and never replied. The signal that matters is what the customer has done since the estimate, not the calendar. Age is useful for ordering the work and for deciding how a price gets handled, not for deciding whether a person is still reachable.
Is this just a drip sequence with a different name?
- No, and the difference is the subtraction step. A drip enrolls everyone who matches a filter and sends the same three messages. This removes the dead estimates before a single message is written, matches each survivor to a specific reason, and asks one question about that reason. It is fewer messages to fewer people, which is why it does not burn the customer list the way a blast does.
Why not just resend the quote with a discount?
- Because it works once and costs you every time after. A discount requires no diagnosis, which is exactly why it is the lazy version: it does not ask why the estimate stalled, it just lowers the number until the customer moves. The customer learns that waiting produces a lower price, so the next estimate they receive, they wait on deliberately. The system will not change a price or offer a discount, and that is a Never-tier rule, not a default setting.
What happens to the estimates that are dead?
- They get recorded as dead with the reason attached, and they stop appearing in the backlog. That is a real result. A pile of eleven hundred unsold estimates where nobody can say which ones are alive is an unusable asset. The same pile with six hundred marked dead and four hundred and fifty marked alive with a reason on each is a working list, and it stays usable next quarter because the dead ones do not come back.
See where AI fits in your operation
Thirty minutes on how the work actually moves. No pack of agents. No obligation to build. If we can help, we will show you the first paths. If we cannot, we will say so.
Sources
- twilio.com/docs/messaging/api/message-resource, twilio.com
- twilio.com/docs/conversations/api, twilio.com
- api.twilio.com, api.twilio.com
- conversations.twilio.com/v1, conversations.twilio.com
- api.tekmetric.com/api/v1, api.tekmetric.com
- autoleap.com, autoleap.com
More guides on estimates, quotes and follow-up
How to Automate Unsold Estimate Follow-Up in Service Businesses
Learn how service businesses automate unsold estimate follow-up using AI agents. Calculate recovered revenue and see the step-by-step approval workflow.
The Prequal Clock: a financing application follow up routine for home service offices
A daily financing application follow up for home service offices: list unfinished prequalifications, send a friendly text, and never discuss credit.
The Status Filter: Shopmonkey estimate follow up that only reaches people still deciding
Shopmonkey estimate follow up that never texts a customer who already picked up: the status rules, the key owner setup and three texts for your advisors.
The Quiet Quote Sweep: how to follow up on unsold estimates every Monday
How to follow up on unsold estimates every Monday: list quiet quotes, send a message about what the customer asked, and honor every stop reply.
The Three-Tier Quote: good better best quotes that stay profitable
The Three-Tier Quote: how to build good better best quotes that stay profitable, with a tier worksheet, an agent prompt and a margin check.