Three estimate follow-up email templates
These are examples to adapt to your work and normal sales cycle. Replace the brackets with verified details, identify your business, and check the estimate status before sending. Stop the sequence as soon as the customer replies or makes a decision.
Day 0: confirm the estimate arrived
Subject: Your estimate for [project]
Hi [name], here is the estimate for [scope] we discussed: [estimate link]. It includes [included work] and excludes [excluded work]. Please reply if anything is missing or unclear. [Name], [business]
Day 3: invite questions
Subject: Any questions about [project]?
Hi [name], do you have any questions about the scope, price, or timing in your estimate? If your plans have changed, reply and we can discuss the next step. [Name], [business]
Day 7: ask whether to follow up again
Subject: Next step for [project]
Hi [name], are you still considering this work? Let us know if you would like to move ahead, need more time, or have decided against it. We will pause reminders after this message. [Name], [business]
Only promise to pause reminders if the workflow does so. Check availability before offering a date, and never invent a deadline to prompt a reply. To connect this sequence to your existing estimating system, request a free consultation about estimate follow-up.
Track each estimate and its next action.
The useful automation starts before the first reminder. A contractor needs one record that can answer four questions without opening an inbox: Was the estimate delivered? What state is it in? Who owns the next action? When is that action due? If any answer lives only in somebody's memory, a message sequence will hide the problem instead of fixing it.
Use a small set of estimate states that describe reality: draft, sent, viewed if the estimating tool can prove it, customer question, revision requested, awaiting decision, accepted, declined, expired, and closed-lost. Do not create a state for every conversation. The state should change the next action.
| Estimate state | System action | Human action |
|---|---|---|
| Sent | Confirm delivery and set the first follow-up date | Verify contact details on high-value work |
| Customer question | Pause reminders and put the reply in the estimate record | Answer scope, price, or scheduling questions |
| Revision requested | Replace the follow-up date with a revision due date | Update scope and resend the correct version |
| Awaiting decision | Continue the approved cadence | Call when value, age, or customer history crosses your threshold |
| Accepted, declined, or expired | Stop the sequence | Schedule, record a reason, or close the record |
Build the stop condition before the next message.
Reminders must stop when a customer replies, declines, books, or asks for a change. Every channel that can receive a response must update the same estimate state or create a visible exception for staff.
A stop condition should fire on acceptance, decline, expiration, a detected reply, a scheduled call, a revision request, or a manual pause. A vague reply such as "let me talk to my spouse" should not be treated as a win or a loss. It should pause the generic cadence and create a dated next action for the estimator.
Field test: Pick ten recent estimates and reconstruct the timeline from delivery to final outcome. If you need to search texts, email, voicemail, and the estimating tool to understand one quote, the integration problem comes before the copy problem.
A useful first version has five parts.
- One estimate ID. The quote, customer, job type, value, version, owner, and current state stay attached to the same record.
- One approved cadence per meaningful segment. Residential repair, commercial bid, emergency work, and a large replacement project may need different timing. Start with the few segments that actually change staff behavior.
- Plain messages with context. Reference the work and the next decision. Do not manufacture urgency or pretend an automated message is a personal check-in.
- An exception queue. Replies, high-value estimates, bounced messages, missing contact information, and overdue revisions need a named owner and due date.
- A closed-lost reason. Price, timing, no response, chose another contractor, project cancelled, and out of service area are more useful than one generic "lost" bucket.
If text messages are part of the workflow, capture the permission basis your business relies on, make opt-out easy, and have the system honor a request across future automated texts. The FCC recognizes several reasonable ways a recipient can revoke consent, not only one exact keyword. Review the current rules and your own use case before launch. Read the FCC order on revocation and opt-out methods.
Measure unanswered estimates and overdue follow-ups.
Open rates and message counts can look healthy while valuable estimates still sit untouched. Review the number and dollar value of sent estimates with no next action, median time from sent to first response, accepted work by estimate age, overdue human follow-ups, and closed-lost reasons. Compare results by job type and lead source only when there is enough volume to make the comparison useful.
The owner view should end in a work list: five estimates need a call, two revisions are late, three customers replied, and one accepted job has not been scheduled. That is the difference between reporting and another chart.