Building the first automated follow-up sequence for a new lead

Build an instant reply plus two more touches that stop the moment the customer answers, in whichever of three platforms you are actually likely to buy.

Updated
Read time
13 min
Compared here
GoHighLevel, HubSpot, Keap

A new lead who fills out a quote form at 9:40 on a Tuesday night does not sit quietly waiting for your office to open Wednesday morning. There is a decent chance they are also filling out the form on two other garage door companies’ websites, and whichever one replies first usually gets the call back. An automated new-lead follow-up sequence closes that gap: an instant acknowledgment the moment the form lands, then two or three more touches over the following days if nobody on your team has already talked to the person, with a stop rule that ends the sequence the instant a human replies.

We build and sell a lead-follow-up system for garage door companies, so we are not a neutral party writing this. Here is what we get out of it: if you read this and decide to build the sequence yourself in one of the three tools below, that is a fine outcome, and this guide gets you there. If you decide it is more plumbing than you want to own and maintain, the last section tells you what a purpose-built version looks like instead.

By the end, you will have a working three-touch sequence, in whichever of GoHighLevel, HubSpot, or Keap you are actually likely to buy, with a stop rule tested against a real reply before it ever touches a live lead.

Which one you should probably pick

For most two-to-fifteen-truck shops building this for the first time, start with GoHighLevel. It is the only one of the three with native SMS built into the same platform where you build the workflow, its entry pricing is closer to what a small shop actually budgets, and the whole sequence, trigger through text through the branch that stops it, gets built inside one tool without leaving it for an integration.

Two things would change that. If your shop already pays for HubSpot’s Professional tier for a marketing team and has already absorbed the onboarding fee described below, building this sequence in the tool you already own is the sensible move, not standing up a second platform. And if you want the sequence handled by someone else’s implementation team, on software that has been doing small-business lead nurture longer than GoHighLevel has existed, Keap’s Campaign Builder is genuinely good. You would be buying it for a real reason at that point, not because it is cheap. It is not cheap, and the table below shows why.

What we would not do is start on HubSpot’s free CRM hoping to grow into automation later. Multi-step, branching workflows do not exist below the Professional tier, and Professional is exactly where the mandatory onboarding fee shows up. A shop testing the idea for the first time ends up paying a large fee just to find out whether it likes the idea.

What each one actually costs

Tool Published price (checked 2026-08-28) Best at Where it gets hard
GoHighLevel Starter $97/mo ($970/yr); Unlimited $297/mo ($2,970/yr); 14-day trial Building the entire sequence, trigger to text to stop rule, without leaving the platform Native SMS requires A2P 10DLC brand and campaign registration before a single text delivers, and phone/SMS usage is metered on top of the subscription
HubSpot Free CRM $0/mo (1 automation action, no branching); Professional $800/mo billed annually or $890/mo month-to-month, plus a required $3,000 one-time onboarding fee Shops that already run marketing email and want one contact record driving both Branching, multi-step workflows do not exist below Professional, and the onboarding fee is not optional and is not refunded if you cancel
Keap $299/mo billed annually for two users ($2,988/yr), additional users $39/mo each; contact-tier pricing and implementation cost are quote-based and not published Campaign Builder itself: mature, visual, purpose-built for exactly this job You cannot self-serve buy it; your real first-year cost is unknown until a sales call, and cancelling before the annual term ends carries a $299 early-termination fee

Before you start

  • Decide what “the customer answered” means to your team before you build anything, because the stop rule depends on it. Does a phone call count? A text reply? Someone marking the estimate as sent in your CRM? Write that down first.
  • A sending domain you can authenticate. Add the SPF and DKIM records for whichever tool sends the email touches at your domain registrar, before the first real send, not after. All three tools will happily let you send without this, and none of them will warn you that the emails are landing in spam.
  • If you plan to text, and the sequence below starts with a text because a 9pm form fill gets read on a phone, not in a Monday-morning inbox, a business number you are prepared to register for A2P 10DLC if you choose GoHighLevel or another Twilio-backed sender. Registration is two steps: a Brand tied to your business’s legal name and EIN, then a Campaign describing what you will send. GoHighLevel’s own documentation puts approval at one to five business days (checked 2026-08-28). Start this the week you decide to build the sequence, not the week you planned to launch it. Our walkthrough of the registration process itself covers the brand-and-campaign steps in more depth than fits here.
  • The actual copy for three touches, written before you open the workflow builder. Composing a text inside a drag-and-drop canvas while also working out branching logic is how sequences end up sounding like a form letter.
  • A phone number and email address not already in the system, so you can run a real end-to-end test without polluting your live contact list.

