Foreman AI icon Foreman AI icon Foreman AI

Subcontractor bidding

Bid Invites

Tell Foreman AI what trade you're buying out. It builds the package, sends the invites, tracks every sub, scores the bids, and helps you award the winner.

Bid Invites is the full subcontractor bidding system inside Foreman AI. Instead of stitching together email blasts, spreadsheets, and follow-up calls, you describe the trade you need bought out — scope, exclusions, requirements, payment terms, due date — and Foreman AI builds a structured bid package, sends every sub a private magic-link portal, watches their activity, scores the responses on a 0–100 algorithm, and lets you award with one click.

Step-by-Step: Sending Your First Bid Invite (GC)

Click-by-click walkthrough using the actual buttons inside the workspace. There are two ways to do every step — by clicking, or by telling Foreman AI in chat. Pick whichever is faster for you.

1

Open the project workspace. Go to foremanai.co/plans, click the project you want to bid out, and wait for the workspace to load. The workspace has a plans viewer on the left and the AI chat on the right.

2

Open the Bids tab. In the workspace tab strip near the top, click Bids. The Bids panel slides open with a package list on the left and a detail area on the right. The header shows "0 packages" until you create one.

3

Create a new package. Click the green + New Package button in the top-right of the Bids panel. The detail area swaps to the New Bid Package form.
Or in chat: "Create a plumbing bid package for this job." Foreman builds the package automatically and skips you to step 8.

4

Fill in the basics. Type a Package Title (e.g. Plumbing Rough-In + Finish), pick a Trade Category from the dropdown (Concrete, Framing, Roofing, Electrical, Plumbing, HVAC, Drywall, Painting, Flooring, Insulation, Excavation/Grading, Masonry, Windows & Doors, Landscaping, Fire Protection, or Other), set the Bid Due Date, and enter a Job Location (a city + state like "Hartsel CO" or a full address — pick a suggestion for an accurate map pin). Leaving the location blank uses the project address.

5

Write the scope. Type a Scope Description (free text). Then click + Add Scope Item as many times as you need — each scope item is a single line subs will check off (e.g. "Rough-in plumbing for all fixtures shown on P-101 to P-105"). Subs see this as a structured checklist, not a wall of text.

6

Add requirements. Type free-text Requirements if you want, then click + Add Requirement to add structured items. Each one has a type — Insurance, License, Bond, Safety Certification, Qualification, or Other — and a label. Subs verify each one before they can submit.

7

Set payment terms and pick plan sheets. Type Payment Terms (e.g. "30% mobilization, 60% rough-in, 10% retainage"). Under Attached Plan Sheets, check the boxes for the sheets the sub needs — or click Select all, Clear, or Apply to all packages to copy your selection across every bid package on this job.

8

Save the package. Click Save Draft to keep it private, or Save & Send Invites to move directly into inviting subs. Drafts appear in the package list with a Draft badge. Active packages show Active.

9

Invite subs. Open the package from the list. In the detail panel, paste in emails, type names and companies, or pick subs from your Sub Book. Click Send Invites. Each sub gets a unique magic-link email immediately.
Or in chat: "Invite Joe at joes-plumbing@example.com and Mike at mikep@example.com to the plumbing package."

10

(Optional) Post to the public Job Board. Click 📌 Post to Job Board on a package — or 📌 Post All to Job Board in the Bids header — to publish it on the public Leaflet map at the job-site address so any local sub in that trade can discover it and request to bid.

11

(Optional) Share to Facebook. Click Share to Facebook to push the package to a Facebook group — useful for trade-specific community groups in your area.

12

Watch the package fill. Open the package detail. You'll see every invited sub with their status (sent / viewed / submitted / declined), view count, last-active timestamp, AI-engagement count, and message-thread badge. Submitted bids show a 0–100 score with a color-coded ring badge.

13

Message a sub for clarifications. Click any sub in the package detail to open their thread. Type a question, click Send. The sub sees it in their portal and a notification email. Their reply shows back here with an unread badge.

