It happens. Traffic. A previous job ran long. Equipment broke down. A crew member called in sick. Whatever the reason, you're running late to an appointment. Your client has blocked time. They're waiting. They're checking the clock. Now you've got a narrow window to handle this professionally and keep their trust intact. A good message in the next 5 minutes can save a job. A poor response or no response will kill it. Here's exactly what to say.
Running late isn't a character flaw. It's a reality of fieldwork. The electrician before you isn't on schedule. Traffic was worse than expected. An emergency call came in. The difference between contractors who keep clients and those who lose them isn't whether they're ever late—it's how they handle it when they are.
Most contractors go quiet when they're running late. They hope it doesn't matter. They hope the client doesn't notice. They text way too late when the client is already frustrated. You're going to be different. You're going to communicate proactively, honestly, and early. This builds trust instead of destroying it.
The moment you realize you're not going to make the scheduled appointment, contact the client. Not in 15 minutes when it's more obvious. Right then. If your scheduled time is 10 AM and you're realizing at 9:30 AM that you won't make it, contact them at 9:31 AM. Early notification is the biggest factor in keeping a client calm.
For minor delays (5-10 minutes), text is fine. For bigger delays (30+ minutes), call. Your voice matters when the delay is significant. It shows you're taking it seriously and not just sending a generic message.
"Hey [Name], I'm running about 10 minutes behind. Still heading your way. Thanks for being flexible."
"Hi [Name], I wanted to call to let you know I'm running about 45 minutes late. Previous job ran over. I'm heading your way now. Is that time still okay?"
Don't lie about timing. If you're 45 minutes out, say you're 45 minutes out. If it might be an hour, say an hour. Clients hate surprises more than they hate delays. A realistic timeline they can plan around is so much better than an optimistic one you miss.
Also, add 5 minutes to your realistic estimate. If you think you'll be there in 45 minutes, tell them 50. This gives you a small buffer and the bonus of arriving slightly earlier than promised. People remember contractors who arrive ahead of their stated time.
"I'm about 50 minutes out right now. There was a lot more to the previous job than expected."
"I'll be there soon. Just running a little behind traffic."
Say you're sorry once. Not three times. One genuine apology. Then explain briefly what happened—one sentence, not a paragraph. Clients don't want to hear all the reasons. They just want to know you're aware the delay matters and you're addressing it.
"I sincerely apologize for the delay. The commercial job this morning took longer than I expected, but I'm on my way now."
"I'm so sorry, I'm really sorry, I apologize for this. The previous job took forever because the homeowner kept adding stuff, then traffic was terrible, and I couldn't find a parking spot. Really, really sorry about this."
The bad version makes it sound like you're making excuses. The good version owns it and moves forward. Professional but human.
Ask if the new time still works. Don't assume. A client might have adjusted their day, and pushing the appointment could actually help them. Giving them control and asking is respectful. It also gives them an out if they need to reschedule.
"I know that's not ideal. Does arriving around 10:30 still work for you, or would you rather reschedule for another time?"
This approach does two things: It shows respect for their time, and it prevents them from feeling trapped or resentful. If they do agree to the later time, they've chosen it, which changes their mindset.
When you finally get there, don't sit in your truck for 5 minutes. Don't take a break. Get out and start working immediately. Be efficient, professional, and focused. Show them that your lateness was unusual, not typical. Great work delivered after a delay can actually build more trust than perfect timing with mediocre work.
Also, a simple "Thanks again for being flexible" when you arrive acknowledges the adjustment they made. It's a small thing that goes a long way.
Text: "Hey [Name], I'm stuck in traffic and it's slowing me down. I'm still heading your way. I'll text you in 5 minutes with a clearer update on when I'll arrive. Thanks for being patient."
This buys you time without lying. Follow up in 5 minutes with a real ETA once you have better visibility.
Text/Call: "Hi [Name], I got an emergency call from another customer while I was heading to you. I'm handling it now but it'll push me about 40 minutes behind. I can still make it to you, or we can reschedule if that doesn't work. What's better for you?"
Honesty about emergencies is respected more than vague delays. People understand emergencies happen in construction.
Call Them First, Then Confirm via Text: "Hi [Name], I wanted to be straight with you—I'm stuck and I'm going to be over an hour behind our scheduled time. That's too long to ask you to wait. Would you rather I reschedule this for another day when I'm not playing catch-up?"
An hour is a lot of wasted time. Offering to reschedule shows respect and often prevents resentment. Many clients will actually say, "No, I can wait," but knowing they have the choice makes a difference.
Text: "Hey [Name], one of my team members called in sick this morning, which is throwing off my schedule. I'm still coming to you, but I'll be about 30 minutes late. I apologize for the disruption."
Crew shortages are legitimate and relatable. Clients understand staffing issues.
Text: "I'm running behind because the job before you needed more work than expected. I'm heading to you now and should be there by [TIME]. Sorry for the delay."
This is honest and relatable. Contractors deal with surprises all the time. Being upfront about it is respected.
If you're significantly delayed and the wait is long, don't just contact them once. Update them. Every 15-20 minutes of a major delay, send a quick status text. This shows you haven't forgotten about them and gives them confidence you're actually coming.
Initial Contact: "I'm running about 50 minutes late due to the previous job. Really sorry."
20 Minutes Later: "Still on track for about 30 minutes out. Thanks for being patient."
10 Minutes Before Arrival: "Just leaving [nearby landmark], about 10 minutes away."
This frequent communication keeps them informed and shows you're organized, even if you're late. It changes their perception of the situation.
The moment you know. The moment you realize you won't make your scheduled time, contact them. Early notification is everything. A 15-minute heads-up when you're 30 minutes away is better than finding out at the scheduled appointment time.
Say you're sorry, give one honest reason in one sentence, and move to the solution. Don't list multiple reasons—that sounds like excuses. 'I apologize for the delay. The previous job ran long. I'm heading your way and should be there by 2 PM.' Clean and professional.
Call them, not text. An hour is a lot of time. Explain the situation and offer to reschedule. 'I'm stuck and going to be over an hour late. Would it be better for you if we rescheduled for another day?' Giving them control prevents resentment.
Communicate frequently. One message isn't enough for major delays. Text or call every 15-20 minutes with a real update. 'Still on track for 20 minutes' or 'Just turned on your street.' Specific information and frequent updates calm people down.
Crafting the right message when you're stressed and running late is hard. OnToolsAI generates professional, honest delay notifications in seconds—so you can focus on getting to your appointment.
Generate Your Message Now