Back to the build library
Home services
Starter

Post-Job Review and Upsell

The hour after a job is finished, used properly: a gated review ask and a recommended-work offer while the tech is still remembered.

Industry
Home services
Build effort
Starter
Typical time to launch
3–5 days
On this page
The problemWhat gets builtHow it runsAutomations in detailWhat changesBefore you start
Want this built for you?

Bring your stack to a call and we will scope it against how your business actually runs.

Book a call
01

The problem

There is a window of maybe two hours after a tech reverses off the drive when a homeowner is more favourably disposed toward a trade business than they will ever be again. The problem is fixed, the house is warm or dry or lit, and the person who fixed it was polite and tidy. In most home services businesses absolutely nothing happens in that window. The tech drives to the next job, the paperwork goes in the van door pocket, and the goodwill evaporates on its own schedule.

Two specific things leak. The first is reviews. Review volume in most trade businesses depends entirely on which office staff member happens to remember, which means it arrives in lumps and droughts and correlates with nothing. When the ask does come it is often weeks late, from someone the customer never met, about a job they have stopped thinking about, and it goes to everyone indiscriminately, including the customer who is still annoyed about the second visit, who now has a prompt and a link and a reason to use both. Asking everyone is how a business manufactures its own one-star reviews.

The second leak is the recommendation. The tech almost always notices something: a water heater on borrowed time, a consumer unit with no residual-current protection, a condenser choked with leaf litter, a stopcock that will not turn. They mention it verbally at the door. The homeowner says they will think about it. Nobody writes it down anywhere a follow-up could read, and eight months later that customer buys a new water heater from whoever happened to be advertising that week. The business paid to acquire the visit, paid the tech to spot the opportunity, and then handed the resulting job to a competitor through pure absence of process. This build turns both windows into systems: a one-question feedback gate that routes promoters to a public review and unhappy customers to a human, and a recommended-work record that cannot be forgotten because a workflow owns it.

02

What gets built

Pipeline and stages

One pipeline, Post-Job Follow-Through. It is deliberately not the sales pipeline: a completed job enters here, and only recommended work that the customer engages with gets promoted back into the sales pipeline as a real opportunity.

  • Job Completed: entry stage, created the moment the job is marked done.
  • Debrief Pending: the job is finished but the tech has not submitted the debrief, so the system does not yet know whether there is anything to recommend.
  • Feedback Requested: the one-question survey has gone out and no answer has come back.
  • Promoter: the customer rated the visit highly and is in the review ladder.
  • Review Left: a public review has been detected or self-reported.
  • Service Recovery: a low or middling score. A human owns this; no automated marketing touches it.
  • Recommended Work Open: the tech flagged work and the customer has not yet decided.
  • Recommended Work Won: promoted to a sales opportunity or booked directly.
  • Recommended Work Declined: with a reason, so the long-game reminder can be tuned rather than guessed.
  • Closed, No Action: the honest resting place for a tidy job with nothing to recommend and a customer who did not respond.

Calendars

  • Recommended Work Survey: a short service calendar for a no-obligation look at flagged work, deliberately short so it is easy to say yes to.
  • Annual Service: a service calendar with a long booking horizon, used to let a customer book their next routine service while they are still in the good mood the finished job created.

Custom fields

  • Job Type: single select matching the trades the business actually sells: Boiler Service, Boiler Repair, Heating Install, Drain Clearance, Bathroom Install, Electrical Repair, Panel Upgrade, Air Conditioning Service, Air Conditioning Repair, Emergency Call-Out, Other.
  • Job Completed At: timestamp. Everything in this build is measured from here, so it must be written reliably rather than typed later.
  • Attending Tech: the person whose name appears in every message. Naming the tech rather than the company is worth testing early, because the customer remembers a person who stood in their kitchen, not a brand.
  • Satisfaction Score: number, 1 to 10, written by the feedback form.
  • Feedback Comment: long text from the second question.
  • Review Platform Requested: single select: Google Business Profile, Facebook, Trade Directory, Other. Set by the workflow so a customer is never asked twice on two platforms.
  • Review Left: checkbox.
  • Recommended Work: long text, written by the tech in the debrief, in the tech's own words.
  • Recommended Work Urgency: single select: Safety Issue, Needs Doing Soon, Will Need Doing Eventually, Nice To Have. Urgency drives the entire follow-up cadence, so the tech picking the right value matters more than anything else they type.
  • Equipment Make and Model, Equipment Age, Next Service Due: the three fields that make a follow-up a year later look like competence instead of a mailshot.
  • Upsell Status: Not Offered, Offered, Survey Booked, Quoted, Won, Declined.
  • Decline Reason: short text: cost, timing, getting other quotes, doing it themselves, not convinced it is needed. The last two are coaching material for the techs.
  • Photo Consent: checkbox, for before-and-after images the tech took on site.

