Stage complete — one send, once

Finishing a stage sends the customer a progress update and the team a notification — exactly once, no matter how many devices saw it happen.

The operating system for post-frame and barndominium builders.

What it is

One routine handles everything that follows a stage finishing: the customer's progress email, the internal notification, your own stage rules, and the sign-off on the last build stage. The send is claimed once, so a second device finds it already taken. Reopening a checkpoint gives the claim back. It is built for post-frame and barndominium builders, so the customer hears about stages they recognise — post set, trusses, steel on — named the way your crew names them.

Also called: customer progress email · stage finished notification · got the same email twice

See it, piece by piece
01

The customer gets one message per stage, from however many devices saw it finish

Two people in the office had the same job open, both ticked the last checkpoint, and the customer got the same progress email twice. Neither browser was wrong — each was correct about what it had seen, which is why no check inside a browser could ever fix it. The send is claimed once now, centrally: whoever gets there first owns it and everyone after finds it taken. A retried save that looked stuck behaves the same way.

Build Progress
Build Progress
PermittingCompleted
4/4
Dirt WorkCompleted3
4/4
ConcreteCompleted5
6/6
MaterialsCompleted
4/4
F
FramingIn Progress4
3/6
Post Set
Completed August 6, 2026
Girts Done
Completed August 11, 2026
Equipment on Site
Completed August 14, 2026
Trusses Up
Bracing Complete
Framing Inspection
Photos (4)
Jobsite progress photo
Jobsite progress photo
Jobsite progress photo
Jobsite progress photo
S
Siding & RoofingPlanned
0/6
$
Final PaymentPlanned
0/5
What the customer sees on the other end — their phase list with completion dates. Real screen · sample data.
Without it

Two coordinators clear the framing checklist inside the same minute, the homeowner gets "Framing is complete" twice, and rings to ask whether something has gone wrong.

Why we built it

The customer trusts an update that arrives once; a doubled email makes them wonder what went wrong. The send is claimed in one central place before anything leaves, so whichever device gets there first owns it and every other one stands down — two people can tick the same box and the customer still hears once.

02

You can read the message before a stage ever finishes

The update is not written by whoever ticked the box. It is one stored message with your wording, your logo and their first name in it, and it sits in Email Studio beside every other email this software sends on your behalf, rendered the way the customer will receive it.

Email Studio
Business InfoBrand CenterEmail Studio

Email Studio

Every email the platform can send, rendered on your brand. Click any to preview full-size across devices. Change the look in the Brand Center.

Customer-facing 14Your stages 5Team & internal 7Platform 2
RIDGELINEPost Frame
Your estimate is ready
Project40×60 Barndominium
Total$48,250.00
View your estimate
Estimate ready
Customer's estimate is ready to review
Subject: Your estimate for 40×60 Barndominium is ready
RIDGELINEPost Frame
Please review & sign
Review & sign
Contract to sign
Asks the customer to review & sign
Subject: Please review & sign your contract for 40×60 Barndominium
RIDGELINEPost Frame
Foundation is complete
See your project
Project stage update
A build stage was completed
Subject: Update on 40×60 Barndominium: Foundation complete
Every customer message, on your brand, before it is ever sent. Real screen · sample data.
Without it

Nobody in the company has ever read the email that goes out in their name, so the first time the owner sees it is when a customer forwards it back asking what "dry-in" means.

Why we built it

The owner gets to read, once, the email that goes out in his company's name. One reviewed message per event beats free text typed by a project manager at six in the evening, so the customer always gets the version you were happy with.

Sound familiar?“customer got the same progress email twice”
03

It points at their page, not at a paragraph

Try it

The update carries a link into the job's live project dashboard — the same link they have had since the estimate, not a new one to lose. The message exists to send them somewhere; it is not trying to be the update itself.

Live Project Dashboard
Leads2BuildLeads2Build
Leads2Build Construction
Live Project Dashboard
Zimmerman Equipment Barn
Marla Zimmerman Approved Live
Underway now
Framing
Next milestone
Trusses Up
1184 Quarry Ridge Rd, Seneca, KS 66538
Build progress
60% · 21/35 milestones
Permitting
Dirt Work
Concrete
Materials
Framing
Siding & Roofing
Final Payment
Where that link lands — their live job page. Real screen · sample data.
Without it

