Free audit

AI prompt: running late or on the way text for home services

A copy-and-paste AI prompt that writes the day-of-job text a plumber, HVAC company, electrician, roofer, painter or other home services business sends when it is on the way or running late, using only the arrival time, name and reason you type in, with no invented times, delays, excuses, discounts or promises.

Text messagesContractors and home servicesPublished

When to use it

It is the day of the job and you are either heading to the customer or running behind. You want them to get one short, honest text with the arrival time you actually expect, who is coming, the reason if you want to give one, and what they can do if the new time does not work, without the AI guessing at times or making excuses for you.

  1. Copy the prompt below.
  2. Replace every {{VARIABLE}} with your own details (see the list under the prompt).
  3. Paste it into the AI chat tool you already use.
  4. Read the result against the checklist before you use it.

The prompt

You are helping a home services business write a short text message (SMS) to a customer on the day of a job. The text tells the customer either that the business is on the way, or that it is running late and when it will now arrive. The customer will plan around this text, so it must only contain details the business has typed in below. Never make up a time, a delay, a reason or a promise.

DETAILS
- Business name: {{BUSINESS_NAME}}
- Type of business: {{BUSINESS_TYPE}}
- Customer's first name: {{CUSTOMER_NAME}}
- Situation (either "on the way" or "running late"): {{SITUATION}}
- Who is coming (copy word for word), or "none": {{WHO}}
- Arrival time (copy word for word): {{ARRIVAL}}
- Reason for the delay (copy word for word), or "none": {{REASON}}
- What the customer can do if the time does not work (copy word for word): {{CONTACT_LINE}}
- Opt-out line (copy word for word), or "none": {{OPT_OUT_LINE}}

LAYOUT
Write the text in exactly this layout, with each part on its own line. Do not leave any blank lines between parts. Parts in square brackets are instructions, not words to copy.
Hi {{CUSTOMER_NAME}}, this is {{BUSINESS_NAME}}.
[Line 2: pick the ONE sentence below that matches the situation and who is coming, and replace [who is coming] and [arrival time] with those details above, word for word.
 - Situation "on the way" and who is coming is not "none": "[who is coming] is on the way and should arrive [arrival time]."
 - Situation "on the way" and who is coming is "none": "We are on the way and should arrive [arrival time]."
 - Situation "running late" and who is coming is not "none": "Sorry, we are running late. [who is coming] should now arrive [arrival time]."
 - Situation "running late" and who is coming is "none": "Sorry, we are running late. We should now arrive [arrival time]."]
[Line 3, only if the reason above is not "none": the reason, word for word. If it is "none", leave this line out and go straight to the next part.]
[Line 4: the line about what the customer can do, word for word.]
[Last line, only if the opt-out line above is not "none": that line, word for word. If it is "none", leave this line out.]

RULES FOR THE TEXT
1. Use only the details above. Do not invent or change any time, number of minutes, arrival window, name, phone number, link or price.
2. Do not add anything the business did not say: no reason for a delay unless one is given, no traffic or weather, no "we will text you again", no reply-to-confirm request, no prices, fees, discounts, refunds or promises about how long the job takes.
3. If the situation is "on the way", do not say sorry and do not say anything about being late.
4. Include every part of the layout that is not "none", and nothing else. Never write the word "none" in the text. Say each thing once and do not repeat any sentence.
5. Plain words, short sentences, no emojis, no hashtags, no exclamation marks.

Before you answer, check your text: if any line is the word "none", delete that line.

Return only the finished text message and nothing else.

What to fill in

{{BUSINESS_NAME}}
Your business name, as customers know it.
{{BUSINESS_TYPE}}
What you do and where, in a few words.
{{CUSTOMER_NAME}}
The customer's first name.
{{SITUATION}}
Either "on the way" or "running late". The AI picks the matching sentence and only says sorry when you are running late.
{{WHO}}
Who is coming, e.g. Luis or Our crew lead, Dana, or "none" to say "we". The AI copies it word for word.
{{ARRIVAL}}
The arrival time you actually expect, exactly as the customer should see it, e.g. between 11:30am and noon, in about 20 minutes or by 3pm. The AI copies it word for word and never works out a time itself.
{{REASON}}
One short sentence on why you are late, e.g. Our earlier job took longer than planned, or "none" to give no reason. The AI copies it word for word.
{{CONTACT_LINE}}
One sentence on what the customer can do if the time does not work, e.g. If that time no longer works, reply to this text or call (your number). The AI copies it word for word.
{{OPT_OUT_LINE}}
The opt-out line your texts use, e.g. Reply STOP to opt out, or "none" if your texting service adds its own.