Tags

  • job-completed, feedback-requested, feedback-received.
  • promoter, passive, detractor: applied from Satisfaction Score and used as suppression logic everywhere else in the account.
  • review-requested, review-left.
  • service-recovery-open, service-recovery-resolved.
  • recommended-work-open, recommended-work-won, recommended-work-declined.
  • safety-flag: applied when Recommended Work Urgency is Safety Issue. This tag bypasses every marketing cadence and goes straight to a human call.
  • next-service-booked.
  • do-not-ask-for-review: a manual tag staff can apply, permanently honoured, for customers where a public ask would be a mistake.

Forms

  • Job Debrief: the tech's form, submitted before leaving site. Six questions and no more, because a long form gets filled in with nonsense: work completed, equipment make and model, equipment age, recommended work in plain words, urgency, and photos with a consent checkbox. The urgency selector is the only mandatory field besides work completed.
  • Quick Feedback: one question on the first screen: how likely are you to recommend us, 1 to 10. Submitting that single tap writes Satisfaction Score and fires the branch. The second screen asks for a comment and is optional. One tap is the whole design; every extra field costs response rate.
  • Recommended Work Interest: a three-option form from the follow-up message: book a no-obligation look, send me more detail, not right now with a reason. Writes Upsell Status and Decline Reason.

BO's role and guardrails

BO handles the replies, which is where this build either feels human or feels like a machine. A meaningful share of people answer a review request with a question rather than a review, and an unanswered question ends the conversation.

  • BO answers questions about what was done and what was recommended by reading the debrief on the record, in plain language, without re-diagnosing anything.
  • BO never states a price, a quote or a discount for recommended work. BO offers the no-obligation survey booking or a callback from the office, and pricing conversations go to a booked call at bookings.appbo.io.
  • BO never argues with a complaint and never defends the business. On any negative sentiment BO acknowledges, apologizes plainly, confirms a human will call, and stops. The record goes to Service Recovery and every automated send halts.
  • BO never offers an incentive in exchange for a review and never suggests what a review should say. The ask is the ask.
  • BO escalates immediately on any mention of damage to the property, injury, a safety concern, or a threat to post publicly.

Numbers and channels

  • The business SMS number for the feedback ask and the review ask. SMS carries this build; email is the follow-up and the archive.
  • A warmed sending domain with SPF, DKIM and DMARC configured, because review-request email that lands in spam looks identical to a customer who did not care.
  • Google Business Profile connected, so reviews are monitored and replied to in the same place the request was sent from, and so Review Left can be set automatically rather than guessed.
  • Facebook connected where the business has a meaningful presence there, used as the second platform so the ask rotates instead of hammering one profile.
  • Trigger links on every review request, so a click is recorded even when the review itself cannot be attributed.
03