14

Extend the deadline if you need to. Click 📅 Extend Deadline in the detail-action bar to push the bid due date out. The new date applies to every invited sub.

15

Award the winner. In the package detail, click Award next to the bid you want. A confirmation modal shows the winner, total price, and what happens next. Click Confirm Award. The winner's status flips to awarded, all other invitations flip to rejected, and a polite auto-decline email goes to the losers — by name and project. A pre-filled contract is generated from the package and the winning bid.
Or in chat: "Award Mike's plumbing bid. Send the contract with a deadline of June 15."

16

Close the package. Click Close Bidding when you don't want any new submissions. You can also Unaward if you change your mind, which restores all bids to their previous state.

Step-by-Step: Receiving and Submitting a Bid (Sub)

Send this to subs who've never used Foreman AI before. The full submission takes 5–15 minutes depending on how detailed they want their breakdown.

1

Open the invitation email. Subject line says "You've been invited to bid" with the project name and trade. The email shows the GC's company, the trade, the due date, and a green View Bid Package button.

2

Click View Bid Package. The link opens a sub-only view of the project. No login, no account, no password required. The link is unique to that sub — it cannot be forwarded to another bidder.

3

Review the scope and requirements. The portal shows the scope of work, structured scope items, exclusions, requirement items, payment terms, and due date. The plan sheets the GC attached are visible in the side panel — clicking any sheet opens the full-size drawing with zoom and pan.

4

Ask the AI estimator questions. Open chat in the sub portal. Foreman AI is scope-locked to this bid — it knows it's helping a sub price this trade on these plans. Examples: "Take off the linear feet of 4-inch sanitary line on this floor" or "What plumbing fixtures are spec'd in the bid set?"

5

Start the bid wizard. Click Start Bid Wizard. The wizard walks the sub through every scope item and every requirement item one at a time, with a progress bar. Each step asks "Can you do this? Yes / No / With clarification."

6

Let AI fill the bid form (optional). Tell Foreman in chat: "Fill out the bid form for me — price the rough-in plus finish, give me a 14-day timeline, and add line items." The AI fills the entire form in one shot — total price, line-item breakdown, timeline in days, and notes. The sub reviews and edits anything before submitting.

7

Enter price and breakdown. Type a Total Price. Click + Add Line Item for each component (e.g. Materials, Labor, Equipment, Permit Fees). Add a Timeline in Days and any Notes or assumptions. Drag-and-drop attachments — quotes from suppliers, spec sheets, schedules — directly onto the form.

8

Drafts auto-save. The wizard saves automatically as the sub types. They can close the tab on their phone, open the same magic link on a desktop later, and pick up exactly where they left off.

9

Submit. Click Submit Bid. The sub gets a confirmation page and a confirmation email. The GC's bid board lights up with the new submission and the 0–100 score appears immediately.

10

Decline if it's not a fit. Click Decline this bid if the sub isn't going to bid. The GC sees a clear "declined" status and stops following up. Way better than ghosting.

11

Message the GC. The portal has a message thread tied to the invitation. The sub can ask scope questions, request clarifications, or send revised numbers — all in one place.

12

Sign the contract if awarded. If awarded, the sub gets a sign-link email. They click it, type their name, draw a signature on phone or desktop, and the contract is executed.

The 30-Second Summary

Six pieces, one conversation. The whole bid-out flow lives in chat — package creation, sub list, sending, tracking, scoring, awarding.

1

Tell Foreman the trade you're buying out

Open a job in your workspace and tell Foreman AI in chat what you want bid. Be as loose or as detailed as you want — Foreman fills in the structure for you.

"Create a plumbing bid package for this job. Scope is rough-in plus finish. Exclude gas piping and fire sprinkler. Require a $1M general liability and active workers comp. Payment is 30% mobilization, 60% rough-in, 10% retainage at final. Due Friday at 5 PM."