The email says the siding is done, and the customer rings anyway to ask what happens next week, because two lines of text was everything they were given.

Why we built it

A customer who taps through finds the photos, the phase list and the payment schedule already there and current. So the email stays two lines and does one job — send them to the page — and the questions that would have been phone calls answer themselves.

04

Ticked in the field or ticked in the office, the same things follow

The crew's phone, the office computer and the job screen all run a completed stage through one routine: the customer's progress update, the internal notification, and whatever stage rules the company has set. There is no path where the work gets marked done and the follow-through quietly doesn't happen — which is how the office ends up phoning a customer who was already told. The phone end of that tick — who may make it, and what the man actually sees — is the crew's side of a finished stage.

Crew portal — finish a stage
That’s the last one on Framing.
Ticking Roof steel on finishes Framing. The office gets told, and the customer sees the stage complete on their page.
Yes — Framing is done
Not yet
The crew's finish-a-stage screen — the same completion the office runs. Real screen · sample data.
Without it

The crew finishes the pour and taps done on the phone, the office hears about it on Thursday, and the customer is never told at all.

Why we built it

The crew lead's tap counts the same as the office's, so news doesn't wait for someone at a desk to pass it on. One routine runs every completed stage, so there is no path where the work is marked done and the customer quietly isn't told.

05

Reopen a stage, fix the work, and the customer hears about it again

A one-shot lock would mean the second finish is silent: the inspector fails it, the box gets unticked, the crew puts it right, ticks it again — and the customer never hears that it was done. Reopening a checkpoint gives the claim back, so finishing it properly the second time notifies properly. What sits on that list, who put it there and how a stage arrives at its last box is the checkpoint system.

Stage checkpoints
Framing Details
CheckpointsEdit
Post Set3 photos
Post SetGirts DoneTrusses Up
Girts Done2 photos
Equipment on Site
Trusses Up
Bracing Complete
Framing Inspection
The box that hands the claim back when it is reopened. Real screen · sample data.
Without it

The inspector fails the footings, the crew fixes them the next morning and ticks it off again, and the customer is still looking at a job that says nothing has moved.

Why we built it

A customer whose failed inspection got put right should hear that it's put right. Reopening hands the claim back the moment the box is unticked, so the second finish sends properly — reopen and redo it four times and they hear four times, which is right for work that really was redone.

Sound familiar?“customer never got told the stage finished”
06

Sending twice is bad; never sending is worse

Try it

If the claim cannot be taken because something underneath failed, the message goes out anyway. Stopping duplicates is worth having, but not at the price of a customer never being told their building was finished. The tick itself is written before any of this runs, so if the whole notification path throws, the work is still on the record.

Marking work complete
Marking work complete

Who can tick checkpoints off from a crew’s field link. Finishing a stage tells the office and shows the customer that stage complete on their page, so this starts with crew leaders only.

The tick lands first; everything else is a consequence of it. Real screen · sample data.
Without it

The notification path throws on a Tuesday afternoon, the guard decides to stay quiet about it, and nobody notices for a month that customers have stopped hearing from you.

Why we built it

An apology for a doubled email is cheap; a customer who heard nothing for three stages is not. So the guard fails open — if it can't tell whether the message went, it sends — and the tick itself is saved before any of this runs.

07

Your own men hear at the same moment, off the same event

Try it

The same completion raises an internal notification — the stage, the job, who reported it, and a link that opens the schedule at that project. Which of your men this reaches, and on which channel, comes off the event-by-role grid in notifications.

Assignees — who hears about this job
Assignees
Anyone assigned receives all project notifications.
DWDale WhitmoreOwner
MRMarla RennerProject manager
Who hears about this job, named on the job itself. Real screen · sample data.
Without it

The homeowner reads that framing is complete, rings the project manager to ask what comes next, and the project manager has not been told either.

Why we built it

The project manager should never learn about a finished stage from the customer. The team alert and the customer's email come off the same event, so the office knows the moment the customer does.

Sound familiar?“two people in the office ticked it and it double-sent”
08

A rule you wrote replaces the standard send — including when it says nobody

Try it

Set a rule against a stage and it owns the dispatch: your recipients, your channels, your wording, and the standard notice stands down. A rule that is switched off means silence, not a fallback. Naming the people who should hear about one particular stage — the PM on framing, the owner on final — is per-stage notification rules.