How it runs, step by step

  1. A tech finishes a boiler service at 2:15pm. Before leaving the drive they open the Job Debrief form from their phone and submit it: service completed, boiler make and model, fourteen years old, recommended work is "expansion vessel losing pressure, will fail within the year", urgency Needs Doing Soon, two photos attached with the consent box ticked.
  2. Submission writes Job Completed At, Equipment Make and Model, Equipment Age, Recommended Work and Recommended Work Urgency to the record, creates the opportunity in Post-Job Follow-Through, and sets Next Service Due to twelve months out.
  3. Ninety minutes later the Quick Feedback SMS goes out, from the business number, naming the tech: one question, one tap.
  4. The customer taps 9. Satisfaction Score is written, promoter is applied, and the stage moves to Promoter. The optional comment screen appears and they type one line about the tech being tidy, which lands in Feedback Comment.
  5. Fifteen minutes after the score: deliberately not instantly, so the review ask does not look like it was triggered by the tap. The review request sends, with a direct link to the Google Business Profile review form. Review Platform Requested is set to Google Business Profile and review-requested is applied.
  6. The customer clicks the trigger link. A click is recorded against the contact even though the review itself happens on a platform the business does not control.
  7. Two days later the review monitoring workflow detects a new five-star review matching this customer's name. Review Left is set, the stage moves to Review Left, the review-chase sequence cancels, and a draft reply is generated and held for approval.
  8. Separately, three days after completion, the recommended-work path starts. It did not wait on the review and is not conditional on it, but because Recommended Work Urgency is Needs Doing Soon rather than Safety Issue, it runs as a message rather than a phone call.
  9. The customer gets a message naming the specific part, in the tech's own words, with the two photos attached and a link to the Recommended Work Interest form. The stage moves to Recommended Work Open and Upsell Status becomes Offered.
  10. They choose "send me more detail". The office gets a task, the quote goes out from the documents module, and the record is promoted into the sales pipeline as a real opportunity at the quoting stage, carrying the debrief notes and photos with it.
  11. The quote follow-up cadence takes over. If it is accepted, Upsell Status becomes Won, recommended-work-won is applied, and the stage moves to Recommended Work Won.
  12. If it is declined, the Recommended Work Interest form or the office captures a Decline Reason. "Getting other quotes" produces a short follow-up in a week. "Timing" schedules a reminder dated to the customer's own stated timeframe rather than an arbitrary interval.
  13. Eleven months later, the long-game workflow fires off Next Service Due. The message names the boiler by make and model and reminds them of the expansion vessel the tech flagged, because the record still holds it. That single sentence is what makes an annual reminder convert.
  14. If a different customer had tapped 4 instead of 9, none of steps 5 to 7 would have happened. detractor is applied, the stage goes to Service Recovery, every automated send to that contact halts, and a named human has a task to call within two working hours.
04

Automations in detail

1. Job Completion Capture and Debrief Enforcement

Trigger: appointment status set to Showed or Completed, or an inbound webhook from the job-management system carrying a completion event.

Conditions and branches: branch on whether a Job Debrief has been submitted for this appointment. Branch on Job Type to decide whether a debrief is even expected. A quick unblock may not warrant one, a service always does.

Actions in order:

  1. Create the opportunity in Post-Job Follow-Through at Job Completed. Apply job-completed. Write Job Completed At, Attending Tech and Job Type.
  2. If no debrief exists, move the stage to Debrief Pending and send the tech an SMS: "{{Tech first name}}, debrief for {{Customer first name}} at {{Service Address}} isn't in yet. Two minutes: {{Job Debrief link}}"
  3. Wait twenty minutes. If still no debrief, resend once and notify the office so the feedback ask is not held up indefinitely.
  4. Wait two hours. If still no debrief, proceed to workflow 2 anyway with Recommended Work empty, and create a task for the supervisor. The feedback ask is more time-sensitive than the debrief, so it must not be blocked by a missing form.
  5. On debrief submission, write Recommended Work, Recommended Work Urgency, Equipment Make and Model, Equipment Age and Photo Consent, attach the photos, and set Next Service Due by adding the service interval for that Job Type to Job Completed At.
  6. If Recommended Work Urgency is Safety Issue, apply safety-flag and hand straight to workflow 7, bypassing everything else.
  7. Enter workflow 2.

Stop and exit conditions: exits into workflow 2 or 7. Does not run at all if the appointment was canceled or marked No Show. Caps at two debrief chase messages per job.

2. Quick Feedback Request: the gate

Trigger: entry from workflow 1.

Conditions and branches: suppressed entirely if the contact carries do-not-ask-for-review, service-recovery-open, has been asked for feedback in the last thirty days, or has opted out of SMS. Branch on the hour: if the ninety-minute delay would land outside the permitted send window, hold until the next morning's window opens.

