Build a Lead Follow-Up System That Stops When Someone Replies
Map a simple inquiry-to-conversation system. Every valid inquiry has an owner, a visible status, a next action, and a clear way out of automated follow-up.
Getting a form submission into HighLevel is the easy part. The harder part is making sure the right person follows up, the lead receives an appropriate response, and the automation stops before it starts sending awkward messages.
This guide maps a simple inquiry-to-conversation system. The example is a cleaning company receiving quote requests, but the structure also applies to many appointment-based businesses.
The goal is specific: every valid inquiry has an owner, a visible status, a next action, and a clear way out of automated follow-up.
Define What Counts as a New Lead
Use a specific entry event, such as submission of your quote-request form.
Avoid using "contact created" as your only entry condition. Contacts can arrive through imports, manual entry, integrations, and other unrelated activities.
For this example, the entry conditions are:
- The designated quote-request form was submitted.
- A usable email address or phone number is present.
- The request is not marked as a test or spam.
- The contact is not already in an active follow-up sequence for the same inquiry.
Treat the contact and the inquiry as separate concepts. The same person may request another service later. Decide whether that should reopen an existing opportunity or create a new one.
For a small cleaning business, a practical starting rule is:
- Reuse an existing open opportunity for the same service request.
- Create a new opportunity for a genuinely new job.
- Do not create another opportunity merely because the person submitted the same form twice.
Collect Information That Changes the Next Action
Recommended initial fields:
- First name
- Phone, if phone contact is part of your process
- Service ZIP or postcode
- Service type
- A short description of the request
Ask for information because someone will use it.
For example: ZIP code determines whether the inquiry is in your service area. Service type determines who handles the request. A description helps the salesperson prepare a useful response.
Avoid asking for a complete property assessment before someone can contact you unless that detail is necessary to provide the requested quote.
Keep communication preferences and consent records separate from ordinary contact details. A phone number alone should not be treated as permission for every type of automated messaging.
Use a Pipeline with Observable Stages
Suggested stages:
| Stage | What it means |
|---|---|
| New Inquiry | The request has arrived, but a team member has not yet started handling it. |
| Contacting | An assigned person has begun attempting contact. |
| In Conversation | The lead has replied or a meaningful conversation has happened. |
| Quote Sent | A specific quote or proposal has been delivered. |
| Booked | The service or next qualifying appointment is booked. |
| Closed | The opportunity is won or lost, using the appropriate outcome status and a useful reason. |
Do not move someone into "In Conversation" merely because an email was sent. Pipeline stages should describe what has happened, not what you hope will happen.
Build the Entry Workflow
The entry workflow should:
- 1Validate the inquiry.
- 2Find or create the relevant opportunity according to your duplicate rule.
- 3Assign an owner.
- 4Record that follow-up is active.
- 5Notify the owner.
- 6Send an appropriate acknowledgement through an eligible channel.
- 7Begin the timed follow-up sequence.
If the service area or request is unsuitable, route it to a review path instead of sending the standard sales sequence.
Include the information an owner needs in the notification:
Subject: New quote request: [name]
Service: [service type] Area: [ZIP] Request: [description] Next action: Review and contact the lead.
A notification without a clear next action often becomes another unread alert.
Write an Acknowledgement That Sets Expectations
Subject: We received your cleaning request
Hi [first name], Thanks for contacting [business name] about [service type]. We've received your request. Our team will review the details and get back to you during [actual staffed hours]. If there's anything important we should know before we respond, reply to this email. Thanks, [business name]
Replace staffed hours with the business's actual policy. Do not promise a five-minute response unless someone is responsible for delivering it.
If SMS is an eligible channel, keep the acknowledgement brief and relevant to the inquiry. Apply the business's messaging and opt-out requirements before activating it.
Follow Up with a Purpose
Example schedule for testing:
| Timing | Action |
|---|---|
| Immediately | Acknowledge receipt and notify the owner. |
| Next staffed follow-up window | Create a task for the owner to review unanswered inquiries. |
| Following business day | Send one useful follow-up if the inquiry is still eligible. |
| Three business days later | Send a final check-in if there has been no reply, booking, opt-out, or closure. |
The exact intervals should reflect staffing and customer expectations. Configure timezone and business-hour behavior deliberately; a simple elapsed-time wait may not match business-day timing.
Subject: A quick question about your cleaning request
Hi [first name], Are you looking for a one-time clean or ongoing service? Reply with whichever fits, and we can help with the next step. [business name]
Subject: Still need help with your cleaning request?
Hi [first name], Just checking whether you still need help with [service type]. If you do, reply here and we'll pick it up. If your plans have changed, no problem. [business name]
Avoid repeating the same "just following up" message with different wording. Each message should make replying easy.
Check Eligibility Before Every Outbound Message
Immediately before each delayed message, check:
- Is this inquiry still open?
- Has the lead replied?
- Has the relevant appointment or service been booked?
- Has the opportunity been closed?
- Is the channel still permitted?
- Has a team member paused follow-up?
If any stop condition is true, exit or skip the relevant action.
Use both event-driven removal and checks before sending. A reply workflow can remove someone promptly, while the final eligibility check protects against timing overlaps.
An email opt-out and an SMS opt-out may affect different channels. Preserve those distinctions rather than treating every preference as identical.
Create Separate Stop Workflows
Reply handling: When the contact replies through a supported relevant channel, identify whether an active inquiry exists. Stop its automated follow-up, notify its owner, and mark it for conversation handling.
Booking handling: When the relevant booking is created, stop the inquiry sequence and begin the appropriate appointment communications.
Do not let an unrelated calendar booking stop every sales process attached to that contact.
Closure handling: When the relevant opportunity is won, lost, or manually paused, stop its follow-up.
If using contact-level flags, document their limitation: they can become ambiguous when one contact has multiple simultaneous opportunities. Use opportunity-specific state where the available workflow features support it.
Test the Failure Cases
Use separate test contacts and verify:
- A valid request creates the expected opportunity.
- A repeated submission does not create an unwanted duplicate.
- A reply stops the next scheduled message.
- A booking stops inquiry follow-up.
- A closed opportunity receives no later sales messages.
- An opted-out channel is skipped.
- An out-of-area request follows the review path.
- An after-hours submission follows the intended timing.
- A repeat customer can make a genuinely new inquiry.
Inspect contact activity, opportunity state, and workflow execution history. Receiving the first email is not enough to declare the system finished.
Completion Checklist
Tick each item as you go. Progress is saved in your browser.
Want help turning this plan into a working HighLevel setup? Explore our signup training and resources.
