All articles
Bid strategy

How to follow up with subcontractors on a bid without being annoying

A four-touch follow-up cadence for a three-week bid period, the wording for each touch, when to phone instead of email, and the one rule that keeps subs from resenting you.

Short answerFollow up only the people who haven't answered, three or four days after the invitation, with a two-line email that says no is fine. Phone the trades you depend on around day ten.

Look at it from the subcontractor's side for a moment. A GC who follows up is a GC who cares whether they bid. A GC who sends one invitation and then goes quiet probably has six other bids on that trade and won't notice if yours never arrives. Follow-up doesn't read as pressure when it's done properly. It reads as "you matter to this bid," and subs respond to that.

The one rule

Never follow up with someone who has already answered.

That's it. That's the rule. And most estimators break it, because the easy way to follow up is to re-send to the whole list. So the sub who said "bidding" on day one gets "just checking if you're bidding" on day four, and what they learn from that is that your emails don't need reading, because they'll come again anyway. Do it twice and they skim everything you send for the rest of the year.

The whole skill of following up is knowing who has responded and leaving them alone.

The cadence for a three-week bid

WhenWhoWhat
Day 0Everyone on the scopeInvitation
Day 3 or 4Non-responders onlyFirst follow-up, email, two lines
Day 8 to 10Still silentSecond follow-up, different wording; phone the trades you need
Day 15 to 17"Bidding" subs onlyConfirmation: "still good for Friday?"
Bid day, 10 AM"Bidding" with no numberPhone call

Four touches over three weeks, and nobody gets all four unless they've ignored every single one.

The wording

Each touch should be shorter than the last and should sound different. The same email three times is exactly what annoys people.

First follow-up, day 3 or 4:

Subject: Re: Invitation to bid, Div 23 HVAC: Riverview Apartments (due Oct 16)

Hi Marcus,

Quick check-in: are you planning to bid the HVAC on Riverview? Due Friday the 16th at 2. A one-word reply is fine, and no is a perfectly good answer.

[Name]

"No is a perfectly good answer" is the most important sentence in this whole article. It gives the sub permission to decline, and a decline turns silence into information you can act on.

Second follow-up, day 8 to 10:

Hi Marcus,

Making sure this reached you, since I haven't heard back. If HVAC on Riverview isn't a fit right now, just say so and I'll stop bothering you. If you're in, great, and shout if anything in the documents is unclear.

[Name]

Different tone. Acknowledges you've asked before. Offers a way out.

Confirmation, day 15 to 17, to "bidding" subs only:

Hi Marcus,

Still on for Friday at 2? Addenda 1 and 2 are out; let me know if you need anything.

[Name]

This one isn't chasing. It's a courtesy that catches the sub who got buried, and it quietly confirms they've seen the addenda without making a thing of it.

When to phone instead

Email is fine for most of the list. For the trades your bid actually depends on, the second follow-up should be a call, because a call tells you why. And the why is usually one of four things.

"Yeah, we're on it, meant to reply." Mark them bidding and move on.

"We're swamped, probably not." Mark not bidding, invite one more.

"We didn't get anything." Your email went to spam, or to someone who left the company six months ago. Fix the contact. (Why this happens more than you'd think.)

"Which one's Riverview?" They got it and didn't read it, and your subject line needs work.

Any one of those is worth more than a fourth email.

Following up on a "maybe"

A maybe is a sub who's interested but unsure, and the uncertainty is usually about one specific thing: capacity, scope, schedule. Ask what would tip it. You'll get an answer like "if the mechanical room gets clarified" or "depends whether we land the hospital on Tuesday." Then follow up on that thing, on the day they mentioned. That's a follow-up they'll appreciate, because it shows you were listening.

What to do with a "no"

A decline early in the round is a gift, not a failure, and it should be handled like one.

Mark it, with the date and the reason, and don't delete the row, because you want to know they were asked. Fill the slot the same day if it's a major trade. Note the reason on the trade list ("won't travel to Brandon," "doesn't do wood frame") so the filter saves you an invitation next time. And don't argue with it. Trying to talk a sub out of a no teaches them that declining costs a negotiation, and next time they'll just go silent instead.

Three ways to ruin all of this

Following up the whole list, which is the habit that trains subs to ignore you. Manufactured urgency: "URGENT: please respond" on day 4 of 20 is crying wolf, and you'll want that word later for a bid date change. And chasing and then disappearing. If a sub replies with a question and you take two days to answer it, your urgency was fake and they now know it.

What makes this manageable at scale

None of this is hard for one scope. It's a lot for twelve scopes and ninety invitations, and that's where follow-up usually dies: the estimator can't see who has and hasn't responded, so they either blast everyone or follow up nobody.

The fix is per-person tracking that's actually current. A spreadsheet with a status column, updated before every reply, will do it. Invite All does it automatically, recording the Bidding / Maybe / Not bidding click for each contact and handing you the non-responders per scope, which is the one list this entire article depends on. We think it's the easiest way to run this cadence without a spreadsheet. But the cadence, the wording and the one rule work with whatever you track in.

Read next

Sending invitations by hand?

Invite All sends a tracked invitation to every trade on a scope from your own inbox. Four quick taps to see if it fits your team.