Actions in order:

  1. Wait ninety minutes from Job Completed At. Long enough that the tech has gone and the customer has looked at the work; short enough that the visit is still the most recent thing that happened to them.
  2. Move the stage to Feedback Requested. Apply feedback-requested.
  3. Send SMS: "Hi {{Customer first name}}, {{Tech first name}} here finished up at yours earlier. One tap, nothing to fill in: how likely are you to recommend us? {{Quick Feedback link}}"
  4. Wait four hours. If no submission, send one email with the same single question rendered as tappable numbers in the body, so the ask exists on a second channel without a second text.
  5. Wait twenty-two hours. If still nothing, send one final SMS: "No worries if you'd rather not, but if you have five seconds, it genuinely helps us: {{Quick Feedback link}}"
  6. On submission, write Satisfaction Score and Feedback Comment, apply feedback-received, and branch: 9 or 10 applies promoter and enters workflow 3; 7 or 8 applies passive; 6 or below applies detractor and enters workflow 4.
  7. Passives get a short thank-you and no review ask: "Thanks {{Customer first name}}, appreciated. If there's anything we could have done better, just reply here and it goes straight to the office." A reply moves them into workflow 4.
  8. If no submission after all three messages, move the stage to Closed, No Action unless Recommended Work is non-empty, in which case the record stays open for workflow 6.

Stop and exit conditions: stops on submission, on opt-out, or on any inbound reply expressing a complaint, which routes to workflow 4 regardless of score. Hard cap of three messages. Never re-enters for the same job.

3. Promoter Path: Review Request Ladder

Trigger: promoter tag applied.

Conditions and branches: branch on whether this contact has left a review in the last twelve months. If so, skip the ask entirely and send thanks only. Branch on Review Platform Requested across the account to rotate platforms rather than sending every customer to the same profile.

Actions in order:

  1. Move the stage to Promoter.
  2. Wait fifteen minutes. The gap matters: an instant review link makes the score feel like a toll gate.
  3. Set Review Platform Requested. Apply review-requested.
  4. Send SMS with a trigger link: "That's great to hear, thank you. If you've got a minute, a short review is the single most useful thing you could do for us. It's how people find a trade they can trust: {{review link}}. No pressure either way."
  5. Wait two days. If Review Left is still unset and the trigger link was not clicked, send one email carrying the same link plus a line naming what was done, because the email gives people something to quote.
  6. Wait four days. If the link was clicked but no review was detected, send one gentle nudge: "Looks like you may have started a review and got interrupted: happens to all of us. Here's the link again if you'd still like to: {{review link}}"
  7. If no review after that, stop asking. Move the stage to Closed, No Action if there is no open recommended work, and leave the contact eligible to be asked again after a future job.
  8. In all branches, offer the next-service booking once, in the email rather than the SMS: "While you're here. You can book next year's service now and we'll remind you nearer the time: {{Annual Service booking link}}"

Stop and exit conditions: stops immediately when Review Left is set by workflow 5. Stops on opt-out or on do-not-ask-for-review being applied mid-sequence. Maximum three review-related messages per job, ever.

4. Service Recovery Path

Trigger: detractor tag applied, a passive replying with a complaint, or BO detecting negative sentiment in any inbound message on a contact with job-completed.

Conditions and branches: branch on whether the comment mentions property damage, injury or a safety concern. Those go to the owner immediately rather than the usual recovery owner.

Actions in order:

  1. Move the stage to Service Recovery. Apply service-recovery-open. Apply do-not-ask-for-review for the duration.
  2. Halt every other automation touching this contact. Remove them from the review ladder, the recommended-work path, every campaign and every broadcast list. This is the most important action in the workflow and it must be an explicit step, not an assumption.
  3. Create a high-priority task on the named recovery owner, due in two working hours, carrying the score, the comment, the job type, the tech and the debrief.
  4. Notify the office channel in Slack or Microsoft Teams with the same detail.
  5. Send the customer one message, and only one: "Thanks for being honest, {{Customer first name}}, that's not the standard we want. {{Recovery owner first name}} will call you today to put it right. No automated messages from us in the meantime." Then send nothing further automatically.
  6. Notify the attending tech's supervisor, not the tech directly, with the score and comment. Feedback reaches techs through their supervisor so it arrives as coaching rather than as a complaint forwarded by a robot.
  7. Wait four hours. If the task is still open, escalate to the owner.
  8. On the recovery owner marking the task complete and applying service-recovery-resolved, wait seven days, then send a single human-sent check-in drafted for the owner to review rather than an automated template.

