Estimate follow-up email templates for contractors
Copy an email for a sent estimate, a customer question or a final follow-up. Use the editable tracker to give every open quote an owner and next action.
Download the blank estimate tracker (CSV) · See fictional tracker examples (CSV) · Download all seven email templates (TXT)
Prefer text messages? The separate manual SMS examples cover the same situations. Choose the customer’s agreed channel for each touch. Don’t run the email and SMS examples as two separate sequences.
Follow up on a sent estimate with one clear question
An estimate follow-up email should identify the work, reference the current estimate and make replying straightforward. It should also say what you will do next.
Start by checking that the customer received the estimate. Then offer help with a decision. If they remain silent, pause instead of inventing urgency.
These original examples are for routine planned work, such as an HVAC replacement or a remodeling project. They assume the customer requested a written estimate and your team sent it successfully. They aren’t an emergency-response script or a cold prospecting campaign.
Before sending, replace every placeholder and check the project, recipient and estimate link. Use the exact document name and reference your company uses. Don’t change quoted scope, terms or pricing through an improvised follow-up.
Use Day 2, 7 and 14 as an example, not a rule
This kit uses one illustrative schedule: Day 2, Day 7 and Day 14 after the estimate was sent. These are calendar days, with the sent date as Day 0. This is an operating example, not a universal best practice or a promise of better results.
| Example touch | Purpose | If the customer doesn't reply |
|---|---|---|
| Day 2 | Check the estimate reached them | Set the next example touch for Day 7 |
| Day 7 | Ask what needs clarification | Set the next example touch for Day 14 |
| Day 14 | Explain that you'll pause | Pause routine follow-up; leave no routine send due |
For an estimate sent October 5, 2026, those dates are October 7, 12 and 19. Use your agreed contact window and staffed hours. Move a touch to an appropriate staffed day if needed, without adding another message.
If the customer already chose a date, use that date instead. If they reply, pause the schedule and give the conversation to its owner. If several steps are overdue, review the situation and choose one next action; don’t send the missed messages together.
Copy a manual email for the customer’s situation
The first three emails form the illustrative no-response sequence. The remaining four are alternatives for a specific request or reply. They aren’t additional scheduled touches.
1. Confirm the estimate reached the customer
Use it: Day 2; no reply, no customer-requested date and no stop condition.
Subject: Your {project_name} estimate #{estimate_reference}
Hi {customer_first_name},
I sent your estimate for {project_name} on {estimate_date}. Here is the current version: {estimate_link}.
Does it cover the work you wanted us to quote? If anything is missing or unclear, reply here and I can review it with you.
Thanks,
{owner_first_name}
{company_name}
After sending: Record the sent touch. If no reply arrives, the next example touch is Day 7. Any reply pauses routine follow-up.
2. Offer help with scope or timing
Use it: Day 7; prior touch sent, no reply and no stop condition.
Subject: Any questions about the {project_name} estimate?
Hi {customer_first_name},
I’m checking in on estimate #{estimate_reference} for {project_name}.
If the scope or timing is still undecided, I’m happy to talk it through. What would you like us to clarify before you decide?
Thanks,
{owner_first_name}
{company_name}
After sending: Record the sent touch. If no reply arrives, the next example touch is Day 14. Do not invent a discount or deadline.
3. Pause follow-up without pressure
Use it: Day 14; prior touches sent, no reply and no stop condition.
Subject: Should I pause follow-up on estimate #{estimate_reference}?
Hi {customer_first_name},
I haven’t heard back about {project_name}, so I’ll pause routine follow-up after this message.
If you’d like to revisit the estimate or ask a question, you can reply here. If you’ve chosen another option, that’s fine too.
Thanks,
{owner_first_name}
{company_name}
After sending: Mark the tracker as paused for no response and leave the next contact date blank. Silence does not mean the customer accepted or declined.
4. Follow up on a date the customer chose
Use it: The customer asked for contact on {requested_follow_up_date}; routine timing is paused.
Subject: Checking in when you asked us to
Hi {customer_first_name},
You asked me to check back around {requested_follow_up_date} about {project_name}.
Is now a good time to revisit estimate #{estimate_reference}, or would you prefer to keep it paused?
Thanks,
{owner_first_name}
{company_name}
After sending: Send only on the agreed date/window. If no reply arrives, keep the routine paused; do not restart Day 2/7/14 automatically.
5. Answer a scope question
Use it: The customer replied with a scope question; a staff member has checked the written estimate.
Subject: Clarifying {scope_item} in your {project_name} estimate
Hi {customer_first_name},
Thanks for asking about {scope_item}. In estimate #{estimate_reference}, {confirmed_scope_explanation}.
Does that answer your question, or would you like us to review a different scope?
Thanks,
{owner_first_name}
{company_name}
After sending: Replace the explanation with checked facts. If the scope changes, prepare a revised written estimate and agree the next contact. Keep the routine paused.
6. Respond to a budget concern
Use it: The customer said the proposed work is outside their budget.
Subject: Reviewing the scope of your {project_name} estimate
Hi {customer_first_name},
Thanks for letting me know. We can review the proposed scope together before you decide.
Which part of the work is your priority? I’ll confirm what alternatives we can actually offer and send a revised written estimate if we agree on a change.
Thanks,
{owner_first_name}
{company_name}
After sending: Confirm any alternative with the responsible estimator. Do not promise a discount, financing, or a lower price without approval. Keep the routine paused.
7. Acknowledge a decision and arrange the next step
Use it: The customer says they want to proceed; the office still needs to confirm the next step.
Subject: Next step for {project_name}
Hi {customer_first_name},
Thanks for letting us know you’d like to proceed with estimate #{estimate_reference}. I’ll ask {scheduling_owner} to confirm the next step with you.
An appointment isn’t confirmed yet. We’ll send the agreed date and time separately once the office has arranged it.
Thanks,
{owner_first_name}
{company_name}
After sending: Stop routine estimate follow-up and make the promised handoff. Record acceptance only when actually confirmed. Keep appointment status awaiting_confirmation until a real booking exists.
Give each estimate a named owner
Assign one person to check replies and keep the next action current. Give that person a backup when they are away. An unassigned estimate should not enter a follow-up sequence.
Before each touch, check the latest conversation and estimate status in the records your team actually uses. A spreadsheet can record a pause or stop; it cannot cancel messages in another tool.
| What happened | What the owner does |
|---|---|
| The customer asks a question | Pause routine follow-up, answer checked facts and record the next action |
| They ask for contact later | Record their date; replace the routine schedule with that agreed action |
| They want to proceed | Stop routine follow-up; arrange and confirm the next step separately |
| They decline or choose another contractor | Stop routine follow-up and record the actual decision |
| They ask you to stop, or it is the wrong contact | Stop contact as requested and update every relevant sending process |
| The estimate expires, changes or is canceled | Stop the old sequence; review the current estimate before any contact |
| A message fails or receipt is uncertain | Pause sending while the owner checks delivery and contact details |
| There is still no response after Day 14 | Pause; silence is neither acceptance nor a confirmed loss |
Use only an agreed contact channel. These examples don’t establish permission to email or text someone. Apply your team’s communication rules before sending.
Track the next action, then the actual outcome
Open the blank CSV in your spreadsheet tool. Give each current estimate its own row, owner, sent date and agreed channel. Set the next action and due date; update them after each touch or reply.
The tracker instructions explain its states. The example CSV shows fictional receipt checks, scope questions, pauses, opt-outs and decisions to proceed. It is a reference file, not a list of customer results.
Keep these outcomes separate:
A reply starts a conversation; it isn’t an accepted estimate.
An accepted estimate isn’t a confirmed appointment.
A scheduled appointment isn’t completed work.
Completed work doesn’t, by itself, prove a follow-up message caused the sale.
This is a manual tracker. It doesn’t send messages, enforce stops or calculate recovered revenue.
Manual estimate follow-up text messages for contractors
Use these shorter examples when SMS is the customer’s agreed channel. The three routine texts use the same illustrative Day 2, Day 7 and Day 14 timing as the email kit. Choose email or SMS for each touch; don’t send both sequences.
These texts concern a successfully sent estimate for routine planned work. They aren’t cold outreach, a broadcast campaign or an emergency-response script. Apply your team’s communication rules before using them.
Replace every placeholder and identify your business. Check the estimate and the latest conversation before each send. Keep scope explanations concise; move a detailed discussion to the customer’s agreed channel if needed.
Any reply pauses routine follow-up for its named owner. A customer-requested date overrides the Day 2/7/14 example. The requested-date and response texts below are alternatives for a particular situation, not extra scheduled messages.
1. Confirm receipt
Use it: Day 2 instead of the email touch; agreed SMS channel and no stop condition.
Hi {customer_first_name}, it’s {owner_first_name} at {company_name}. Did your estimate #{estimate_reference} reach you? Reply if anything needs clarifying. Reply STOP to stop texts.
2. Offer clarification
Use it: Day 7 instead of the email touch; no reply and no stop condition.
Hi {customer_first_name}, {owner_first_name} at {company_name} here. What would help you decide about estimate #{estimate_reference}: scope, timing, or another question? Reply STOP to stop texts.
3. Pause the sequence
Use it: Day 14 instead of the email touch; no reply and no stop condition.
Hi {customer_first_name}, it’s {owner_first_name} at {company_name}. I’ll pause follow-up on estimate #{estimate_reference} after this text. You can reply if you’d like to revisit it. Reply STOP to stop texts.
4. Use the customer’s date
Use it: The customer’s requested follow-up date; routine timing remains paused.
Hi {customer_first_name}, it’s {owner_first_name} at {company_name}. You asked me to check back about estimate #{estimate_reference}. Is now a good time, or should we keep it paused? Reply STOP to stop texts.
5. Answer a checked scope question
Use it: Reply to the customer’s question after checking the estimate.
Hi {customer_first_name}, {owner_first_name} at {company_name} here. About {scope_item}: {confirmed_scope_explanation}. Does that answer your question? Reply STOP to stop texts.
6. Review a budget concern
Use it: The customer raised a budget concern; confirm alternatives before promising them.
Hi {customer_first_name}, it’s {owner_first_name} at {company_name}. Which part of the work is your priority? I can review the scope with our estimator before proposing any change. Reply STOP to stop texts.
7. Arrange the next step
Use it: The customer wants to proceed; an appointment is not yet confirmed.
Hi {customer_first_name}, it’s {owner_first_name} at {company_name}. Thanks for deciding to proceed. I’ll ask {scheduling_owner} to confirm the next step. An appointment isn’t confirmed yet. Reply STOP to stop texts.
Record a stop wherever your team sends messages
Honor a stop request and its scope. The owner must update the contact record and any sending process; typing a stop into this CSV does not suppress another tool.
Pause if delivery fails, the contact is uncertain or the customer asks a question. Stop routine follow-up after a decline, an expired/canceled/superseded estimate or a decision to proceed. Arrange the next step separately; acceptance isn’t a confirmed appointment.
After the Day 14 text, set the tracker to paused_no_response and leave its routine send date blank. Don’t mark silence as a win or a loss. See the tracker instructions for examples.
Use the manual estimate follow-up tracker
Give each current estimate an owner and a next action. The CSV records decisions; it doesn’t send messages or enforce stops.
Open estimate-tracker.csv in your spreadsheet tool. Keep the separate example CSV as a reference. Its eight rows are fictional.
Add one row per current written estimate. Use an estimate and customer reference from your existing records. Contact details can remain there.
Enter dates as
YYYY-MM-DD. Name an owner and backup. Record the customer’s agreed channel and whether contact permission was checked.noorunverifiedmeans no send.For eligible routine planned work, use the illustrative Day 2, Day 7, Day 14 calendar schedule. Day 0 is
estimate_sent_date, not the last-message date. October 5, 2026 gives October 7, 12 and 19. Use an appropriate staffed contact window; don’t add touches when moving a date.If the customer chose a date, record it in
customer_requested_follow_up_dateand use that date. Pause the routine. If several routine touches are overdue, choose one reviewed next action rather than sending them together.Each workday, review due actions and the latest customer records. Before any send, check for replies, stops, changed/expired estimates and unconfirmed details. Choose one agreed channel for a touch.
After sending, update the last-touch date and stage, then the next action. After any reply, pause the routine and give the owner a human action. After the Day 14 touch, leave the routine paused with no send due.
When the customer proceeds, record only the outcome you know. Acceptance, appointment confirmation and job completion belong in separate columns.
| Field group | What to record |
|---|---|
| Estimate reference, customer reference, project | Enough context to find the actual current estimate |
| Sent date, amount | The real written estimate; use one currency consistently; an amount is not recovered revenue |
| Owner, channel, permission checked | Named reply coverage and the channel you can use; yes, no or unverified |
| Requested date, last touch, stage | The customer's date; actual sent date; none, day_2, day_7, day_14, requested_date or reply |
| Estimate status, response received, summary | open, accepted, declined, expired, canceled or superseded; yes/no; what the reply meant |
| Routine state, next action, due date, stop reason | The decision below; a human task can remain due even when routine sends stop |
| Accepted date, appointment status/date, completed date | Actual distinct outcomes; leave unknown dates blank |
| Outcome notes | Facts and unresolved next steps; no implied causal revenue credit |
| Routine state | Meaning |
|---|---|
active | Owner may send a due routine touch only after all pre-send checks pass |
paused_reply | Customer replied; only the reviewed human next action is due |
paused_customer_date | Use the agreed date instead of routine timing; don't restart automatically afterward |
paused_no_response | Final routine touch sent; no routine send due |
paused_review | Delivery, contact, scope or permission needs checking before contact |
stopped | No routine follow-up; honor a stop request, decision or closed/stale estimate |
Use not_scheduled, awaiting_confirmation, scheduled, completed or canceled for appointment_status. Enter a confirmed date only after the appointment actually exists. Record job completion only when you know work finished.
An opt-out must also reach your actual contact records and sending tools. A stopped estimate can still have an internal scheduling task; that does not permit another routine sales touch.
Answer common estimate and quote follow-up questions
How long should I wait before following up on an estimate?
Use the date you agreed with the customer first. For routine work without an agreed date, this kit illustrates Day 2, 7 and 14. Adjust for the decision the customer is making and your contact window.
What should a quote follow-up email say?
Reference the actual quote, ask one useful question and make the next step clear. Use your customer’s document wording. The examples work with an estimate or quotation without changing that document’s terms.
What if the customer doesn’t respond?
Check delivery and the contact record before another touch. After the final example message, pause. Don’t keep sending because silence looks like a sales objection.
Can I use a follow-up text as well?
Choose one agreed channel for a touch. The SMS companion gives shorter versions; it is not a second sequence to add on top of the emails.
What if they say the price is too high?
Ask which work matters most, then have the estimator check real alternatives. Send an updated written estimate if the scope changes. Don’t invent a discount, finance offer or deadline to force a decision.
For new phone and website inquiries, see how Breezy AI handles intake. You can use this manual kit whether or not you use Breezy.