Stage notify rules
Stage notifications
Decide who hears about each stage, and what they’re told. Rules are attached to the stage itself — rename it and the rule follows. Set one stage, one building type, or everything at once.
Every stage (default)
Account owner, PM · in-app + email
Edit
Building type
Permitting
Account owner, PM · in-app + email
Inherited · Org-wide defaultEdit
Dirt Work
Account owner, PM · in-app + email
Inherited · Org-wide defaultEdit
Concrete
Account owner, PM, Customer · in-app + email
Set hereEdit
Materials Delivery
Account owner, Crew lead · in-app
Set hereEdit
Framing
Account owner, PM, Customer · in-app + email + SMS
Set hereEdit
Siding / Roofing
Silent — nobody is notified
Set hereEdit
Final Payment
No rule — uses your org-wide Notifications settings
Not setEdit
The per-stage rules the send checks before it does anything else. Real screen · sample data.
Without it

A builder mutes the material-delivery stage, the standard notice fires anyway, and the setting stops being trusted for anything else.

Why we built it

A builder who says "keep this stage quiet" gets quiet, so he trusts the setting. A rule replaces the standard send instead of adding to it — once you write one, you own everything that stage sends, silence included.

09

Custom wording changes the words, never the letterhead

A per-stage rule can rewrite the heading and the body of the customer's update. It cannot touch the shell — the logo, the colours and the footer come from Brand Center, so no amount of customising can produce an off-brand email.

Brand Center — Appearance

Appearance

light modedark mode

Light is the default. Pick Dark only if your logo is white/light — otherwise a dark logo disappears on a dark header.

Colors

Your accent is the one colour that matters — it drives your emails, estimate page and dashboard together. Everything below it is derived from that accent and only needs touching if you want to override a specific surface.

Accent
Buttons, icons, highlights
#B4552B
Header bar
Behind your logo
#1E1815
Heading text
#1B1512
Body text
#4B423C
Page background
#F2EEEA
Where the colours and the logo in that email come from. Real screen · sample data.
Without it

You write friendlier wording for one stage, and the customer gets an email in a colour your company has never used, with no logo on it.

Why we built it

The customer always gets an email that looks like your company, whatever wording you choose. Your words ride inside the branded template — less freedom over layout, and no way for a well-meant tweak to go out in somebody else's colours.

10

Turning down office noise does not cut the customer off

The internal notification sits behind your account-wide switch. The customer's progress update does not — it has its own toggle, beside the contract, intake and project-started messages in the customer message list. The companion text is a third switch again, and it stays off until you turn it on.

Settings — Notifications
Notifications
Pick which roles get notified for each event. Project-level assignees (set on each project’s detail page) always receive project notifications regardless of the role toggles here.
Account controls · two switches, applied in order
1 · Account notifications — ONsince 3/14/2026

The master power switch for this company. While it is on, everything below decides what actually goes out. Switch it off and nothing is sent on any channel to anyone — your team or your customers — and every setting is kept exactly as it is.

2 · The 36 events in the table below — ON
36 events · 21 sending email · 36 showing in the bell.
Only want to quiet your own alerts? Everything on this page applies to the whole company. Your personal notifications are under Settings → My Profile → My Notifications, and turning yours off there leaves everyone else’s exactly as they are.
Alerts sent by your build-stage automations are configured separately under Settings → Stage Automations and are not affected by either switch.
EventsEveryone (by role)
ShowAllInternalTo customersCategoriesSingleMultiple
EventAdminSalesProject ManagerCrew LeadWorkerChannels
Sales Pipeline· 10
Estimates & Orders· 4
Invoicing & Payments· 4
Contracts & Legal· 6
Project Management· 7
Project started
Someone clicked Start Project on an estimate.
In-appEmailSMS
Project stage completed
A build stage was marked complete.
In-appEmailSMS
Project completed
Final stage was marked done.
In-appEmailSMS
Weather advisory (day before)
Tomorrow's forecast may change the plan — heat, cold, wind, storms, rain or mud.
In-appEmailSMS
Crew ran past its figured days
A crew on hourly + shared surplus has worked more days than the job was figured for.
In-appEmailSMS
Shortfall needs a decision
A job finished over budget — decide whether the crew carries it or the company absorbs it.
In-appEmailSMS
Conduct report filed
Someone filed a performance, conduct, safety or attendance report about a team member.
In-appEmailSMS
Teams & Crew· 2
System & Integrations· 3
Where the customer's messages are switched, separately from your team's. Real screen · sample data.
Without it