Stop and exit conditions: only a human closes this. The workflow never re-asks for a review, never re-enters the promoter ladder, and never re-adds the contact to marketing until a person removes service-recovery-open. If the customer stops responding, the record stays at Service Recovery rather than quietly closing.

5. Review Monitoring and Reply Approval

Trigger: new review detected on any connected profile.

Conditions and branches: branch on star rating. Branch on whether the reviewer matches a contact in the account by name or recent review-request timing.

Actions in order:

  1. Attempt a match to a contact. On a match, set Review Left, apply review-left, move the stage to Review Left, and cancel any remaining steps in workflow 3.
  2. For four and five stars: generate a draft reply with an AI step that names the specific work from the debrief where a match was found, and hold it for approval. Replies that name the actual job read as human; generic thanks reads as a plugin.
  3. For three stars and below: do not auto-generate a public reply at all. Notify the owner directly, create a task to respond personally within one working day, and if the reviewer matched a contact, enter workflow 4.
  4. Post to the internal channel with the review text and the matched job, so the team sees reviews in the same place they see everything else.
  5. Where Photo Consent is ticked and the review is positive, create a task for whoever runs social, with the review text and the job photos together, for use in the social planner. The consent checkbox is a hard gate on this step.
  6. Monthly, compile review count, average rating and platform split into the reporting dashboard.

Stop and exit conditions: no customer-facing message is ever sent by this workflow. Public replies are always approval-gated, and replies to reviews below four stars are always written by a person.

6. Recommended Work Follow-Through

Trigger: Recommended Work populated and Recommended Work Urgency not equal to Safety Issue.

Conditions and branches: the cadence is set entirely by urgency. Needs Doing Soon runs over two weeks. Will Need Doing Eventually runs one touch now and a dated reminder later. Nice To Have gets one mention in the email and nothing else. Suppressed completely while service-recovery-open is present.

Actions in order:

  1. Wait three days from Job Completed At, so the review ask and the sales ask are not in the same conversation.
  2. Move the stage to Recommended Work Open. Set Upsell Status to Offered. Apply recommended-work-open.
  3. Send the first message, quoting the tech rather than paraphrasing: "Hi {{Customer first name}}, when {{Tech first name}} was with you he flagged something worth knowing about: {{Recommended Work}}. Nothing urgent, but it'll be cheaper to deal with before it fails than after. Here's what he saw: {{photo link}}. If you want, he can take a proper look next time he's nearby. No obligation: {{Recommended Work Interest link}}"
  4. Wait four days. If Upsell Status is still Offered, send a short email containing the photos inline, the tech's note, and what happens if it is left, described in plain terms, with no figures and no scare copy.
  5. Wait five days. If still no response, send one final SMS: "Last one from me on this: happy to leave it with you. If you'd rather we just made a note to check it at your next service, reply NEXT TIME and we'll do that." A reply of NEXT TIME sets Upsell Status to Declined, Decline Reason to timing, and schedules the reminder to Next Service Due.
  6. On "book a no-obligation look": create the booking on Recommended Work Survey, set Upsell Status to Survey Booked, and enter the standard appointment reminder ladder.
  7. On "send me more detail": create a task for the office, raise the quote through the documents module, set Upsell Status to Quoted, and promote the record into the sales pipeline at the quoting stage with the debrief and photos attached. The quote follow-up build owns it from there.
  8. On "not right now": capture Decline Reason, set Upsell Status to Declined, apply recommended-work-declined, move the stage to Recommended Work Declined, and branch: "getting other quotes" schedules one check-in in seven days; everything else schedules the reminder to Next Service Due.
  9. On a won quote, set Upsell Status to Won, apply recommended-work-won, and move the stage to Recommended Work Won.

