Why most contractors lose estimates they should win

The average contractor sends an estimate and follows up once, maybe twice. If they do not hear back, they move on. The problem: most homeowners are getting three estimates, comparing them slowly, and going with whoever stayed in touch most professionally without being pushy.

Studies on sales follow-up consistently show that 80 percent of sales require five or more contacts but most salespeople give up after one or two. Contractors are no different. The ones winning more estimates are not always the cheapest or the best. They are often just the most persistent and professional in their follow-up.

Manual follow-up does not scale. When you are on jobs all day, following up on every open estimate individually is the first thing that falls through the cracks. Automating it means it never falls through the cracks, for any estimate, ever.

How the automation works

The workflow triggers when you move a contact to the "Estimate Sent" stage in your GHL pipeline. From that point, it automatically sends a pre-written sequence of SMS and email messages over the following week. If the contact replies at any point, or if you move them to "Won" or "Lost" in the pipeline, the sequence stops immediately. No duplicate messages, no chasing people who have already said yes.

The whole thing runs without you touching it. You send the estimate, move the contact to the right pipeline stage, and GHL handles every follow-up message from there.

Step 1: Set the pipeline trigger

Go to Automation > Workflows > Create Workflow > Start from Scratch. Name it "Estimate Follow-Up Sequence."

Click Add New Trigger and select Pipeline Stage Changed. In the filter settings, select your pipeline name and set the stage to Estimate Sent. This means the workflow fires every time you drag a contact card into that stage.

If you send estimates through a separate tool like Jobber or a PDF email, you can also trigger this workflow manually by applying a tag. Add a second trigger: Tag Added, tag name "estimate sent." Either moving the pipeline stage or adding the tag will fire the sequence.

Step 2: Write the follow-up sequence

Your sequence should have four to five touches over seven days. Here is the structure that works for most contractors:

  • Immediately (0 delay): SMS confirming the estimate was sent and inviting questions
  • Day 1, 10am: Email with a summary of what the estimate covers
  • Day 3, 10am: SMS checking in and offering to answer questions
  • Day 7, 9am: Final SMS, brief and no pressure
  • Day 10 (optional): Email with a case study or recent job photo

Add each touch as an action in the workflow. Between each message, add a Wait step set to the number of days between touches.

Step 3: Build the If/Else stops

This step is what separates a professional sequence from an annoying one. After every message, add an If/Else branch. Set the condition to: Contact replied in the last 24 hours OR Pipeline stage is Won OR Pipeline stage is Lost.

If the condition is true: end the workflow. If false: continue to the next wait step and message.

This means the moment a homeowner texts back "sounds good, let's do it," the sequence stops and they never receive another follow-up. It also stops if you manually move them to Won or Lost in your pipeline, giving you full manual override at any time.

Step 4: Set your send times

Under Workflow Settings, turn on Allow workflow to run only during business hours. Set your business hours to Monday to Friday, 8am to 6pm, or whatever suits your business. Saturday morning is also worth including for many contractor trades.

This prevents a follow-up SMS going out at 7am on a Sunday because you moved a contact card on a Saturday night. Timing matters for how professional your messages feel. A text at 10am on a Tuesday feels like a professional business follow-up. The same text at 7am Saturday feels like spam.

Step 5: Test the sequence

Create a test contact with your own mobile number. Move them to the Estimate Sent stage. Confirm you receive the first SMS within a minute. Then check the workflow history in GHL to confirm it is waiting at the correct step for the Day 1 delay.

Send a reply from your mobile. Confirm the workflow stops and shows as completed in the history. If it continues past your reply, check your If/Else conditions the reply detection is likely looking at the wrong communication channel.

Full message templates

Ready to get started?

Try GoHighLevel free for 30 days

Sign up through BuildOnAuto and get the missed call text-back, estimate follow-up and review automation pre-installed.

Review the billing terms shown during signup · Cancel anytime