Foreman creates the package with a structured scope list, structured requirement items (insurance, license, bond, safety certs, qualifications), payment terms, due date, and the relevant plan sheets attached.

2

Add the subs you want to bid

Tell Foreman who to invite, paste in a list of emails, or pick from your Sub Book (your saved preferred-subs list per trade). You can also bulk-import subs from a CSV.

"Invite Joe at joes-plumbing@example.com, Mike at mikep@example.com, and the three plumbers I used last quarter."

3

Each sub gets a private magic-link portal

Foreman sends each sub their own unique link. They click it and land on a sub-only view of the project that shows the scope, exclusions, requirements, payment terms, due date, and only the plan sheets you chose to share. No login required to view, no Foreman account needed to submit.

4

Subs estimate with their own AI assistant

Inside their portal, the sub has a scope-locked AI estimator that knows it's helping a sub price a specific trade on this set of plans. They can ask questions, get quantities, and have the AI fill the bid form for them — line-item breakdown, total price, timeline in days, and notes.

5

You watch the leaderboard fill in real time

Back in your workspace, the Bid Invites tab shows every sub's status — sent, viewed, drafting, submitted, declined — with view counts, last-active timestamps, and AI engagement stats. Once bids start coming in, every submission gets a 0–100 score sorted best-first.

6

Message, award, and move on

Message any sub in-thread for clarifications. When you're ready, click Award next to your winner. The losing bidders get a polite auto-decline email. A contract pre-fills from the package and the winning bid for e-signature, and the job moves into execution.

Build a Bid Package by Talking to Foreman AI

Every field in a bid package can be created or edited by chat. You never have to fill out a form unless you want to.

Title and trade category

Foreman picks a sensible title and trade tag from your description. You can override either by saying "Change the title to Site Concrete – Phase 1" or "Tag it as Concrete instead of Sitework."

Structured scope items

Scope is stored as a structured list, not one giant paragraph. Each scope line has a description and optional details. Tell Foreman "Add a scope item for excavation and backfill of all interior plumbing trenches" and it appends it. Subs see the scope as a clean checklist.

Exclusions and clarifications

Tell Foreman what's not in this scope and it adds it to the package. Clear exclusions up front kill change-order arguments later. "Exclude permit fees, dumpsters, and any rock excavation."

Structured requirement items

Requirements are typed, not free-text. Each requirement has a type — insurance, license, bond, safety certification, qualification, or other — and a label. Subs respond to each one specifically. "Require $2M aggregate GL, active state plumbing license, and OSHA 30."

Payment terms

Payment terms live on the package as their own field so subs can read them up front. "Payment is monthly progress billings net 30 with 10% retainage held until substantial completion."

Due date

Set a hard cutoff. Foreman uses it to schedule reminders and to time-stamp the responsiveness score. "Bids due by Friday May 17 at 5 PM."

Plan sheets shared with subs

You choose which sheets the sub sees. The plumbing sub does not need the structural set. Tell Foreman "Share only the plumbing sheets and the architectural floor plans" and the sub's portal shows just those.

Spanish translation built in

The whole package — title, scope items, requirement items, trade category — can be auto-translated and cached on the package. Spanish-speaking subs see the entire portal in Spanish.

Standalone or attached to a job

Bid packages can live inside a project workspace or stand alone with a job-site address pinned to a public job board. The board is optional — you decide whether to publish.

Real-Time Sub Tracking

From the moment you click send, every sub's behavior shows up on your bid board. You'll know who's serious, who's ghosted, and who's still on the fence — without sending a single follow-up email.

SentEmail left and the sub's magic link is live.
ViewedSub clicked the link and opened the portal. Tracks total view count and last-active timestamp.
DraftingSub started filling in the bid wizard. Their progress auto-saves so they can pick up on a different device.
AI engagementCounts how many questions the sub asked their estimating AI. Engaged subs ask questions.
SubmittedBid is in. Total price, line items, timeline, notes, and any attachments are visible to you.
DeclinedSub formally passed so you stop waiting on them.
MessagesTwo-way thread per sub. Unread messages show a badge until you open the thread.
Awarded / RejectedFinal state once you pick a winner. Losers are notified automatically.