Here is what the three touches actually look like for two common inquiries.

Spring-break inquiry (“spring broke, door won’t open”): Touch one, instant text, “Thanks for reaching out to [Company] about your garage door. We got your message about the spring and someone will call you shortly. If this is an emergency, call or text this number anytime.” Touch two, day two, if no reply: something the homeowner can use while waiting, like what a spring replacement typically involves and how long the visit takes, not a bare “just checking in.” Touch three, day four: one direct ask, “Would tomorrow or Thursday work better for a technician to come out?”

New-door quote request (“looking for pricing on a new garage door”): Touch one, instant text, acknowledges the request and sets an expectation, “Thanks for the request. We’ll follow up with a couple of questions about your door and a time to come measure.” Touch two, day two: something useful to someone still comparing options, like the two or three door styles your shop installs most and roughly what drives price. Touch three, day four: a specific time offer for a measure appointment, not a generic “let us know.”

Setting up the sequence in GoHighLevel

  1. Complete A2P 10DLC registration first, under the account’s phone or compliance settings: submit Brand registration (legal business name, EIN, address), then Campaign registration, choosing the use case that matches automated lead follow-up messaging. Submit before you build anything else. Nothing below delivers a single text until this clears, which commonly takes one to five business days.
  2. While registration is pending, connect your sending domain under the email settings area and add the SPF and DKIM records it generates to your domain’s DNS.
  3. Build the trigger. In the Automation/Workflows area, create a new workflow and set the trigger to the event that actually creates the lead: a form submission, a connected Google or Facebook lead ad, or a manual “opportunity created” event if leads still land in an inbox and get entered by hand.
  4. Add the first action: an SMS, sent immediately, sent from your real business number, not a random number from a shared pool. This is touch one, the instant reply.
  5. Add a wait step of roughly one to two days, then a branch. Set the branch condition to whatever you defined in “Before you start,” commonly whether the contact has replied, been tagged as contacted, or had their pipeline stage moved by someone on your team. If the condition is true, the workflow exits here. This is the stop rule, and it has to be built before touch two, not bolted on after.
  6. If the branch condition is false, send touch two, using the day-two copy you wrote in advance.
  7. Repeat the wait-and-branch pattern before touch three on day four, the one clear ask.
  8. Test the entire sequence with the phone number and email you set aside earlier. Let touch one send, then reply to it and confirm the workflow actually exits instead of continuing on to touch two.

Setting up the sequence in HubSpot

  1. Confirm you are on Professional; Starter and the free CRM cap out at one automation action and cannot branch, so neither one can run this sequence.
  2. Connect your sending domain under the domain and email settings and verify SPF and DKIM before sending anything.
  3. Native SMS is not a core HubSpot feature. For the instant-reply touch as a text rather than an email, plan to connect a separate texting tool through HubSpot’s integrations for that one step, and build the branching and the day-two and day-four touches natively in HubSpot’s own workflows.
  4. In Automation, create a workflow with the trigger set to a contact enrollment event tied to your form or lead source.
  5. Build the same wait-and-branch structure as the GoHighLevel version: a wait step, then a branch on whether the contact has replied or the associated deal has moved stage, exiting when it has.
  6. Use the deal pipeline to hold the “customer replied” state your branch checks against, so the stop-rule logic is not buried only inside the workflow.
  7. Test with a contact and email not already in the system before turning it on for real leads.

Keap: the hard one

Keap deserves a direct answer: is it worth the trouble? The Campaign Builder itself is not the problem. It is a visual, purpose-built automation canvas, arguably the most mature of the three for this exact job, and it was doing small-business lead nurture before GoHighLevel existed. The trouble is buying it.

You cannot self-serve sign up the way you can with the other two. Keap’s pricing page asks for a desired contact count to get a quote, and the base plan, $299 per month billed annually ($2,988 per year) for two users, covers the platform, not a finished implementation. Keap describes implementation services as required, and that cost is not published. You will not know your real first-year number until a sales call, and cancelling before the annual term ends carries a $299 early-termination fee.

