The driveway nobody showed up to
It’s 2:15. Your one-to-three window is halfway gone and you’re still elbow-deep in a job across town that went sideways. Meanwhile the customer waiting on you took the afternoon off work, and right now they’re staring at an empty driveway wondering if you forgot them. You didn’t. But they don’t know that, and that’s the whole problem.
The delay isn't what makes them angry
Most people are reasonable about a contractor running behind. Stuff happens. The last job ran long, a part wasn’t where it should’ve been. What they can’t stand is sitting there blind. Every minute past the window with no word, their head fills in the blank, and it never fills in with something generous.
They decide you’re disorganized. They decide you don’t care. By the time you roll up with a perfectly good reason, they’ve already written the one-star review in their head. The delay is a fact. The anger is a story they tell themselves while they wait, and you control that story by opening your mouth.
Tell them before the window closes, not after
The rule is simple. The second you know you’re going to be late, you say so. Not once you’re already late. Before. If your window ends at 3 and at 2 you can see there’s no way, that’s the moment the text goes out. You’ve just turned “this guy’s a no-show” into “okay, he’s on it, he just got held up.” Same delay, completely different customer.
The heads-up only works if it beats the clock. A text that lands at 3:20 saying you’re running behind is worthless, because they already knew. What they wanted was a warning while they could still do something with it: grab lunch, make a call, not burn an hour at the window for nothing.
Give them a real time, not "soon"
When you do reach out, skip the vague stuff. “Running a little behind” tells them nothing and somehow lands worse. Give a new time and pad it. If you think you’ll be there by 4, say 4:30. Beat your own estimate and you look like the hero who hustled. Miss a second time and you’re buried.
A good message is short and carries three things: you’re late, here’s the new time, and a quick why so it doesn’t read like a pattern. “Hey, the job ahead of you ran long, I’m going to be closer to 4:30 than 3. Sorry for the wait, I’ll text when I’m 20 out.” That’s the whole thing. No groveling. One apology, a plan, done.
“The delay is a fact. The anger is a story they tell themselves while they wait.
The big delays need a heads-up too
Not every delay is a late arrival. The part’s backordered two weeks. The permit’s stuck at the county. A job you quoted as two days is clearly going to be four. These sting more, because the customer has been counting on a finish date and maybe lined up other trades around it.
Same rule, longer fuse. The day you find out, they find out. Don’t sit on bad news hoping it fixes itself, it won’t, and the longer you wait the more it looks like you were hiding it. Tell them what changed, what you’re doing about it, and the new date. People will forgive almost any delay if you’re straight with them early. What they won’t forgive is finding out on the morning the thing was supposed to be finished.
Where ToolbagCRM fits
Delays go unspoken not because you don’t care. It’s that when you’re buried on one job, texting the next customer is the thing that slips. ToolbagCRM keeps the day’s jobs and every customer’s number in one place, so a heads-up is a couple of taps from the truck instead of a dig through your phone. “On my way” and “running late” texts can fire on a schedule or with one tap, and the whole crew works off the same flat price, office and field, with no per-seat charge. Founders pricing is $99/mo for your first three months, then $150/mo locked for the life of the account.
A warning they can still use beats an apology sent after they already figured out you weren't coming.
Say 4:30 if you think 4. Beating it makes you look good; missing twice after a warning sinks you.
One apology and a plan. No long excuse, no groveling. They want the new ETA, not your life story.
Backordered parts, a stuck permit, a job running long. Bad news ages badly, so send it early.
'I'll text when I'm 20 out' only buys goodwill if the 20-out text really shows up.