Stop and exit conditions: three messages maximum, then silence until Next Service Due. Stops instantly on service-recovery-open, on opt-out, or on any reply BO classifies as irritation. Never runs concurrently with workflow 3's messages on the same day.

7. Safety Flag Immediate Escalation

Trigger: safety-flag applied, or Recommended Work Urgency set to Safety Issue.

Conditions and branches: none. This path has no marketing branch by design.

Actions in order:

  1. Create an urgent task on the office, due within one hour, with the debrief text and photos.
  2. Notify the owner or technical lead by SMS and in the internal channel.
  3. Place the record in Recommended Work Open with Upsell Status Offered, but send no automated sales message of any kind.
  4. Send one factual customer message: "{{Customer first name}}, {{Tech first name}} noted something at your property we need to talk through properly rather than by text. Someone from the office will call you shortly."
  5. Log the call outcome against the record, including a documented refusal if the customer declines the work, so the business has a written trail of what was reported and when.
  6. If the customer declines, do not enter any marketing cadence. Create a dated task for the office to raise it again at the next service.

Stop and exit conditions: only a human closes this. Safety-flagged records are permanently excluded from automated upsell messaging and from review requests until the issue is resolved and logged.

8. Next Service Due Recall

Trigger: daily scan for contacts whose Next Service Due falls in thirty days.

Conditions and branches: branch on whether the record holds a prior Recommended Work entry that was declined. Branch on whether the contact already has a booking. Suppressed for service-recovery-open and for opt-outs.

Actions in order:

  1. Send email at thirty days: names the equipment by Equipment Make and Model, states the last service date, and includes the Annual Service booking link.
  2. If a declined recommendation exists on the record, add one sentence to that email: "Last time {{Tech first name}} mentioned {{Recommended Work}}, worth us having another look while we're there." This sentence is the whole reason the fields exist.
  3. Wait ten days. If unbooked, send SMS: "Hi {{Customer first name}}, your {{Equipment Make and Model}} is about due its service. Here's the calendar: {{Annual Service booking link}}"
  4. Wait ten days. If unbooked, create a task for the office to call, and stop messaging.
  5. On booking, apply next-service-booked, clear the recall, and set the next Next Service Due on completion of that visit, which returns the contact to workflow 1 and closes the loop.

Stop and exit conditions: two messages then a human task. Stops on booking, on opt-out, or on the contact being marked as moved or lost. Never fires twice in the same service year.

05

What changes

The first and largest change is that review volume becomes a function of job volume rather than a function of who remembered. Every completed job produces an ask, at the same interval, naming the tech who did the work. Because the ask is gated behind a satisfaction score, the people receiving a public review link are the ones who already said the visit went well, and the people who did not are receiving a phone call instead. The business stops manufacturing its own bad reviews.

The second is that the tech's observation becomes an asset with an owner. Before this build, "the vessel is on its way out" was a sentence said at a front door. After it, it is a field, a photo, an urgency rating, a dated follow-up and, if declined, a reason and a scheduled return. Nothing a tech notices is lost through anyone forgetting.

The third is quieter and matters more over a year: the record accumulates. Make, model, age and next-service date mean that every subsequent contact can be specific, and specific beats frequent. A reminder that names the appliance in the customer's own airing cupboard does not read as marketing.

