How does an estimate follow-up sequence work across roofing, HVAC, plumbing and solar?
Every trade needs a quote recap, a useful follow-up and a close-out when the estimate is no longer active. Urgency changes the timing. Roofing after a hailstorm and HVAC during a breakdown need a dispatch decision. Plumbing splits between emergency repairs and planned fixture jobs. Solar may involve financing, a site survey and permitting, with questions across several stages. Set the next contact around the homeowner’s decision rather than a fixed timer alone.
A follow-up text that actually earns a reply keeps four things in view, regardless of trade:
- The exact scope quoted, named the way the homeowner will remember it, not an internal line-item code.
- What happens next: a start date, a permit step, or a decision deadline, stated plainly.
- A direct reply path, YES to confirm, or a specific question routed to the person who ran the estimate.
- One attachment, the estimate PDF or the job photo, not a wall of text repeating the whole site visit.
Sample text, roofing or HVAC estimate follow-up:
Hi Mark, this is [Company Name]. Following up on the roof replacement estimate we walked through Tuesday, the full tear off and architectural shingle swap we discussed on site. Reply YES to lock in your spot on the schedule, or call [company number] with questions. Our office will confirm an available start date based on crew capacity and weather.
How do you send job photos, estimate PDFs and permit documents over iMessage?
Photos are the one piece of content every trade in this guide depends on: drone shots of hail damage for a roofing estimate, a before-and-after of a failed capacitor for HVAC, a leak source photo for plumbing, a panel layout rendering for solar. What the homeowner actually receives depends on the file’s size, type and the channel underneath the send, not just whether you attached it. HighLevel documents hosted links as an alternative to direct attachments in its attachment support guide, so a large PDF or a full-resolution drone photo may land as a tappable link rather than an inline image. Test that before a job depends on it. The full breakdown of when GoHighLevel photos and PDFs arrive as links instead of attachments covers the file-size and channel checks worth running before you promise a homeowner a specific experience.
If an estimate link mysteriously never gets a reply, do not assume the homeowner lost interest. Our guide to diagnosing filtered and blocked business texts walks through checking the message status and the receiving phone before you conclude a lead went cold on their own.
How should a roofing or HVAC company handle a storm-surge spike in lead volume?
A hailstorm or cold snap can concentrate estimate requests into a short window. Plan a storm branch that acknowledges the request, checks the service area and assigns a person to follow up. A prompt acknowledgement helps the homeowner understand what happens next, but it does not prove a crew is available or guarantee that you will win the job. Keep appointment promises tied to the dispatch calendar.
That is the case for texting first during a surge instead of treating the phone as the only front door. If the lead came in through a Facebook or Meta ad, the fastest path is the one covered in our guide to texting a Facebook lead form the instant it is submitted: a configured workflow can send a Custom Webhook request after the form creates or updates a contact. Measure the actual delay in your account rather than promising instant delivery. Assign a person to triage the resulting replies.
A storm week is also when outbound capacity gets tested instead of theorized. Plan the audience, sending capacity and who owns the reply queue before the first hailstorm, not during it. Beam’s outbound and mass texting guide covers how to size a line for a volume spike without burning the line’s reputation or missing replies once they start stacking up faster than one person can answer them.
Not every name on a storm list carries the same consent history. A homeowner who filled out your own ad form is a different contact than a name pulled from a purchased list, and sending both the same mass text turns a revenue week into a compliance problem. The call side of the same lead matters too: RizzDial’s guide to AI calling versus manual follow-up for home service leads covers how AI calling keeps following up on an estimate from first contact through close, pairing with a texting sequence rather than replacing it.
An iMessage line does not require A2P 10DLC registration. SMS fallback still follows the sending number’s rules: local 10DLC needs A2P registration, toll free needs verification and short codes need carrier approval. Twilio’s A2P documentation explains the local-number registration path. Confirm the fallback route before launch rather than assuming an iMessage setup makes every SMS send ready.
Keep the consent record with the contact and make stopping follow-up part of the test procedure. The FCC’s consumer guidance on unwanted calls and texts is a starting point for reviewing permission and revocation requirements. A form submission is not blanket permission for every future promotion. Have the campaign owner review the actual disclosure and the planned messages. This workflow is operational guidance, not legal advice.
What changes for HVAC, plumbing and solar instead of roofing?
Use the same workflow structure across all four trades, with separate settings for each client business. The table gives planning examples, not measured demand patterns or mandatory review timing. Change the trigger, photo, volume assumptions and stage spacing to match the job.
| Trade | What starts the sequence | What the photo shows | How volume spikes | When to ask for a review |
|---|---|---|---|---|
| Roofing | A storm-damage estimate request, often from an ad form | Drone or ladder shot of the damage, sometimes marked up for an adjuster | A hailstorm or high-wind event, concentrated in a day or two | After the final inspection passes, not right after the last shingle goes on |
| HVAC | A breakdown call or a seasonal tune-up booking | The failed part next to its replacement | An extreme cold snap or heat wave, concentrated in a day or two | The same day as the repair, while the system is already running cool or warm again |
| Plumbing | An emergency leak call or a planned fixture job | The leak or corroded pipe itself, before the repair starts | A burst-pipe cold snap or a neighborhood-wide main break | A few days after the fix holds, not immediately after the visit |
| Solar | A site survey booking after an ad or referral | The panel layout rendering and the permit document | Utility rate change or incentive deadline news, spread across weeks | After the system passes inspection and starts producing, not at signing |
Build it once with those fields as variables, not as four separate systems.
How do you build this as a GoHighLevel workflow with Beam?
Here is a setup procedure for an agency serving these trades through GoHighLevel. Keep each client business in its own account and map the same structure to its job stages. Use a test calendar and a phone you control before pointing any of it at a real lead list.
- Pick the trigger for each stage. Use Appointment Status for the relevant appointment change, and Customer Booked Appointment for customer self-bookings. Trigger reviews from a verified completed-job stage, not from a new booking. HighLevel’s Customer Booked Appointment guide excludes manual staff bookings and recurring appointments from that trigger. Use a lead-form trigger, such as Facebook Lead Form Submitted, for storm and surge intake. Use a time-based wait step, not a booked-appointment trigger, for solar’s weeks-long nurture, since those messages are not tied to a single calendar event.
- Map the job fields. Pull the homeowner’s name, the trade-specific detail (roof pitch, unit model, pipe location, panel count) and the quoted scope into the template. Preview with a test contact that has every field filled and a second one with a field missing, so a blank merge field never reaches a real homeowner.
- Add the Beam sending step. Point the workflow’s messaging action at the connected Beam line through the Custom Webhook workflow integration, and run it as a dry run against your own test number first.
- Attach the right file for the stage. Estimate PDF, job photo or permit document, then confirm whether it arrives as a native attachment or a hosted link given the file’s size and the recipient’s channel, rather than assuming either outcome.
- Confirm routing, not just delivery. Send the same test sequence to an iPhone and an Android phone you control. Check the recorded channel and receiving device; the sending device shows blue for iMessage. Confirm the Android test lands as RCS or SMS depending on device and carrier support, so you know the fallback is actually working before a storm week tests it for you.
- Set the reply path and the stop condition. A homeowner replying YES or asking a question should land with the person who ran the estimate, with a named backup in the shared inbox, and the workflow should exit once a job is signed so a closed lead stops getting the next-stage nudge.
- Turn it on for one trade or one crew first. Confirm a week of real sends and replies look right, then extend the same structure to the other trades you run through the same account.
Record a pass or fail for each test contact: trigger fired, fields resolved, attachment opened, message arrived and reply reached its owner. Also test an opt-out and a booked job while a follow-up is waiting. Neither should receive the queued sales nudge. If a test fails, pause that branch and fix it before adding more contacts. This is a proposed acceptance test, not a report of results from a customer rollout.
How do you turn a finished job into a review without breaking Google’s or the FTC’s rules?
Review policy concerns honest feedback and fair solicitation, not whether a message shares a conversation thread with an invoice. Google’s Business Profile content policy bars offering an incentive for a review and bars soliciting only from customers you already know are happy, which rules out the common habit of only texting the ask to jobs that went smoothly. The FTC’s endorsement guidance adds that conditioning any incentive, a discount, a gift card, a referral bonus, on a positive review crosses the same line, even when the incentive itself would otherwise be legal to offer.
The practical fix is to send the review ask to every closed job, not just the ones you feel good about, and to schedule it separately from invoice reminders. Keep the familiar business identity; a new phone number or conversation is not required by those policies. Timing follows the table above: same day for an HVAC repair, a few days out for plumbing once the fix holds, after final inspection for roofing and solar. Test the review-ask text against your own number before turning it on for a crew, specifically checking that a reply with a complaint routes to a person instead of triggering a canned thank-you.
Sample text, review ask after a solar install passes inspection:
Hi Priya, your system passed inspection and is producing. If you have a couple minutes, we’d appreciate an honest review wherever you look up local installers, good or bad helps us improve. You can also reply here if anything about the install needs attention; that is separate from leaving a review.
An AI text responder can send that ask on schedule and handle a reply that comes back with a question instead of a star rating, but the same tiering that keeps an AI responder in its lane applies here too: a genuine complaint about the job itself should route straight to a person, not get an automated apology paired with a review link in the same breath.
What do roofing, HVAC, plumbing and solar owners ask before switching their texting platform?
What does Beam cost for a roofing, HVAC, plumbing or solar company running storm-week lead volume?
Beam does not publish pricing on this page. Line count, message volume and which number types a trade business needs, an iMessage line for warm leads plus a local or toll free number for SMS fallback during a storm spike, change the setup, so the practical next step is to text our team with your current monthly lead volume and how many crews or reps need their own thread.
How long does it take to get texting live before the next storm or busy season hits?
Allow time to connect your CRM trigger, map the job fields and test delivery and replies on both an iPhone and an Android phone you control before a real lead sees any of it. Line readiness and how fast your CRM trigger actually fires determine the real timeline, so test now rather than waiting for the week a storm front moves through.
Does this work with the CRM our dispatch team already uses, or only GoHighLevel?
GoHighLevel can trigger Beam through a Custom Webhook action. Other dispatch software needs a compatible API or webhook integration and field mapping. Confirm its send trigger, incoming reply handling and contact matching before rollout. Beam supports iMessage, RCS and SMS, but channel availability depends on the sender setup and recipient capability, not just the CRM you use.
Can we text a purchased storm lead list the same way we text our own customers?
Do not treat either list as permission by itself. Check the actual consent record, what the person agreed to receive and whether that permission covers your business and planned message. Review applicable contact hours and opt-out requirements before sending. A storm does not remove those obligations; get qualified advice for the campaign when the consent history is unclear.
We are already texting through a Twilio-based tool. What does switching to Beam actually involve?
First confirm number eligibility and whether a port is needed. Then map CRM triggers, preserve consent and opt-out records, and test sends and replies before cutover. Export any history you need from the old tool and confirm what can be retained or imported; porting a number does not automatically transfer its message history. Agree on a rollback plan before retiring the previous route.
Text our team for a Beam quote and to discuss this workflow against your own trades and GoHighLevel account before a storm week puts it to the test.