Real example output

Fictional sample business. Brookside Plumbing & Drain, the customer, the technician and the phone number are fictional. They were made up to test this prompt; any resemblance to a real business or person is unintended.

Show the inputs used for Brookside Plumbing & Drain (fictional)
BUSINESS_NAME
Brookside Plumbing & Drain
BUSINESS_TYPE
plumbing company in Haverhill, MA
CUSTOMER_NAME
Tom
SITUATION
running late
WHO
Luis
ARRIVAL
between 11:30am and noon
REASON
Our earlier job took longer than planned.
CONTACT_LINE
If that time no longer works, reply to this text or call (978) 555-0147.
OPT_OUT_LINE
Reply STOP to opt out.

What the model returned

Hi Tom, this is Brookside Plumbing & Drain. Sorry, we are running late. Luis should now arrive between 11:30am and noon. Our earlier job took longer than planned. If that time no longer works, reply to this text or call (978) 555-0147. Reply STOP to opt out.

Model: Qwen3-4B-Instruct-2507 (Q4_K_M GGUF), llama.cpp server b11853, run locally, temperature 0.4. Tested on . Edits: None. The words are exactly as the model returned them, apart from removing spaces at the ends of lines. All 8 final runs with this prompt and these inputs passed the automatic checks (the greeting, the running-late sentence with the name and arrival time, the reason, the contact line and the opt-out line copied exactly, each part on its own line, no blank lines, no other numbers, times or days, no invented delays, traffic, discounts, refunds, prices, promises to text again or reply-to-confirm requests, no repeated sentences) and a manual read. We ran the same prompt for 8 runs each on five other fictional businesses: an HVAC company on the way with a named technician and its own opt-out wording, a painter on the way with no name, no reason and no opt-out line, an electrician running late with a reason and no name, a roofer running late with no reason and no opt-out line, and a lawn care company running late with a longer arrival phrase. All 40 passed both checks: the model picked the right sentence each time, only said sorry when running late, and left out every part marked "none". The runs were word for word the same, because the model mostly fills the layout with your own words, so the text is only as good and as true as the arrival time you give it. An earlier batch with the same prompt (4 runs each on the example business and four of the others) also passed, 20 of 20. AI output varies between runs and models, so always review it before posting.

Check before you post

  • The arrival time is one you can actually keep. If you are not sure, give a window, not a single time. The AI copies whatever you type and never works it out for you.
  • If you are running late, send the text as soon as you know, not when the original time has already passed.
  • The reason is true and short, or set it to "none". Do not let anyone add traffic or other excuses that did not happen.
  • The name of who is coming is right for today, in case jobs were swapped between people.
  • The contact line names a way that someone actually answers, and the phone number is copied exactly.
  • Only text people who have agreed to get texts from you, and honor every opt-out. Check what your texting or dispatch software already sends, such as its own on-the-way alert, so the customer does not get two.
  • Before you switch it on, send yourself a test text for both situations and read exactly what arrives on your phone.
Local Business AI Prompt Pack

Get the full set of local business prompts.

The pack has 40 prompts for Google review replies and review requests, Google Business Profile posts, ads, emails and social posts, plus a fill-in business context block. One-time purchase, $24.

Related tools

Zernio in the Digidle directory is one API for SMS, WhatsApp and social posts if you want to send texts like this from your own software. Retell AI builds AI phone agents, if you want calls answered by an agent. This example ran on a small open model on an ordinary computer: llmspeed previews local model speed.

All daily prompts

Newsletter

Weekly AI tools and jobs, free.

New AI and developer tools worth a look, plus hand-picked openings from Digidle Jobs. One email a week. No spam.

Free audit · 4 quick steps

What do you need most?

Step 1 of 4 · Your business

What kind of business is it?

Score my website first

Free audit

Let's look at your business.

Six quick questions. We review your Google profile, reviews, website and reply speed, then send you the audit by email.

Your audit arrives within 24 hours. Privacy policy