Somebody turns notifications down because the office is getting too many, and six weeks later nobody can work out why customers stopped hearing anything.

Why we built it

Turning down the office's alerts should quiet the office, not the job. The customer's update has its own switch beside the other customer messages, and the text is a third switch that stays off until you turn it on — a text lands on a personal phone and costs money.

Sound familiar?“reopened a stage and the customer never heard it finished again”
11

The last stage of a build gets a proper sign-off, not another update

The final thing a customer heard on a finished building used to be a routine "siding is complete" notice, which reads as software that did not notice the job had ended. When the last build stage finishes — permitting, material delivery and the final payment are not build work — a completion message takes over, with a link to their project page. On the Hostetler Equipment Shed that is Siding / Roofing, not Final Payment. One action, one message, and a natural moment to ask for the review.

Project Phases
Project phases3 of 6 doneNow: Siding / Roofing1 behindManageAdd Phase
Drag the grip on the left of any stage to reorder the build.
Permitting
Jul 27 – Aug 8 • 12 days4/4
Done
Concrete
Aug 8 – Aug 13 • 5 days6/6
Done
Material Delivery
Aug 13 – Aug 17 • 4 days4/4
Done
Post Set
Aug 17 – Aug 26 • 9 days3/6
Active
Siding / Roofing
Aug 26 – Sep 3 • 8 days0/11
Planned
Final Payment
Sep 3 – Sep 6 • 3 days0/5
Planned
The job's phases — the sign-off rule reads this list and skips the non-build ones. Real screen · sample data.
Without it

The building is finished, the crew has gone, and the last word the customer ever gets from you is a form notice about siding.

Why we built it

The last thing a customer hears should feel like an ending, and it is the natural moment to ask for a review. The rule reads the job's own stage list, so a builder who adds a custom stage at the end gets the sign-off on that one instead.

12

Their page has already moved by the time they open the email

The tick is written to the job before a single message leaves, and the live project page re-reads the job every few seconds — so a customer who already has it open watches the phase go green without touching anything. The email is for the ones who are not looking.

Project progress
The phase list on their side, re-read while they watch it. Real screen · sample data.
Without it

The customer has the dashboard open on their phone while the crew finishes the pour, sees nothing change, and rings the office to ask whether anything happened today.

Why we built it

A customer watching their page sees the phase go green on its own, so there is nothing to ring about. The page re-reads the whole job every few seconds — a short fixed beat rather than an instant push, which is plenty for a page a household opens twice a week.

How it works
  1. 1Tick the last checkpoint on a stage.
  2. 2The customer gets one progress update, however many screens saw it.
  3. 3Your team gets the notification you set for that stage.
  4. 4On the last build stage, a completion message takes over.
  5. 5Reopen the stage and finishing it again notifies again.
Why we built it

Customers were getting the same "your stage is complete" email twice: two tabs open on one job each decided the stage had just finished, and a builder retrying a save that looked stuck sent it again. No check inside a browser can fix that, because each browser is correct about what it saw. The send is claimed once, centrally, so the second attempt finds it already taken. Reopening a checkpoint releases the claim, because otherwise fixing the work and ticking it again would leave the customer never hearing that it finished the second time.

The problem
  • Duplicate customer emails from multiple tabs or retries
  • Progress emails silently dead behind an org switch nobody flipped
  • One-shot notification after a reopen
What you get
Customers get exactly one message per real completion
Reopen-and-refinish notifies correctly
Crew-side and office-side completions behave identically
Updates named after the post-frame stages your customer is actually waiting on, not a generic "task complete"
What's inside
Project complete congratulations

A separate, branded "Congratulations — your building is complete" email with a link to the customer's own page. It takes the place of the routine progress email on the final build stage. Permitting, material delivery and the final payment are not build work, so they don't trigger it.

A build is marked complete once

A once-only stamp on the job. Checkpoints marked not applicable don't count, and a stage with no checklist doesn't hold the job open. Re-saving the same stage can't fire it again.

STAGE NOTIFICATIONS

See stage complete — one send, once
on one of your own jobs.

Twenty minutes, your building, your numbers. Bring the job where “customer got the same progress email twice” — we will show you exactly where that stops.

leads2build.com
Stage complete — one send, once — Leads2Build