Skip to content

Collects as they arrive, acts daily

Ask customers for a review by text after each job

Once a job is done, the customer gets one polite text with your review link, a couple of hours later.

Runs
Collects as they arrive, acts daily
Apps
Twilio
AI
Not needed
Access
write

Send this to your assistant

Create a ClickRuntime automation: when my job app posts 'job done' with the customer's phone to this link, text them our Google review link 2 hours later, never after 8pm, and only once per customer.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

Happy customers rarely leave reviews on their own, which is why a trade business with excellent work can still have only eight Google reviews and lose out to a competitor with fifty. Asking in person is awkward, and a follow-up message sent by hand a week later usually does not happen, because the electrician is already on the next job.

When you record a finished job, this stores it with the customer's phone number. After a delay you choose, such as two hours or the next morning, and outside your quiet hours, it sends one text with your Google review link. It then marks the number as asked, so the same person is never asked twice.

It works for plumbers, cleaners, dentists, installers and anyone whose work ends with a clear finishing moment.

What you get out of it

  • More reviews from satisfied customers

    A text sent while the work is fresh gets far more responses than a request weeks later. A steady flow of new reviews improves how you rank in local search and how you look to buyers.

  • Asked at the right moment

    The delay lets the customer enjoy the result first. A message right as the van leaves the driveway feels pushy, while one a couple of hours later arrives when they are pleased.

  • One request per customer

    Marking each phone number as asked prevents repeat messages. Customers who have already been asked are never nagged again, which protects the goodwill you have just earned. You keep their goodwill and still collect the review.

  • Consistency without effort

    Jobs get a follow-up whether the owner is busy, away or sick. Reviews stop depending on someone's memory, so the numbers grow steadily rather than in the occasional burst after a reminder.

  • Quiet hours are respected

    A customer who finishes a late job is texted the next morning instead. That avoids annoying people and reduces the chance that a review request is ignored or marked as unwanted.

How it works

What happens, step by step

  1. When a job is marked done, ClickRuntime saves the customer's name and number.

  2. A couple of hours later, and never during quiet hours, it texts them a polite request with your review link.

  3. Each number is only asked once, so repeat customers don't get pestered.

Before it runs live

  • Connect Twilio
  • Paste your automation's link into the other app's webhook settings

What you get

RunsCollects as they arrive, acts daily
Ask customers for a review by text after each jobtoday, 9:00Succeeded
SMS · CustomerHi Sam, thanks for choosing Northwind! Would you leave us a quick review? https://g.page/r/northwind/review

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Act only on the items that match your own rules, and skip the rest
  • Add an AI step, for example to summarize, sort or draft a reply
  • Add another app, for example also send it to Slack
  • Combine it with other Twilio steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
ask_for_a_review_after_a_job_is_done.pyexample
import time
from datetime import datetime, timezone
from clickruntime import on_event, on_trigger, credentials, http, state

FROM, REVIEW_LINK, DELAY = "+447700900000", "https://g.page/r/northwind/review", 2 * 3600

@on_event
def job_done(event):
    jobs = state.get("jobs") or []
    jobs.append({"phone": event.json["phone"], "name": event.json["name"], "at": time.time()})
    state.set("jobs", jobs)
    return {"queued": len(jobs)}

@on_trigger
def send_due(event):
    if not 9 <= datetime.now(timezone.utc).hour < 20:
        return {"skipped": "quiet hours"}
    jobs, asked = state.get("jobs") or [], set(state.get("asked") or [])
    sid, pending, sent = credentials.secret("TWILIO_ACCOUNT_SID"), [], 0
    for j in jobs:
        if time.time() - j["at"] < DELAY:
            pending.append(j)
        elif j["phone"] not in asked:
            http.post(f"https://api.twilio.com/2010-04-01/Accounts/{sid}/Messages.json", auth=(sid, credentials.secret("TWILIO_AUTH_TOKEN")),
                      data={"To": j["phone"], "From": FROM, "Body": f"Hi {j['name']}, thanks for choosing Northwind! Would you leave us a quick review? {REVIEW_LINK}"})
            asked.add(j["phone"])
            sent += 1
    state.set("jobs", pending)
    state.set("asked", list(asked))
    return {"sent": sent}

FAQ

Common questions

Where does the review link come from?
You supply your Google review link when setting up, and it is placed in every text. You can get it from your Google Business Profile, and the flow can be pointed at another review site if you prefer.
What if a customer had a bad experience?
The text goes to everyone you record as finished, so an unhappy customer would get it too. If you want to avoid that, you can record a job only after checking satisfaction, or add a quick check step.
How does it know a job is done?
You tell it, by sending the job and phone number when the work finishes, from a form, a booking tool or a script. It does not guess completion, so only jobs you record are asked for a review.
What permissions does it need?
write. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it checks. Checks that find nothing new and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Ask customers for a review by text after each job” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.