If you go this route:

  1. Go through the required onboarding call. This is where your contact-tier pricing and implementation scope get set, and it is the step that actually determines your real monthly cost.
  2. Confirm your sending domain’s SPF and DKIM setup during onboarding. Keap’s implementation team can handle this correctly, so make sure they actually do it rather than assuming it happened.
  3. In Campaign Builder, start from a blank campaign or a nurture template and add the trigger: a new contact tag, a form submission, or a landing-page event for garage door quote requests.
  4. Add the instant text or email as the first sequence step.
  5. Add a decision diamond, Keap’s branching element, checking a tag or field change that signals the lead was contacted.
  6. Build touches two and three the same way, each gated behind the same decision check.
  7. Test with a fresh contact, then confirm that applying the “contacted” tag mid-sequence actually halts the remaining steps.

What usually goes wrong

  • No stop rule built before the messages. Template sequences almost never include an exit condition, only timing. Build the exit condition first, as covered above.
  • The sending domain never gets authenticated. The sequence “works,” meaning it fires on schedule, but every email lands in spam, and it looks like the automation failed when the real problem is a DNS setting nobody added.
  • A2P 10DLC registration goes in late, or with a business name or EIN that does not exactly match your carrier registration, which silently filters every text rather than throwing an error anyone would notice.
  • The stop-rule condition depends on a manual step, a tag or a pipeline stage, that nobody on the team consistently updates, so leads who already called back keep getting texted anyway.
  • Testing happens with a real customer’s information already in the system, so the “instant reply” test lands on a phone that already has prior touches queued, and nobody can tell what actually happened.

How to tell it is working

In week one, confirm touch one actually fires within minutes of a real lead coming in, not the test contact, since a delayed instant reply defeats the entire point of building this. Watch for at least one real lead that demonstrates the stop rule: someone calls back, and no touch two or three goes out afterward.

In month one, pull whatever delivery report each tool provides, text delivery rate and email open and bounce rates, and confirm nothing is bouncing enough to suggest a domain problem. None of the three tools hands you a lift number automatically. That comparison, whether leads that got the sequence book at a different rate than the ones that did not, is one you build yourself by watching your own numbers before and after.

A 2011 Harvard Business Review analysis of a 1.25-million-lead dataset found that contacting a web lead within an hour made it roughly seven times more likely to get qualified than contacting it just one hour later, and more than sixty times more likely than waiting a full day. That research is not new, and one of its co-authors ran a company whose business depended on this exact finding, so treat the multiplier as directional rather than exact. The underlying logic has not changed: a caller with a broken spring is calling more than one company, and the sequence in this guide exists to make sure yours answered first.

Everything above assumes you are the one building and maintaining this. If you would rather have the same mechanism, an instant reply plus a stop-rule follow-up sequence, running as one piece of a system that also handles missed-call text-back and review requests, that is a different starting point than picking a general-purpose CRM. Our missed-call text-back setup guide and CRM comparison for garage door companies cover the adjacent pieces. For the research on why response speed matters, see our speed-to-lead guide.

Common questions

Do I need A2P 10DLC registration if I am not on GoHighLevel?
Any US business sending automated SMS through a platform running on Twilio's network, which covers most small-business texting tools, needs the same Brand and Campaign registration. HubSpot's core plans are not built around native SMS, and Keap's required onboarding call is the place to confirm who handles it and when, but the underlying carrier requirement is the same no matter which tool sends the text.
Can I build this without texting, using only email?
Yes, and it sidesteps A2P registration entirely, but a lead who filled out a form at 9pm is more likely to read a text before a Monday-morning email. If you skip texting, budget extra time for the sending-domain authentication step, since it is doing all the deliverability work by itself.
How long should the whole sequence run before it stops?
The sequence in this guide runs three touches over about four days, which matches how quickly a homeowner with a broken spring decides who to hire. A slower-moving job, like a full door replacement someone is still pricing out, can reasonably run longer, but that is a different sequence with a different ask, not a longer version of this one.

Sources

Prices, limits, and requirements were checked on August 28, 2026. Vendors change these without notice, so confirm anything that affects a buying decision before you sign.