The 0–100 Bid Scoring Algorithm

Every submitted bid is scored across four weighted dimensions. The score doesn't pick for you — it stack-ranks the bids so the choice gets obvious fast.

DimensionMax pointsHow it's earned
Price 35 Lowest bid earns the full 35. Every other bid is scaled linearly off the spread between the low and high. If everyone bids the same price, everyone gets 35.
Completeness 35 Up to 10 points for a real line-item breakdown, 5 for substantive notes / clarifications, 5 for committing to a timeline in days, 5 for attachments (their own quote PDF, spec sheets, schedules), 5 for a real price, 5 for revising the bid after engagement. Anti-napkin-bid filter.
Responsiveness 20 Time between when you sent the invite and when they hit submit. Fastest sub gets 20, slowest gets close to 0, everyone in between scales linearly. Speed = hunger.
Engagement 10 Multiple page views (came back to study the plans), questions asked to the AI estimator, and back-and-forth messages with you in the thread. Engaged subs are easier subs to manage on the job.

Score labels

Excellent 80–100 · Strong 65–79 · Solid 50–64 · Weak below 50. Hover any score badge to see the four-component breakdown.

Sortable by anything

Sort by score, raw price, time submitted, or company name. The score is a recommendation, not a forcing function.

Why the cheapest bid often loses

A score of 88 that's 5% higher than a 62 usually means the higher bidder actually read the plans, itemized their work, and is less likely to hit you with change orders on day three. The math makes that visible.

Apples-to-apples

Because every sub answered the same structured scope items and structured requirement items, the price comparison is genuinely comparable — not three subs interpreting a paragraph three different ways.

Message Subs In-Thread

Every sub has their own private message thread tied to the package. No more lost text messages or buried email replies.

One thread per sub

Each invitation has its own thread. Conversations stay organized and tied to the bid package they belong to.

Unread badges

New messages from a sub show an unread indicator. The first time you open the thread, the sub's messages are marked read — and vice versa for the sub's view.

Clarifications without scope drift

Use the thread to answer scope questions. If you decide a clarification applies to everyone, tell Foreman "Add a clarification to the package: rock excavation is excluded" and it updates the package for all subs.

AI can help draft replies

Ask Foreman to draft a response to a sub's question and it pulls context from the plans, the package, and the conversation so far.

Award With One Click

Pick the winner. Foreman handles the rest of the close-out automatically.

One-click award

Click Award next to your winner. Their status flips to awarded, all other bidders' statuses flip to rejected, and a polite auto-decline email goes to the losers — by name, with the project they bid on.

Unaward if you change your mind

If you need to reverse course, the unaward action restores all bids to their previous state so you can reconsider.

Auto-pre-filled contract

A contract is generated from the package scope and the winning bid — title, scope text, total price, deadline date, and the signing parties. The sub gets a sign-link email with the option to type their name and draw a signature on phone or desktop.

Trade is bought out

Once the contract is signed, the trade is locked into the project budget and the sub's win-rate stats update on their sub profile (total bids, total wins).

Sub Book and Sub Profiles

The subs you've worked with stay organized. The subs who bid on Foreman build a track record you can see.

Your private Sub Book

Every sub you invite gets remembered. Foreman organizes them by trade so when you say "Invite my preferred plumbers," it knows who that is.

Bulk import from CSV

If you already have a sub list in a spreadsheet, import it once. Foreman maps name, company, email, phone, and trade.

Sub profile fields

Trade, additional trades, license number and state, insurance on file, service area, hourly rate, bio, years of experience.

Win-rate stats

Each sub profile tracks total bids submitted and total awards won across the platform. You see at a glance whether a sub is competitive or chasing volume.

Public job board (optional)

Flip a single switch to publish a package to the public job board with a Leaflet map pin at the job-site address. Local subs in your trade can discover and request to bid. You still control who actually gets a magic link.