Metrics to watch:

  • Feedback response rate: Quick Feedback submissions divided by jobs completed. If this sits low, the problem is almost always send timing or the message naming the company instead of the tech.
  • Score distribution, not average score. Averages hide the shape. Watch the share of 9s and 10s, and watch the count of 6-and-below as an absolute number, because each one is a service-recovery call someone has to make.
  • Review conversion: reviews left divided by review requests sent to promoters, and separately the trigger-link click rate, which tells you whether the gap is the ask or the review platform's own friction.
  • Review velocity: new reviews per month and the trend. Steady beats spiky; a spiky profile reads as solicited.
  • Recommended work capture rate: the share of completed jobs where the debrief contains a non-empty Recommended Work. This is a tech-behavior metric and it is the leading indicator for everything downstream. If it is low, no amount of follow-up copy will help.
  • Recommended work conversion by urgency: the win rate for Safety Issue, Needs Doing Soon and Will Need Doing Eventually, tracked separately. If Safety Issue converts at a similar rate to Nice To Have, the techs are over-grading urgency and the field has lost its meaning.
  • Decline reason mix: the share declining on "not convinced it is needed". That number is a coaching and photo-quality problem, not a pricing one.
  • Service recovery resolution time: hours from detractor applied to service-recovery-resolved. The point of the gate is the call, so the call has to actually happen.
  • Next-service booking rate from the long-game workflow, split by whether the record held a specific recommendation.
06

Before you start

Prerequisites inside the platform

  • A reliable definition of job completion. This whole build hangs off Job Completed At, and if that is set by someone in the office the next morning, the feedback ask arrives a day late and loses most of its power. Have the tech's debrief submission be the event, or sync completion from the job-management system by webhook.
  • Every tech set up as a user with a first name that is safe to put in a customer-facing message.
  • All custom fields created before the forms are built, so the forms write to fields rather than into form-submission records nobody queries.
  • Agreement on what the gate threshold is (which scores count as promoter, passive and detractor) and the discipline not to move it later to flatter a report.
  • A named owner for service recovery, with the authority to put something right on the call, and a response-time commitment they have actually agreed to. A gate that routes unhappy customers to a queue nobody works is worse than no gate at all.

Integrations

  • Google Business Profile connected for review monitoring, direct review links and reply posting.
  • Facebook connected if it is a genuine second platform for this business rather than a dormant page.
  • A dedicated sending domain with SPF, DKIM and DMARC configured and warmed before any volume sending.
  • Where the business runs separate job-management or field-service software, an inbound webhook on job completion is the cleanest trigger, and it should carry the tech, the job type and the completion timestamp.

SMS compliance

  • A2P and 10DLC registration complete and approved before launch. Feedback and review requests are the kind of recurring, templated, high-volume traffic that gets filtered hardest when a campaign is unregistered. Register the brand and campaign, and register the campaign use case honestly.
  • Opt-out keywords handled automatically, honoured permanently, and never worked around. Treat do-not-ask-for-review the same way: once a human applies it, no workflow asks that contact again.
  • Quiet hours enforced on every send in this build without exception. Nothing here is urgent. A feedback request that would land at 9:40pm waits until the next permitted window, and the ninety-minute delay should be configured so that late-afternoon jobs roll to the following morning rather than firing at night.
  • Cap total messages per contact per job. Two messages for feedback, two for the review ask, two for recommended work, and then stop. Build the cap into the workflows rather than relying on anyone noticing.

Reviews, honesty and consent

  • Review platforms have their own rules on solicitation, and those rules matter more than any clever idea. Never offer anything of value in exchange for a review, never suggest wording, never review-gate in a way the platform prohibits. The gate in this build filters who is asked, which is a different thing from suppressing negative reviews, but how that distinction is treated varies by platform and by jurisdiction, so read the current platform policy and have the client's own counsel confirm the approach is acceptable for their market and sector.
  • Never post or publish a customer's photograph, address or before-and-after images without the Photo Consent checkbox actually ticked, and treat the checkbox as consent for the specific use described on the form, not a blanket release.
  • Keep the feedback score and comment internal. Publishing an internal satisfaction score as if it were a public rating is misleading, and it will eventually be noticed.

Data protection

  • Debrief photos may show the inside of someone's home, and sometimes the people in it. Restrict who can view them, set a retention period, and delete them when the job and any warranty window has closed.
  • Equipment make, model, age and address together describe a property in some detail. Apply role-based field visibility and remove access when staff leave.
  • Nothing here is legal advice. Review-solicitation practice, consent wording, retention periods and quiet-hours treatment should be confirmed with the client's own counsel before go-live.
Field notes

Build it with us.

Every build on this page is something we configure, test and hand over with the SOPs your team needs to run it.

Book a call