Subs grow into the platform

Every sub you invite gets a free, scope-locked workspace tied to the bids they've been invited on. Over time, they build their own profile, win-rate, and history — and become more useful to find next time.

What the Sub Experiences

Bid Invites is sub-friendly on purpose. The easier it is for them, the more responses you get.

1

Email arrives

Sub gets a clean invitation email with the project name, trade, due date, and a button to view the bid.

2

Magic link opens portal

One click — no login, no account, no password. They land on a sub-only view of the project with the scope, exclusions, requirements, payment terms, due date, and only the plan sheets you shared.

3

Mobile-friendly bid wizard

The bid form works on phone, tablet, and desktop. Drafts auto-save and sync across devices, so the sub can start on their phone in the truck and finish at their office desktop.

4

Their own AI estimator

The sub gets a scope-locked AI assistant that helps them estimate. It can fill the entire bid form in one shot — total price, line-item breakdown, timeline, notes — based on the plans and scope they're bidding.

5

Submit, decline, or revise

Subs can submit, formally decline (so you stop chasing them), or revise their bid after submission if you ask a clarifying question.

6

Spanish if they need it

If the sub's browser is set to Spanish, the entire portal — scope items, requirement items, UI strings — renders in Spanish automatically, with the translation cached so it's instant.

Things You Can Say to Foreman

Bid Invites is wired into Foreman's chat tools end-to-end. Here are the commands real GCs use.

Create a package

"Create a framing bid package. Scope is wood framing for the entire shell, exclude metal framing and acoustic ceilings, require $1M GL and active state contractor's license. Due next Wednesday."

Edit a package

"Add a scope item for installation of pre-fab wall panels. Move the due date to Friday. Add a clarification that all dumpsters are by GC."

Send invites

"Invite Joe at joes-framing@example.com and Mike at mikeframes@example.com. Also invite all my preferred framers."

Add an email later

"Also add taylor@taylorframing.com to the framing package."

Compare bids

"Show me the framing bids ranked by score. Which ones are missing a line-item breakdown?"

Ask about a specific bid

"What's in Mike's bid that Joe's is missing? Is anyone bidding without insurance on file?"

Draft a clarification reply

"Draft a reply to Mike's question about the floor sheathing thickness. It's 3/4 inch T&G — check the structural notes."

Award the winner

"Award Mike's framing bid. Send the contract for signature with a deadline of June 15."

Details and FAQ

Quick answers to the questions estimators and PMs ask first.

Do subs need a Foreman account?

No. The magic link opens the portal directly. Subs can submit a full bid without ever creating an account. If they want their own dashboard, they can sign up free and their bid history follows them.

Can subs see other subs' bids?

No. Each sub's portal is isolated. They cannot see who else was invited, and they cannot see anyone else's price.

Can I share only certain plan sheets?

Yes. Pick which sheets each package references. Subs only see the sheets you attach to their package.

What if I send a package and want to edit it?

You can edit the scope, requirements, payment terms, due date, and shared sheets at any time. Subs see the latest version in their portal. If you want to flag a material change, send a thread message so they re-review.

What if a sub doesn't open the email?

Their status stays at sent. You can resend the invite, message them in-thread, or move on. The bid board shows you who's silent so you can follow up surgically instead of blasting everyone.

How is this different from sending a bid out by email?

Email gives you no visibility, no structure, no scoring, no contract, no win-rate, and no way to award without a separate flow. Bid Invites does all of that in one place.

Can I run a public open call instead of a private invite list?

Yes. Flip the package's public job board switch and any sub on Foreman in your trade can discover the project pin on the map and request to bid.

What languages are supported?

English and Spanish at the package level today. Translations are cached so the sub's portal renders instantly in their preferred language.

Run your next bid out through Foreman.

Open a job, tell Foreman what trade you're buying out, and watch the bids come in scored and sorted. No spreadsheets. No email follow-up chains. No mystery about who's actually engaged.