The feature engine

Every feature,
and why it exists

Every one of these was built because something went wrong on a real job. Search the way you think about it — the problem you have, the outcome you want, or the name you already know.

1425 of 1425
Sales, estimating, money, crew — the shelves you'd expect

Sales

189
in Permit Check on the opportunity
"Not collected yet — call the office" instead of a guess

When there is no verified rule for a jurisdiction, the panel says so and tells the rep to phone — it never invents an answer.

no data for my county

in Public booking links
A calendar that reads like a busy shop

Each day offers between two and five open times — a different count every day, spread across morning, midday and afternoon — with the rest shown as taken.

a wide-open calendar makes you look desperate

in What happens when someone calls your number
A call that rings out to a personal voicemail is reported as missed

Answering-machine detection on the forwarded leg catches calls that landed in a personal mailbox and records them as missed, not answered.

the system says the call was answered but nobody spoke to them

in Next action — a note to yourself on a lead
A dead lead never nudges you again

Marking a lead dead stops every armed reminder on it — while a won deal keeps its reminders, because those are the ones that matter most after the sale.

the system keeps reminding me about a deal I lost

in Book a demo
A demo request becomes a lead

Every demo request lands as a New lead on the sales board with its source, its next step and a booking reference — and a repeat request from the same email reuses the existing card instead of creating a second one.

website enquiries sit in an inbox instead of the CRM

in Contract template editor with merge fields
A different contract per building type

Keep several named contracts side by side — Post-Frame, Concrete, Garage — and pick the right one per job.

concrete jobs need different terms than post frame

A missed call always creates something a human will see

Every missed call fires an ordered rescue chain — a task first, then the thread entry, then a notification, then a text-back — deduplicated so three calls in ten minutes is one job.

we missed a call and nobody followed up

Address lookup with a droppable pin for lots with no address

Type to find an address and the city, state, zip and coordinates fill themselves in — or drag a pin on the map when the build site has no address yet.

the property has no address yet

in Permit Check on the opportunity
Address, city or county search

One box that takes a street address, a city name or a county name and resolves it to the governing permitting authority.

I only know the town not the address

in Live estimate page
Approve and start my project

A single dark signing block where the customer ticks an affirmation naming the exact total and approves, which stamps the link and moves the whole pipeline.

chasing signatures on quotes

Archived Means Never a Card Again

One rule, in one place, decides whether a contact may appear on the board — and an archived contact never can, whatever its stage later says.

a hundred and seventy-eight contacts appeared in my pipeline overnight

in Stage Checklists (SOPs)
Assign an Owner From the Checklist

The New Lead checklist's first item is not a tickbox — it is a live control that assigns the lead to a real person and notifies them.

nobody owns this lead

in Contract template editor with merge fields
Attorney-reviewed stamp that resets when you edit

Record that counsel approved your contract body, with who and when — and have that stamp clear itself the moment anyone edits the text.

did my lawyer ever look at this contract

in Customer information form that feeds the contract
Automatic 24h and 48h nudges when the form stalls

A customer who signs the estimate but doesn't finish the information form gets nudged at 24 and 48 hours, and the builder gets an alert — whether or not anyone is logged in.

customer signed the estimate and then went quiet

in Permit Check on the opportunity
Automatic permit check on every lead with an address

Any card whose lead form gave an address is answered without anyone asking, on board load, at no per-card cost.

nobody remembers to check the permit

Automatic Permit Check on the Deal

Any lead whose form gave you an address gets its permit answer looked up automatically, and the card shows which office governs it.

found out about permits after I already quoted

in What happens when someone calls your number
Automatic text back on a missed call

When nobody answers, the caller gets a text from the same number — opt-in per line, with your own wording.

leads call once and never call back

Barndominium vs Pole Barn Tag

Tag each lead as a barndominium or a pole barn so you know whether the estimate is twenty minutes or four hours before you start it.

I opened what I thought was a quick quote and lost half a day

in Every post-frame roof shape
Bird's beak and flying gable overhangs

The decorative peak extensions builders sell as an upgrade, drawn in the roof plane and priced from the same profile the model draws.

customer wants the pointed peak overhang

Book a demo

The demo form stores a legally-shaped consent record, lands the enquiry on the sales pipeline as a new lead, mints a booking reference for whoever picks it up, and sends the prospect an acknowledgement.

our contact form doesn't go anywhere

in Book a demo
Book a demo without leaving the article

Any demo button on a marketing page opens the real form right there — it never dumps the reader back on the homepage.

clicking book a demo throws me back to the homepage

in The agency calendar
Booking a meeting moves the deal

An appointment can hang off a pipeline card, so booking a discovery call or a demo ticks that stage's checklist, writes an audit entry and lights the journey view.

I booked the call but the deal still says nobody's talked to them

in Customer information form that feeds the contract
Build site address with autocomplete or a dropped pin

Structured site and mailing addresses with Places autocomplete — plus latitude/longitude from a manually dropped pin for sites that have no street address yet.

the build site has no address yet

in Stages Advance From Real Actions
Call the Lead, Don't Claim You Did

The New Lead card's button dials the lead; the stage moves when the call actually connects, not when someone clicks.

my reps mark leads contacted without calling

in Permit Check on the opportunity
City rule vs county rule, decided by FIPS

Whether the city or the county governs is resolved from authoritative Census FIPS codes, not from fuzzy name matching.

city says one thing county says another

in The estimate knows whose it is before it exists
Claim an un-bonded estimate

When automatic matching can't decide, the rep picks the contact explicitly from a triage tray — same bond, different provenance.

this quote came in from somewhere and nobody knows whose it is

in Review & Send: read it before the customer does
Click a customer detail to drop it into the contract

Grouped token chips and clickable intake rows insert the right {{placeholder}} at the cursor — so you add the placeholder, not the one-off literal.

how do I add the customer's name to the contract

in Permit Check on the opportunity
Click a jurisdiction on the map for its permitting

Clicking any drawn city or county opens a modal with that jurisdiction's permitting.

compare permit rules between two towns

in Customer information form that feeds the contract
Co-signer and spouse capture

Capture a spouse or co-borrower and the contract writes them in as jointly responsible — or states plainly that the customer signs alone.

wife says she never agreed to the price

Construction contracts that build themselves from the estimate

When a customer approves an estimate and fills in their details, the platform writes their construction agreement — priced, dated, and ready to sign — instead of you retyping a Word template.

still typing contracts in Word for every job

Contract generated from the approved estimate

One shared generator turns the estimate snapshot plus the customer's intake answers into a finished contract body — and the same code runs whether it's the first render or a later re-render.

contract doesn't match the estimate

Contract status you can see at a glance

Pending → sent → customer signed → fully executed, plus declined and cancelled — rendered as a coloured pill everywhere the contract appears.

which contracts are still unsigned

Contract template editor with merge fields

Write your contract once in plain markdown with placeholders like {{estimate.total}}, and every customer's copy fills itself in.

want to change one clause in my contract

Contract template library by business model

A browsable library of full construction-contract bodies written for the way you actually operate — kit supplier, turnkey GC, or design-build with subs — that you copy and edit as your own.

don't have a real contract, just a quote and a handshake

in Stages Advance From Real Actions
Contract-Sent Gate

A deal with an estimate cannot cross into Contract Sent or beyond until a contract has actually gone to the customer.

the board says contract sent and no contract went out

Counter-sign to make it fully executed

The customer's signature isn't the end — the builder counter-signs from a modal that shows the exact document the customer signed, and only then is the contract fully executed.

forgot to sign the contract myself

in The opportunity card — the whole deal on one screen
Create and send a proposal from the deal

Author the prospect's own proposal page from their card — package, exclusivity count, discount, optional password — email it, and watch the funnel tick back onto the card.

the proposal took a week to arrive

Customer information form that feeds the contract

After the estimate is approved, the customer fills in the legal and property details the contract needs — and the contract writes itself from their answers.

chasing customers for their legal name and mailing address

Dead Lead View and Bulk Triage

Dead leads leave the board but stay in the system, and a dedicated view lets you audit, bulk-move, nurture or delete the whole cohort.

my pipeline is full of leads that went nowhere

Deals advance themselves off customer actions

Sending an estimate, a customer approving, filling the intake form, signing and counter-signing each move the deal forward on their own — and never backward.

have to move cards by hand every time something happens

in Permit Check on the opportunity
Decision support, never a determination

Every permit surface carries the same line: decision-support only, confirm with the local authority before quoting.

can I rely on this permit answer

in Permit Check on the opportunity
Declutter the map to just the borders

All / Roads / Borders presets that strip Google's business POIs and transit clutter down to land, water and jurisdiction lines.

can't see the county line for all the pins

in The conversation on the deal card
Did they open it — delivery badges

One word beside a sent email — Sending, Not opened, Opened, Clicked, Bounced, Didn't send — with severity carried by weight rather than by inventing new colours.

I sent the quote and heard nothing — did it even arrive

in Lead Distribution Engine
Distribution Simulator

Watch simulated leads drop into each rep's column one by one so you can confirm the split matches what you meant before you save.

I don't understand what these settings will actually do

in Appointment lifecycle
Done — with a note that lands on the card

Marking a meeting done asks what happened, and the answer is written into the contact's note stream with the meeting type and time as its heading.

what did we agree on that call

in Doors and windows on the building
Doors and windows with real depth

An overhead door is a hollow steel box you can read from inside, an insulated one is visibly filled with foam, a window has a jamb liner and real glass, and a barn door hangs outside on a track.

the doors in the render look like stickers

in Lead Distribution Engine
Draw a Rep's Territory on a Map

One continuous map where you click, paint or circle counties across state lines to set a rep's primary and backup coverage.

my rep is getting leads four hours from his house

in Stages Advance From Real Actions
Draw the Building From the Card

A card in Contacted carries a Create Estimate button that opens the 3D builder for that lead — and turns into View Estimate once one exists.

quoting takes too long to get started

in Hosted lead form
Drop the form into any website

An embed mode strips the page chrome so the same form can be dropped as an iframe into any website builder.

I want the form on my page not a separate link

Duplicate Review

The board flags contacts sharing an email or phone and lets you merge them, with a one-click auto-merge for the email groups.

the same customer is in here four times

in Review & Send: read it before the customer does
Edit one customer's contract without touching your template

A markdown editor with bold, heading and list buttons and a live preview, whose edits apply only to this customer's agreement.

this customer negotiated a different term

in Stage Checklists (SOPs)
Edit Your Own Stage Checklists

Rewrite any stage's checklist in Settings and it is live on every rep's board the moment it saves.

your checklist isn't how we sell

in Live estimate page
Estimate validity countdown

A live countdown to the estimate's expiry that shifts colour as the deadline closes, and blocks approval once it has passed.

customer sat on my quote for three months then wanted the old price

in Permit Check on the opportunity
Every city in a county, each its own colour

Pick a county and every incorporated place in and around it is outlined in its own colour, with a clickable colour-keyed legend.

which towns in this county have their own rules

in Sales Pipeline Board
Every Open Card Has Its Own Link

Opening a deal changes the address bar, so you can paste that address to a teammate and they land on the same card.

explaining to my office which lead I mean

in Review & Send: read it before the customer does
Everything the customer told you, beside the contract

A grouped, empty-field-free summary of the intake form — identity, addresses, co-signer, lender, funds, permits, uploaded documents — pinned next to the contract you're about to send.

have to open three screens to check the customer's details

in Universal Lead Intake
Field Mapping With Auto-Recognition

Common field names are recognised without configuration, and anything unmapped is kept as a question-and-answer on the card rather than thrown away.

my form calls it 'your name' and the CRM wants 'first name'

Five-stage journey checklist with the contract in it

Estimate → Project Info → Contract Out → Countersign → Dashboard, each row ticked with its real timestamp and a link to the exact customer screen.

where is this job stuck

in Lean-tos, porches and wings
Gable porch

A projecting gable with its own columns, beams, ridge and rake boards, an optional exposed king-post timber truss, and an optional concrete pad under it.

front entry porch for a barndominium

in Stages Advance From Real Actions
Hand Moves Are Logged as Overrides

Every hand move writes who moved it, their role, the stage it came from, how long it sat there, and the reason 'manual override'.

who moved this deal and when

in Hosted lead form
Honeypot spam guard

A hidden field named like a real one catches bots, which get a success message while nothing is sent.

my quote form gets spam all day

Hosted lead form

Every website-form lead source gets a free branded quote form at its own URL, linkable from an ad, a QR code on a yard sign, or a Get a quote button.

my website form goes to an email nobody checks

in Customer information form that feeds the contract
How they're paying, on the record

Cash, loan, insurance settlement or other — plus the lender and loan number when funds are held by a third party.

customer said the bank would pay and the bank never heard of us

Imported Backlog Held Off the Board

Bulk-imported leads with no owner wait off the board until distribution or a person assigns them — and a banner says how many are waiting.

I imported my old CRM and now my pipeline is unusable

in Customer information form that feeds the contract
Intake answers update the customer record

The legal name, email, phone and mailing address the customer types are mirrored onto their contact record, so future invoices and contracts start from the corrected details.

invoice went out with the wrong name

in The contact record
Jump between the contact, the pipeline card and the estimate

Chips on the record resolve one identity across contact, pipeline and estimate, and offer to create the missing link when there isn't one.

I can't find this customer's estimate

Lead Aging Tags

A brand-new lead is tagged HOT LEAD, then COOLING, WARM, GOING COLD and STALE as it sits uncontacted.

leads sitting for two days before anyone calls

in Universal Lead Intake
Lead Delivery Black Box

Every delivery — created, duplicate, merged, rejected, error or test — is recorded with the raw payload kept.

a customer says they filled out the form and we have nothing

Lead Distribution Engine

Routes unassigned leads to reps by location, then priority tier, then workload, then fair share — and never holds a lead.

leads pile up because nobody assigns them

Lead Distribution setup

Configure how a new lead gets routed — a guided four-step setup, a plain-language explanation of the routing and scoring, and a per-rep grid of caps, weights and territories.

leads sit unassigned for hours

in The contact record
Lead source shown as the real brand mark

A free-text source string is matched to an official logo and clean label, so 'fb ad' renders as Facebook.

my lead sources are spelled five different ways

Lead Sources

Every door a lead can come through — Facebook and Google connections, website forms, Zapier and custom webhooks — each with its endpoint, its field mapping, a test fire and a delivery log.

leads from my website aren't showing up

Lead Strength Grade

One five-level grade a rep sets by hand — Dead, Weak, Qualified, Strong, Ready to Close — that tags the card and filters the board.

my reps grade leads completely differently

Lead Timeline

Every stage this deal has visited with exact enter and leave times, who moved it, how long it sat, and which checklist steps got done.

how long does it take us to get from lead to signed

Lead visibility per sales rep

Decide, per rep, whether they see only their own leads, a chosen group of other reps' leads, or every lead in the company.

my reps can see each other's leads and they're poaching

Leads Manager

A dense list view for triaging an imported backlog at scale — filter, sort, select hundreds and reassign or distribute them in one action.

I have three thousand old leads and no way to work through them

in The Opportunity Card
Linked Estimate vs Possible Match

A deal only shows an estimate as attached when someone actually attached it; anything fuzzy is offered as a suggestion you have to accept.

the wrong estimate is showing on this lead

Live estimate page

The quote a customer actually reads: the building in numbers, the scope, the money, the schedule, and an approve button, all on one branded page.

my quotes are a spreadsheet the customer cannot read

in Permit Check on the opportunity
Map / Both / Text with a draggable split

Three views with a draggable divider, remembered between visits, so the map and a long rule can both be read.

the map is blank

Map Imported Reps to Your Team

Leads imported from another CRM keep their original rep's name, and mapping that name to a real user re-owns every one of their leads at once.

the leads say a rep's name but he isn't in the system

in The Opportunity Card
Mark Won or Lost

Record the outcome and the moment it was decided without moving the card out of the stage where it died.

where do we actually lose jobs

in Contract template editor with merge fields
Merge fields that pull real project numbers into the contract

27 named placeholders — customer, builder, project, estimate, governing law — that resolve per customer when the contract is generated.

have to retype the price into the contract

in The Opportunity Card
Merge Two Cards for the Same Person

Pick the card to keep from a searchable list; the other card's estimate, value, contact details, notes and tasks fold into it and it disappears.

the same guy is on my board twice with two different phone numbers

in Sales Pipeline Board
Mine / All Board Toggle

Managers can flip the board between their own book and everyone's; restricted reps never see the toggle because the server already scoped them.

I only see five leads and I know there are more

in The discovery call panel
Money paths, drawn with the breaks in them

Each end-to-end path — lead to cash and its siblings — drawn as a line with visible breaks where the builder's process actually snaps.

jobs fall apart between the quote and the invoice

in Sales Pipeline Board
Multi-Select and Type-to-Confirm Bulk Delete

Turn on Select Multiple, tap the cards, and deleting them requires typing the word delete first.

I deleted a bunch of leads and they came back

Next action — a note to yourself on a lead

On any lead card, write the message you want sent back to yourself, pick text / email / push, set the date and time — and the reminder engine delivers it to you.

I'll call them Tuesday and I know I'll forget

in Stage Checklists (SOPs)
Next Action With a Self-Reminder

Write the next thing this deal needs, pick a date and time, and choose to be reminded by text, email, push or in-app.

I forget to follow up

in Contract template library by business model
Not-legal-advice warnings you can't miss

Every surface that hands you a contract body says, in the same words, that it's a starting point and needs a lawyer in your state.

is this contract legal in my state

in The Opportunity Card
Notes With Camera Photos

Rich-text notes on the deal with a camera button, because builders photograph the page they wrote on instead of retyping it.

I write everything on a notepad in the truck

in The opportunity card — the whole deal on one screen
Numbered notes with an edit ledger

Notes on a deal are numbered, searchable, editable — and every creation and edit is kept as a ledger line showing who changed what.

somebody changed the note and now the story is different

One Customer, Several Opportunities

Adding a lead whose email or phone already exists offers to add another opportunity to that person instead of blocking or duplicating.

my repeat customer wants a second building and the system won't let me

in The Opportunity Card
One Price Per Building

When a deal has an estimate, that estimate's total is the number everywhere — card face, card modal, column total and board total.

the board says seventy-two thousand and the estimate says forty-two

in Sales Pipeline Board
One Stage at a Time

The board opens one stage and collapses the rest, so a phone shows a working column instead of nine slivers.

the pipeline is unusable on my phone

in The opportunity card — the whole deal on one screen
One timeline for the whole deal

Every stage move, checklist tick, message, proposal view, booking, note and completed task in one ordered list, plus how long the deal sat in each stage.

how long has this deal been sitting

in Permit Check on the opportunity
Only pin a geocode you can trust

A marker is dropped only for a rooftop or interpolated geocode; anything approximate gets no pin at all.

the map pin is on the wrong property

Open and view tracking on every estimate

See whether the customer opened the estimate, how many times, and how long they spent on it.

did they even look at it

in Review & Send: read it before the customer does
Open or copy the exact page the customer signs on

Two footer buttons open the customer-facing signing page in a new tab or copy its link to the clipboard, with a clipboard fallback for locked-down browsers.

want to see what my customer sees

in Lead Distribution Engine
Overflow: Never Hold a Lead

When every eligible rep is at capacity the lead is assigned anyway — to your top performer, or to a rep you nominate.

leads sit unassigned when everyone is busy

in Hosted lead form
Paused and missing form states

A paused lead source stops accepting submissions with an explanation rather than a broken page, and a dead link says the link may be out of date.

I am too busy to take new leads right now

in Sales Pipeline Board
Per-Stage Filter Chips

Each stage gets its own filter chips built from that stage's checklist, so you can pull up 'everyone I've followed up twice' in one tap.

I want to call everyone I've already tried twice

Permit Check on the opportunity

Inside a sales opportunity, type an address (or pick a city/county) and see exactly who governs the build and what the post-frame permitting is.

found out about permits after I already quoted

in Permit Check on the opportunity
Permit chip on the pipeline card

A short coloured chip on each sales card — 'Permit required · Boone County' — so the board can be scanned for who has a surprise coming.

which of my open deals need permits

in Customer information form that feeds the contract
Permit number and HOA approval captured before the build

An optional intake section for the building permit number, HOA name and whether the HOA has approved — asked before the contract, not after the crew is booked.

found out about permits after I already quoted

in Customer information form that feeds the contract
Photo ID, deed and insurance certificate uploads

Three optional document uploads — photo ID, proof of ownership, insurance certificate — attached to the contract file by the customer, from their phone.

customer isn't actually the property owner

Pick the colours the customer will actually get

Roof, wall, trim, wainscot and framing lumber colours chosen from named steel finishes, stored on the design and carried through to the estimate and the customer portal.

customer wants to see the colours before ordering

in Permit Check on the opportunity
Precise jurisdiction borders on a map

Real Census boundary polygons drawn in three colours — city orange, county blue, state purple — with a pin on the parcel.

is this property inside city limits

in Contract template library by business model
Private contract presets only your company can see

A builder's own verbatim legal text can be loaded into the library as a preset that no other company on the platform can see or use.

I already have a contract my lawyer wrote

Proposals page — author, send and watch

Every proposal page ever made, as rows you create, edit, send, archive or delete — each showing sent, opened, paid, signed, booked, set up and live.

did they even look at the proposal I sent

Public booking links

A private link that opens a real month calendar of the host's genuinely free times, in the visitor's own timezone, and books in one screen with no login.

back and forth emails to find a time

Pull the contract to the live estimate

When the estimate has moved since the customer approved it, the Review & Send screen says both numbers out loud and offers one click to regenerate the contract from the live estimate.

estimate changed after the customer approved it

in Your call list — the ones you added and the ones you owe
Queue a call in one click, or hand it to someone else

A Queue call button on contacts and pipeline cards that adds someone to the list without opening the phone — and can assign the call to a teammate with context.

building tomorrow's call list takes forever

in Review & Send: read it before the customer does
Re-send asks first; first send just goes

The first send fires immediately and the modal closes; clicking send on an already-sent contract opens an 'are you sure' step instead.

sent the contract twice by mistake

in A real call record, not a sentence
Reaching a lead on the phone moves their card

An outbound call that actually connects moves the lead to Contacted — a busy signal or no-answer leaves it where it was.

reps mark leads contacted without calling them

in Open and view tracking on every estimate
Reading the right link when a job has several

A job that's been re-sent has several customer links; the screen reads the one carrying the approval and the history, not merely the newest.

the estimate tab says not viewed but the pipeline says approved

in Pick the colours the customer will actually get
Real manufacturer panel products

Skin the roof with an actual manufacturer product — scanned surface maps at true physical scale — and the slope rules and takeoff follow the product you picked.

show the customer the actual panel profile

in The Opportunity Card
Remove From Pipeline That Actually Sticks

Removing a card deletes the canonical row and records permanent markers so no sync, poll or auto-linker can resurrect it.

I delete a lead and it comes back the next day

in Sales Pipeline Board
Rename and Reorder Your Own Stages

Each builder can override the stage list, and cards in a stage you delete get parked instead of destroyed.

we call it something different than the software does

Review & Send: read it before the customer does

The generated contract sits in a builder-only review screen — customer's submitted details on the left, the editable agreement on the right — until you release it for signing.

software sent something to my customer before I read it

Sales Pipeline Board

A drag-and-drop board where every lead sits in one of nine sales stages, each stage tied to a real thing that has to happen.

same customer showing up twice on my board

in Universal Lead Intake
Same Human, Same Card

A second form fill from the same phone or email enriches the existing card instead of growing a second one.

the same guy is on my board three times

in Counter-sign to make it fully executed
Save your signature once, counter-sign in one click

Store your legal name and drawn signature once in your profile and counter-signing becomes a single deliberate click — from the reminder banner or inside the review modal.

drawing my signature on every single contract

in Sales Pipeline Board
Search That Shows Why a Card Matched

Search across name, business, rep, type, value, source, notes, phone, email, tag and dates — and every result says which field it hit.

I search a phone number and nothing comes up

in Live estimate page
See exactly what the customer signed

A builder-only view parameter forces the frozen estimate screen even after approval, so the exact document the customer signed can be reviewed.

customer disputes what they approved

Send an estimate to the sales pipeline

A confirmation step that shows which contact an estimate will be linked to before it happens, with the option to pick a different one.

the software linked the quote to the wrong person

in Review & Send: read it before the customer does
Send by email, text, or both — and be told who actually got it

Choose the channels at send time; the response reports exactly which ones landed, and says so loudly when none did.

customer says they never got the contract

Send the customer their signed copy

One button emails the customer a branded link to their agreement — worded differently depending on whether it's fully signed — and files it into their Documents.

customer wants another copy of the contract

in Public booking links
Short booking links

A ten-character code you can read down a phone — /book/K7M2QX4RTB — instead of a two-hundred-character signed blob.

the link in the email looks like spam

in Pull the contract to the live estimate
Signed contracts lock their numbers

Once anyone has signed, the pull-to-live action is refused and the UI tells you to use a change order instead.

need to change the price after they signed

Signups — everyone who started, and what they still owe

Four tabs — In progress, Pending setup, Provisioned, Archived — covering everyone who started on a proposal page, with a Nudge button for anyone stalled and a Provision button for anyone ready.

I paid and never got an account

in Stages Advance From Real Actions
Sold Deals Hand Off to the Build Board

Dragging a deal to Sold no longer creates a project — a countersigned deal becomes a project only through Start Project, and the sales card retires.

someone dragged a card and it created a project we hadn't sold

in Sales Pipeline Board
Sort a Stage by What Needs Doing

Ten sort modes including Next Action Soonest and Overdue First, and dropping a card while sorted bakes the order in.

which of these forty leads do I call first

in Live estimate page
Spec plate in the estimate hero

The building stated in figures at the very top of the quote: dimensions, square footage, roof pitch, openings.

customer cannot tell at a glance what building they are being quoted

in Sales Pipeline Board
Spring-Loaded Stage Drop

Hold a dragged card over a collapsed stage for a moment and that stage springs open so you can drop into it.

I have to click the stage open before I can drag anything into it

Stage Checklists (SOPs)

Every stage carries an ordered checklist of what a rep actually does inside it, tracked per deal and reset when the deal moves.

my new guy doesn't know what to do next

in The agency's own sales pipeline
Stage checklists (the SOP for each stage)

Each stage carries the list of things that must be true before a deal is allowed to leave it, ticked on the card, with the later ones ticking themselves.

different reps told me different things

Stages Advance From Real Actions

The board advances when the estimate syncs, the customer approves, the form arrives or the contract is signed — a hand move is allowed but recorded as an override.

my board is always out of date

Stalled Deal Follow-Up Engine

A scheduled sweep finds deals that have stalled at a stage, badges the card and nudges the rep — at most once a day per deal.

we sent the estimate and never followed up

in Permit Check on the opportunity
State → County → City picker

Three linked dropdowns for when the rep knows the area but not the spelling.

what counties do you have permit data for

in Contract generated from the approved estimate
State lien notice picked from the job site

The contract's governing-law state and its statutory notice derive from the property address — Missouri gets the mechanic's-lien warning, Kansas gets the 90-day defect notice, everywhere else gets a neutral clause.

does my contract need a lien notice

in Stage Checklists (SOPs)
Steps the Stage Already Proves

'Estimate sent' is pre-checked in the Estimate Sent stage, because standing in that stage is what proves it happened.

the software is telling me to send an estimate I already sent

in Approve and start my project
Sticky approve bar

A pinned bar carrying the total and the approve action whenever the real signing block is off screen.

customer read the whole quote and never found the approve button

in Priced services that attach to the building
Stone veneer and board-and-batten

Stone veneer around the lower walls and vertical battens on the wall steel, drawn on the building and measured net of openings.

stone on the front of the barndominium

in Review & Send: read it before the customer does
Switch this contract to a different template

Picked the wrong template? Choose another from the dropdown and the contract re-renders server-side with this job's estimate data intact.

used the post frame contract on a concrete job

in Contract template editor with merge fields
Template versions that never rewrite a signed contract

Every save bumps a version number, and every contract carries the template id and version it was generated from — so what a customer signed stays reconstructable forever.

changed my contract and now I don't know what old customers signed

in Lead Distribution Engine
Territory Gap Queue

A lead nobody's territory covers is recorded once as a gap and left visible for an owner to fix, never silently dropped.

leads from outside our area just vanish

in The Opportunity Card
Text and Email From the Deal

The customer's text and email thread lives on the deal, so a rep answers without leaving the card.

I text the customer from my phone and nobody else sees it

in Universal Lead Intake
Text Me the Second a Lead Lands

Per lead source, a phone number that gets a text the instant a lead arrives, with the name, number and campaign.

I don't check my email fast enough

in How fast you actually call people back
Texting a missed caller counts as calling them back

An outbound text to someone whose call you missed closes the callback debt automatically.

I texted them back and it still says I never responded

in Book a demo
The acknowledgement email

The prospect gets a branded acknowledgement carrying their reference and no scheduling ask, while the team gets an internal notification with the enquiry and both consent flags.

people fill in the form and hear nothing

in The agency's own sales pipeline
The agency's own lead sources

The same lead connector a builder gets, pointed at the agency's own pipeline — ad accounts, hosted forms and webhook endpoints all landing as a New lead with source and attribution.

my ad leads go to an email nobody reads

The agency's own sales pipeline

Six columns from New lead to Onboarding, one card per builder being sold to, run on exactly the same tables and shapes a builder's own pipeline uses.

the software company forgets to follow up on me

in Permit Check on the opportunity
The answer is frozen onto the opportunity

Every lookup is recorded against the opportunity — address, coordinates, matched FIPS, and a frozen copy of the answer that was on screen.

prove we checked the permit before quoting

in The discovery call panel
The buyer read — will they actually buy

Nine things a rep judges from how the call actually went — motivation, ability, engagement — each option carrying what it means for the next move rather than just a score.

the rep kept chasing me when I was never going to buy

in The discovery call panel
The capability catalog and playbooks

Every box on the panel with the casual question that opens it, the tools a builder might name with their real strengths and dead ends, and what to say for each of the four answers.

the salesperson bad-mouthed the tools I already pay for

in The opportunity card — the whole deal on one screen
The conversation on the deal card

Emails as collapsible cards, texts as bubbles, calls and notes as compact rows — with our side offset right and theirs offset left so who spoke is readable across the room.

I can't tell what we sent them and what they sent us

The discovery call panel

A live call surface where a rep ticks what a builder actually has for each capability, and the panel ranks what to talk about next, prices the leak, and reads whether the deal is real.

the sales rep demoed features I don't use

in The public blog
The end-of-post banner

A dark banner closing every article: the message on the left, angled photo slices of real finished buildings through the middle, and a real button wired to the demo form.

people read our articles and never contact us

The estimate knows whose it is before it exists

Clicking 'Create estimate' on a contact records who it's for, so when the new job appears it bonds itself to that contact and opportunity with no manual matching step.

estimates come in with no customer attached

in Contract generated from the approved estimate
The estimate's line items printed into the contract

{{estimate.line_items_table}} renders the approved estimate's material sections as a real table inside the contract, with subtotal, tax and total beneath it.

customer says the building doesn't include what they thought

The follow-up engine

Six hourly rules that do what a good sales manager does every morning — chase untouched leads, unopened proposals, unfinished setups, idle deals and stalled onboardings, and send the owner one digest a day.

I asked for a proposal and never heard back

in Sales Pipeline Board
The Nine Sales Stages

Nine stages that each correspond to one real system event, not nine folders someone made up.

my pipeline stages don't match how we actually sell

The Opportunity Card

One screen per deal holding the contact, the estimate, the stage checklist, the permit answer, the messages, the notes and the tasks.

I have to open four screens to work one lead

in The agency's own sales pipeline
The opportunity card — the whole deal on one screen

One full-screen card per builder being sold to: who they are and how to reach them, the whole conversation, the deal terms, the stage checklist, tasks, notes and every event that ever happened.

I have to repeat everything to the next person at the vendor

in Permit Check on the opportunity
The panel fills itself from the contact's property address

Open a card and the permit panel is already answered from the address the lead form, website or CSV import landed on the contact.

retyping the address that's already on the lead

in Permit Check on the opportunity
The permit answer — fee, timeframe, exemption, who to call

A single card that answers permit required / fee / review time / ag exemption / engineered plans / who to phone, with a confidence badge and sources.

how much is a pole barn permit

in Proposals page — author, send and watch
The proposal funnel, read vertically

The same seven steps a roster shows as horizontal dots, redrawn as a numbered vertical list with when each happened, what it means and how long each leg took.

where exactly is my signup stuck

in One customer total, everywhere
The value on the card matches the value inside it

The pipeline board prices every design in one pass so the number on the outside of a card is the same number you see when you open it.

the board shows a different number than the card

in The discovery call panel
The web — the shape of their problem

A deterministic map of every capability and the links between them, lit by what the builder actually has, so three separate complaints become one visible broken path.

I have five tools and none of them talk to each other

in Contract template library by business model
Three liability models to start from

The library's three starting points map to the three ways post-frame builders actually run: supply-and-coordinate, self-perform turnkey, or design-build using subs.

am I the general contractor or just supplying the building

Three-part agreement: estimate, initialed waiver, warranty

A single signing flow that stacks the approved estimate's specs, a thirteen-clause waiver initialed one section at a time, and a full craftsmanship warranty.

customer directing my crew on site

in Lead Distribution Engine
Tiers, Weights and Workload Caps

Each rep has a priority tier, a weight, an open-lead cap and an optional daily cap, and the fairness rule stops anyone hoarding while someone sits empty.

one rep is buried and another has nothing

in Customer information form that feeds the contract
Turn intake questions on and off per company

Eleven named intake sections, each a checkbox — ask only what your jobs actually need.

don't need to ask for a photo ID on a small shed

in The discovery call panel
Two axes, never averaged

Opportunity and readiness are scored independently and plotted as a position on a grid, because averaging them into one lead score would destroy the only thing a rep can act on.

a lead score told them to chase me and it was wrong

in The opportunity card — the whole deal on one screen
Two ways to book a call from the card

Either put the time straight in the calendar while they are on the phone, or send a warm branded invitation with a button and let them choose — same composer, one switch.

we played phone tag for a week

Universal Lead Intake

One ingestion path for every door a lead can walk through — website forms, Google Ads lead forms, Meta Lead Ads, Zapier or anything custom.

leads from my website never make it into the CRM

in The agency's own sales pipeline
Unread-lead badge that only a human can clear

A red count on the rail for new leads nobody has opened, cleared only by actually opening the lead's card — not by visiting the board.

I filled in the form and nobody called me

Unseen Lead Badge

The lead counter counts leads this person has never actually opened, and only clears when they open the card.

the notification badge never goes away

in Pick the colours the customer will actually get
Wainscot band

A contrasting band of steel around the lower walls, drawn to its real height and counted as its own panel line.

two tone barn

What the building actually is, on the contact

A card on the contact that says how big, how tall, what's on it and what it's worth — read off the estimate's own spec.

customer calls and I have no idea what we quoted them

in The contact record
What they answered when they became a lead

The questions and answers from the form that created the lead, plus the campaign and source attribution, shown on the contact record.

I can't remember what this lead actually asked for

in Contract generated from the approved estimate
What they signed is frozen forever

The exact text the customer read is stored on their contract row, so editing your template later can never rewrite a document somebody already signed.

changed my contract wording and worried about old jobs

in The discovery call panel
What to say next, and what it costs them

A live ranking of the gaps worth discussing, headed by a running annual figure for the cost of leaving things as they are.

they spent the whole call on a feature I don't need

in Stage Checklists (SOPs)
What Was Asked, and What Was Done

When a deal leaves a stage, the full checklist state and the list of steps that were on offer at the time are both frozen into the audit record.

did my rep actually follow up before this deal died

in Universal Lead Intake
Where the Lead Actually Came From

When nobody set a source, the click ids and referrer tell the story: a Google click id means Google Ads, a Facebook click id means Facebook.

I don't know which ads are producing jobs

Who Can See Whose Leads

Each rep sees only their own leads by default; a manager can be granted a chosen set of reps or the whole book — enforced on the server, not in the browser.

my reps can see each other's leads

in How fast you actually call people back
Who is still waiting for a call back

A work queue of unrecovered misses — oldest first, with the reason and who owes it — framed as work to do rather than a scoreboard.

I don't know which leads are still waiting on us

in Open and view tracking on every estimate
Who's viewed this estimate

Every individual who identified themselves on the estimate page, with their view count, total time and first and last visit.

who else has seen this quote

Your call list — the ones you added and the ones you owe

One queue merging calls you deliberately added with missed calls nobody has returned, so the expensive half can't be forgotten.

I keep my call list on a scrap of paper

Estimating

107
in Your material price book
"3 materials have no price" banner

Any take-off line with no price is counted, named and turned into a one-click jump to the price list.

my estimate total looks too low

in Leads 2 Build estimating workspace
3D builder drafts on the estimates list

Designs still in the builder appear at the top of the estimates list with their version, line count and footprint, one click from being reopened.

where did that design I started go

3D building designer

Draw a post-frame building in 3D by dragging its dimensions, and the framing, the panel layout and the material list come out the other side.

customer cannot picture the building until it is framed

in Service packages (reusable templates)
A package stays a unit you can lift back out

An applied package is drawn as one bounded group you can remove in a single action, while the lines you added by hand survive — and the reverse.

added the wrong template and had to delete eight lines one by one

in Lean-tos, porches and wings
Additions pass under the main roof, never through it

The highest legal attachment is computed from the main building's own overhang underside, so a lean-to or porch always tucks under the fascia with flashing instead of crashing into it.

lean-to roof running into the main building's fascia

in Service packages (reusable templates)
Applying a package is a copy, never a link

Lines from a package become the estimate's own, so editing the estimate never writes back to the template and editing the template never reaches into estimates already built from it.

changed my template and it changed a quote I already sent

in Leads 2 Build estimating workspace
Building plans for the client, the crew and the shop

Nine printable documents generated from the model — elevations, plan, post layout, opening schedule, cross section, assembly notes, material list — filtered by who they're for.

crew needs the post layout, customer doesn't

in Material take-off from the 3D model
Buy what the yard actually sells — stock-length packing

Cuts are first-fit packed into 8/10/12/14/16/20-foot sticks, so the list says how many pieces to buy and how much drop that leaves.

how many 16 footers do I actually buy

in Material takeoff straight off the model
Buy what the yard sells, and see the waste

Lumber is packed into real yard stock lengths, with the cuts taken out of each stick and the drop left on it shown rather than hidden.

how many 16 footers do I need

Click any piece and it tells you what it is

Click a post, a girt, a truss chord or a panel and get its trade name, exact size and cut length, what it belongs to, and how many identical pieces are in the build.

what size is that board on the drawing

in Estimate version history
Compare two versions side by side

Put any two versions next to each other and see what moved, with each version's numbers colour-tied to its own column.

why is this version $4,000 more than the last one

in Labour calculator
Confirm the porch square footage (wraparound corners)

Raise the auto-summed porch area to cover a wraparound porch's shared corner, and the confirmed number feeds both the customer's porch line and the labour calculator.

wraparound porch corner isn't in the square footage

in Material take-off from the 3D model
Cut list — what to cut from each stick

Every purchased stick listed with the cuts it yields and the drop left over.

what do I cut from each board

in Estimate version history
Deliberate versions on a 3D-builder estimate

Autosave keeps the working draft; a version is only written when the builder presses Create next version, snapshotting the 3D spec, takeoff, pricing and quantity edits at that moment.

I want a snapshot before I change the roof pitch

Designs save themselves and stay attached to the customer

Every design autosaves under a name, belongs to an org and optionally a contact, and Finish returns you to the exact place you came from.

lost a design because I forgot to save

in Material take-off from the 3D model
Doors and windows counted in one vocabulary

Each opening size is counted as its own line, named exactly as the design menu names it, with sliding-door track and trolleys derived from the leaves.

wrong size door showed up

Doors and windows on the building

Place entry doors, overhead doors, sliding doors and windows on any wall, drag them where you want, and get the framing, the trim and the order that goes with them.

moving a door means re-doing the framing

in Doors and windows on the building
Drag a door, guides snap it into line

Drag an opening across the wall and it snaps to line up with the others — edges, centrelines, sills and heads — with framing clearances applied last so a snap can never produce an illegal placement.

windows do not line up with each other

in 3D building designer
Drag the building to size it

Grab the ridge, the eave or an end wall and pull; pitch, eave height, length and width follow, clamped to what is actually buildable.

typing dimensions into a form is slow

in Lean-tos, porches and wings
Drag the porch and lean-to the same way

Six tabs per addition — projection, attach height, pitch, both extent ends and slide — each writing only the field it names.

changing the porch pitch moves the width too

in Leads 2 Build estimating workspace
Edit quantities on the takeoff

Every takeoff line is broken into its stock lengths and each quantity is editable, with the change recorded against the takeoff figure rather than overwriting it.

always order 10% extra and the software won't let me

Edit take-off quantities line by line

Nudge any material quantity up or down; the change is highlighted, the delta shown, and one button puts it back to the take-off.

I already have half that lumber in the yard

in Lean-tos, porches and wings
Enclosed wings and wraparound legs

One click adds a sheeted wing at eave height, or two legs meeting at a corner for a wraparound.

wraparound porch

Estimate version history

Every meaningful change to an estimate is captured as an immutable, numbered version you can open, compare and pin — from one modal that opens the same way everywhere.

customer asked what the price was last time and I had no idea

in 3D building designer
Every control, written down

A controls reference listing every gesture and key, plus a five-step first-run card for a brand-new user.

no idea what the shortcuts are

Every post-frame roof shape

Six roof shapes from the NFBA glossary, each with its own framing configuration, material package and engineering limits — and each modelled, not faked.

customer wants a gambrel and my tool only does gable

in Edit take-off quantities line by line
Every quantity change is kept

Quantity edits are append-only rows keyed to the design, so the current number is the latest row and the history survives a reset.

who changed this quantity

in Estimate version history
Every send captures the exact document the customer got

Sending an estimate captures a customer-facing version carrying the exact marked-up snapshot the customer sees and the grand total quoted.

what exactly did we send them in June

in Material takeoff straight off the model
Every trim run, off the trim that is drawn

Ridge cap, hip cap, rake, eave, corner, curb, break cap, headwall flashing, closure strip and opening trim, measured in linear feet off the pieces the model actually draws.

always short on trim

in Material takeoff straight off the model
Export the material list and the cut list

Two CSVs and a markdown copy: what to buy, what gets cut out of each stick, and what the list deliberately does not cover.

need the material list in a spreadsheet

in Edit take-off quantities line by line
Filter the material list by section

Chips for Framing, Sheathing, Trim, Doors & Windows, Foundation and Fasteners, plus any extra category the take-off produced.

just show me the framing

Five estimate stages, colour-coded

Every estimate sits in exactly one of five numbered, colour-coded stages — Estimate, Project Info, Contract Out, Countersign, Project — derived from one function used by both engines.

can't tell which quotes are waiting on me and which are waiting on the customer

in Every post-frame roof shape
Gable

The default post-frame roof: two planes to a ridge, gable trusses at each end, 2x6 gable studs in the triangle, rake and eave trim.

standard barn roof

in Every post-frame roof shape
Gambrel

The classic barn profile: a steep lower slope breaking to a shallow upper slope at the quarter span, with break trim, four roof faces and factory truss span limits enforced.

customer wants a real barn look

in 3D building designer
Handles that show what they do before you grab them

Every control is a real 3D arrow pointing the way the thing will travel, labelled with what it changes and its live value, with blocked directions greyed out.

I cannot tell what the controls do until I drag them

in Doors and windows on the building
Headers, jambs and cripples sized for the span

Every opening gets full-height jamb posts, a header sized by its clear span, cripples above it and a window sill — all drawn and all on the order.

what size header for a 16 foot door

in Every post-frame roof shape
Hip

All four sides slope to the walls: hip rafters on the diagonals, jack rafters shortening into the corners, a step-down truss set, a mitered fascia frame and hip caps instead of rake trim.

hip roof shop quote

in 3D building designer
Home, front, gable and plan views

One click flies the camera to a framed elevation that fits the whole structure — porches and lean-tos included — without cropping.

cannot get a straight-on shot of the front for the customer

in One customer total, everywhere
How this total is built

A full reconciliation panel that lists every material category, every labour line, every service, colour upgrades and each markup rule, adding to the customer total.

customer asked how I got to that number and I couldn't answer fast

in The picture and the numbers come from one model
Industry-standard dimensions (ANSI/ASABE S618)

Choose whether your numbers mean the industry standard or your old drawing-set convention, and switching relabels the numbers without moving the building.

my eave height does not match the truss plant's

It frames the building the way a crew would

The model is a real post-frame assembly — posts, skirt board, girts, eave struts, trusses, purlins, headers, jambs, cripples and trim — placed the way a crew builds it, in ANSI/ASABE S618 vocabulary.

3D tools draw a box, not a building

in Five estimate stages, colour-coded
Journey status pill

One pill on the selected estimate showing the furthest milestone the customer has actually reached — Sent, Opened, Estimate Approved, Form Submitted, Contract Sent, Awaiting Counter-Sign, Awaiting Start, In Progress.

the badge says the wrong thing about where the customer is

Labour calculator

Turns the building's geometry into a priced labour line — square footage under roof, openings, overhead doors, tall walls, wainscot, soffits, insulation and lean-tos — with every line shown and editable.

labour is a guess every single time

in Labour calculator
Labour that keeps up when the building grows

When a building gains porches or attached buildings after labour was saved, the frozen square footage is repaired against the current geometry instead of billing the old figure forever.

added a porch and the labour never changed

Leads 2 Build estimating workspace

Estimates built from the in-house 3D designer: the takeoff comes off the model, the price comes off your book, and the same list, stages, sending and versioning apply.

I don't have estimating software at all

in Lean-tos, porches and wings
Lean-to

A single-slope bay off a main wall, framed with a ledger, a column line and a beam, with the outer eave height derived rather than guessed.

how wide can my lean-to be and still clear a truck

Lean-tos, porches and wings

Hang a lean-to, a gable porch, an enclosed wing or a wraparound off any wall, and it frames, clears the main building and gets counted like the rest of the job.

customer wants a covered porch on the front

Locked once the customer approves

When a customer approves, the priced fields lock — and unlocking is a deliberate, recorded act of re-negotiation, not a quiet edit.

someone edited the quote after the customer approved it

in Every post-frame roof shape
Mansard

Steep 21/12 faces on all four sides rising to a curb, then a shallow upper hip over the deck — framed as a portal bent with knee walls and a collar tie.

mansard style building quote

in Markup
Mark up individual material lines

Put a different percentage or dollar amount on each material section of a SmartBuild estimate, on top of the overall markup.

steel and framing shouldn't carry the same margin

Markup

Add a percentage or a flat dollar amount to the whole job, or to any single part of it, and see exactly what each one adds.

my markup isn't covering the concrete I added

Material breakdown with subtotal and tax

Every material section with its subtotal and weight, followed by the pre-tax subtotal, the sales tax and the supplier total — so the column adds up to the number printed under it.

the lines don't add up to the total

Material take-off from the 3D model

Every material quantity is measured off the same posts, purlins and panels the 3D model draws, so the picture and the order cannot disagree.

my material list never matches the drawing

Material takeoff straight off the model

Every stick, panel, screw and yard of concrete measured off the same members the model draws, grouped into supplier-legible sections.

how much material for a 40 by 60

in 3D building designer
Measure anything on the building

Click two points on the building and read the distance in feet and inches.

how far is it from the door to the corner

in It frames the building the way a crew would
Metal connectors where members actually touch

Purlin hangers, truss plates and uplift ties are placed only where two members genuinely meet, and the order counts exactly the hardware the model shows.

short of hurricane ties on site

in Every post-frame roof shape
Monitor

A raised centre gable standing on full-height interior columns over two shed wings, with clerestory walls, its own eave assembly and transition flashing where the wings die into the risers.

monitor barn quote

in Every post-frame roof shape
Monoslope

One roof plane from a low eave to a high eave, with taller posts on the high wall, high-side eave trim instead of a ridge cap, and hard caps so the high wall never becomes a cliff.

single slope shop quote

in Doors and windows on the building
Never a post standing in a doorway

A grid post that falls inside an opening — or too close to its edge — is omitted, and its load goes through the header into the jamb posts.

post in the middle of my garage door on the plan

New estimate wizard

Three steps — pick a starting model, configure the building, review — with the customer's details pre-filled from the lead you started on.

starting a quote means retyping the customer's details

in It frames the building the way a crew would
Nothing pokes through the steel

An engine-wide rule: every member end either butts another surface with zero overlap or is buried inside it — never left poking through the panels or floating in air.

you can see through the corner of the building in the render

One customer total, everywhere

The estimate list, the pipeline card, the contact card, the workspace and the customer's portal all derive the job's value from the same function, so they cannot disagree.

my quote says one price and the pipeline says another

in 3D building designer
One structure owns the controls at a time

Click the building or one addition — from the model, a chip or its panel card — and only that structure's handles draw.

too many controls on the screen

in Your material price book
Only what you changed is stored

A builder's edits are stored as overrides; untouched rows keep the audited default and improve when the defaults do.

I only want to change a few prices

Pick your estimating engine — SmartBuild or the in-house 3D builder

One org-level switch decides whether new estimates start in SmartBuild or in the built-in 3D builder, and flipping it never touches your SmartBuild jobs or login.

we already do all our quoting in SmartBuild, I don't want to start over

in Version history for the documents behind a contract
Pin the version the customer sees

Choosing a version is a real, revertable decision — an explicit pin always wins, even when it deliberately points at an older document.

want to go back to the earlier quote

in Live estimate page
Plans and blueprints on the quote and the agreement

Builder-attached PDFs and images shown to the customer before they accept, and again one click from the terms on the agreement page.

customer signed without ever seeing the drawings

in Your Custom Building spec sheet
Porch and attached-structure breakdown

Each attached porch or lean-to is named with its own dimensions and side, with enclosed additions counted separately from porch square footage.

porch square footage is wrong on my quotes

in Material take-off from the 3D model
Post-hole concrete, footing pads and uplift restraint

Cubic yards of ready-mix computed from hole diameter, embedment depth and post count, plus a footing pad and uplift restraint per hole.

how much concrete for post holes

in It frames the building the way a crew would
Posts in the ground, drawn and priced

Every embedded post is drawn one piece into the ground, on a concrete footing pad, cast inside a full-depth poured collar — and all three are on the order.

how much concrete for the post holes

in Material breakdown with subtotal and tax
Products your price book couldn't price

Any line the price book couldn't resolve is called out to the builder as a $0 item that shorts the quote — and never printed to the customer.

the word undefined showed up on my customer's quote

in Doors and windows on the building
Quarter, half and three-quarter, from where you are standing

Position buttons that mean what a person standing outside facing the wall means — the left quarter is the left you can see.

the centre button puts the door on the wrong side

in It frames the building the way a crew would
Rafter and purlin tails stop at the fascia

Every roof stick is clamped to the fascia envelope using its real rotated footprint, so nothing runs past the fascia into open air and the takeoff measures the piece that is actually installed.

rafters sticking out past the fascia board in the drawing

in Service catalog (your add-ons, priced)
Rates freeze when you add them

A service added to an estimate keeps the rate it had at that moment, so later catalog edits never silently reprice a quote a customer is already holding.

raised my prices and my open quotes changed

in It frames the building the way a crew would
Real cuts, not colliding boxes

Truss chords are plumb-cut at the peak, rafters are birdsmouthed over their beams, rake boards miter at the apex and return level at the eave — the joints a carpenter actually cuts.

the render looks like blocks jammed together

in The Estimates workspace
Resizable estimate list that collapses to icons

Drag the estimate list narrower to give the pricing pane more room; below 300px the header buttons drop their words and keep their icons.

buttons get cut off when I make the list smaller

in 3D building designer
Right-click the building to add things

Right-click (or long-press) a wall, roof, door or porch and get exactly the options that surface can take, each showing the quantity and price it would add.

adding a door means hunting through a form

in Material take-off from the 3D model
Roof steel counted per face, with waste by face shape

Panels are counted across each drawn roof face at the roofing profile's coverage width, with 15% waste on triangles, 10% on trapezoids, and a splice at the 40-foot mill cap.

how many roof sheets for a hip roof

in Customer picks window, door and garage door colours
Roof, wall, trim and wainscot finishes shown on the quote

The finishes chosen in the 3D builder are displayed read-only above the hardware colours, with a swatch and the colour name.

the quote does not say what colour the roof is

in Every post-frame roof shape
Roofing system with its minimum slope enforced

Pick the actual roofing product — ribbed steel, corrugated, lap-sealed, snap-lock or mechanical standing seam, or shingles — and the design refuses to go below that product's minimum slope.

roof pitch too low for metal warranty

in Material take-off from the 3D model
Screws, clips, hangers, plates and ties counted off the model

Panel screws from square footage, seam clips for standing seam, and connectors counted off the same hardware the engine models.

how many screws for a 40x60

in Doors and windows on the building
Select several openings and space them evenly

Shift-click a row of openings, drag them together, then grab a joint between them to set equal gaps — with the pinned end determined by which joint you grabbed.

four windows on a wall and none of them evenly spaced

Service catalog (your add-ons, priced)

Your own list of priced services — concrete, insulation, doors, permits, site prep — that drop onto an estimate as unit-aware calculators.

concrete pricing is on a PDF taped to the wall

Service packages (reusable templates)

Save a set of services with their quantities, sizes and prices already dialled in, then drop the whole thing onto any estimate in one click.

I quote the same package over and over

in Live estimate page
Services and Add-Ons section (scope, not price)

Services like a concrete pad or stone veneer get their own section describing what they are, with the money for the same lines itemised separately under Your Investment.

customer does not know what the concrete line actually covers

in 3D building designer
Shell, roof off, frame, roof frame, foundation, insulation

Six views of the same building: the finished shell, the roof lifted off, the bare framing, the roof framing alone, the foundation, and the insulation.

customer cannot picture what is inside the walls

in Service catalog (your add-ons, priced)
Sized services — a 9×8 door, three of them

Services that come in a size carry a width × height and a count, so 'three 9×8 doors' is one line instead of three or a number typed from memory.

no place to say what size the door is

in Doors and windows on the building
Sizes that stop where reality stops

One resolver clamps every width, height, offset and sill edit — panel steppers and drag handles alike — against wall ends, neighbours, header depth and manufactured size caps.

the stepper let me size a door past the corner

in 3D building designer
Snaps to sizes you can actually order

Drags land on manufactured door and window sizes, whole pitches, standard eave heights and bay multiples — with the magnet switchable off for free sizing.

I drew a 9 foot 4 inch door nobody makes

in Five estimate stages, colour-coded
Stage filter chips (1–5, multi-select)

Five square numbered chips under the search box, each in its stage colour, toggled on together to slice the list any way you think about the phase.

just want to see the contracts that are out

in Doors and windows on the building
Standard door and window packages

Named packages a builder recognises — 3068, 6068 double, 10x10 shop standard, 16x14 RV, 3x4 slider — placed by name instead of by typing dimensions.

what size is a 3068

in 3D building designer
Start from a real building

Three complete starting buildings — a 30x40 shop, a 40x60 shouse and a 60x80 clear span — already carrying doors, windows and real steel colours.

blank tool with nothing to start from

in Material takeoff straight off the model
Steel counted by panel and by length

Panels are counted per roof face and per wall run at their real length, with cut waste for triangles and trapezoids and a mill-length splice cap.

how many roof panels and how long

in Version history for the documents behind a contract
The customer always sees the freshest document

With no pin set, freshness is compared rather than assumed — so a months-old send version can never outrank a link snapshot that was updated yesterday.

customer portal is showing an old price

The design becomes the estimate

The takeoff is frozen into a versioned estimate snapshot, priced through the same book the builder used, ready to send from the platform's own engine.

have to re-enter the material list into the estimate

The Estimates workspace

A resizable list of every estimate on the left and the full pricing workspace for the selected one on the right — summary, materials, order, plans and details in tabs.

my quote lives in four different places

in The Estimates workspace
The open estimate is the URL

Every estimate has its own address, so pasting a link opens that exact estimate for whoever you send it to.

sent my partner a link and it opened the wrong job

The picture and the numbers come from one model

The renderer and the material list read the same placed members, so what you see and what you order cannot disagree.

the drawing says one thing and the material list says another

in Material take-off from the 3D model
Trim measured off the trim the model drew

Ridge cap, rake, eave, corner, hip cap, break cap, headwall flashing and closure strip are summed from the actual trim pieces on the model.

always short on trim

in Material take-off from the 3D model
Truss plan read off the modelled bents

The truss line names the set the roof actually needs — gable plus common, hip commons plus step-downs plus king, mansard portal bents, monitor centre plus wings.

how many trusses do I order

in It frames the building the way a crew would
Trusses that are factory trusses

Trusses are modelled as plated assemblies with the right web pattern for the span, and the takeoff orders them as factory trusses instead of loose lumber.

the material list is double counting my trusses

in 3D building designer
Undo and redo on everything

One undo stack over the whole design, where one intent is one step — a whole drag, or a burst of stepper clicks, undoes at once.

undo takes fifty presses to get back one change

in Service catalog (your add-ons, priced)
Unit-aware service calculators

Each service prices itself the way it's actually sold — per square foot from length × width, per linear foot, per each, flat, or custom quoted — and prints the arithmetic.

some things I sell by the foot and some by the piece

Version history for the documents behind a contract

A generic version spine that snapshots a document whenever its content actually changes, numbers the versions per job, and records which one the customer is allowed to see.

which version did I send them

in Material take-off from the 3D model
Wall steel per run, wainscot and gable infill on their own lines

Each wall rectangle is sheeted at its own height, with wainscot, gable-end infill and clerestory risers counted separately.

how much steel for the gable ends

in Estimate version history
What-if toggles on a version's total

Tick labour, porch, each service line, markup or change orders in and out of a version to see what the total would be — without saving anything.

customer wants to know the price without the concrete

in Live estimate page
Your Custom Building spec sheet

A frame-aware spec table built from the SmartBuild answers, with sensible fallbacks so the scope reads complete instead of half empty.

the quote does not say what is actually included

Project Management

61
in Project card badges
'All done' means the stage, not the click

Whether a stage is finished is measured against its real checkpoint list, not against whatever the phone happened to send.

system says materials delivered and they haven't arrived

in Email the order to a supplier, under your own brand
A sent order stamps the project's "Ordered" badge

Sending a supplier order marks the project card as ordered — a badge only, never a column move.

has anyone ordered the materials for this job

Add a job that's already going

Bring a build that's already underway into the system at whatever state it's actually in — without faking any records.

I have six jobs running, do I have to wait until they're done to switch

in The project cockpit
Add, reorder and remove phases

Add a phase to a running job, drag stages into the order you actually build in, and remove one with a typed confirmation.

stages should be movable

in Build Schedule (Gantt board)
Archive, delete and restore projects

Finished or cancelled jobs come off the board without being lost, and a deleted project can be brought back.

old finished jobs cluttering my schedule

in Stage quick edit
Assign a material stage to a supplier

Material Delivery can be assigned to a supplier contact instead of a crew.

material delivery isn't done by my crew

in Build Schedule (Gantt board)
At-a-glance progress bar

Each project bar is segmented by stage and tinted by status, so you can read progress without opening anything.

I can't tell how far along a job actually is

in Build Schedule (Gantt board)
Buffer between a crew's jobs

A hatched marker between consecutive jobs for the same crew, labelled with the number of idle days.

crew sitting idle between jobs

Build Schedule (Gantt board)

One timeline showing every active job, every stage inside it, and where each crew is on any given day.

I have no idea which crew is where next week

in The project cockpit
Building plans on the job

The engineered drawings and outputs for the job, downloadable from inside the project — and auto-opened for crew.

crew can't get the drawings on site

in The project cockpit
Change one stage's start, end or duration

Three separate editors on a stage — start date, end date and duration — each stating exactly what it moves.

framing took three days longer and I need to update just that stage

in Stage checkpoints
Checklists lock when a project goes live

Once a project starts, its checkpoint names, existence and order are fixed — so the crew and the customer always see what was agreed.

someone changed the checklist halfway through the job

in Stage checkpoints
Checkpoints and photos sync across devices

A checkpoint ticked or photographed on a phone shows up on the office computer, and old local-only work is replayed to the server.

ticked boxes on my phone and the office can't see them

in Working days (the schedule knows crews don't work weekends)
Company → crew → job working week

Set the working week once for the company, override it for a crew that works Saturdays, and override again for the rush job.

my concrete guy works Saturdays but framing doesn't

in Build Schedule (Gantt board)
Crew filter and crew-scope guard

Filter the board to one crew — and crew leaders and workers only ever see their own crew's jobs.

I don't want my subs seeing every other job I have on

in Build Schedule (Gantt board)
Crew time off and holiday blocks

Mark a crew as unavailable for a date range — vacation, holiday, maintenance — and it draws on the schedule.

booked a crew that was on vacation

Daily crew log

A per-day site diary that pre-fills itself from the stage data and then asks about the gaps.

nobody fills in the daily report

Delay reporting

Marking a stage delayed opens a focused form: pick a cause, say how many days or hours, describe what happened, attach photos.

I know we're behind but not why

in Project stage templates by building type
Distinct stage colours

A curated twelve-colour palette picked so two adjacent bars on the schedule are never confusable.

all my stages look the same colour on the chart

in Start Project — the second gate
Estimates ready to start

A banner on the schedule listing every fully signed contract that has no job on the board yet.

signed the contract weeks ago and forgot to start the job

in Build Schedule (Gantt board)
Find a job by name

Type a customer or building name and the schedule hides every job that doesn't match.

too many jobs on the schedule to find the one I want

Jobsite photos

Take or pick photos on a stage, choose whether the customer sees them, and they land in the customer's portal automatically.

photos are on five different phones

in The project cockpit
Link an estimate to a project

Pair an existing project to its estimate job so the customer's dashboard, contact card and pipeline all find it.

customer's dashboard is empty

in Stage checkpoints
Mark a checkpoint not applicable

A checkpoint that doesn't apply to this job stops counting, so the stage can still finish — without deleting or renaming anything.

this job has no garage doors but the stage won't close

in The project cockpit
Materials check — extras, missing and damaged

Record extra, missing and damaged material against the stage where it was found, item by item.

supplier short shipped and I have nothing written down

in The project cockpit
Move the whole job's start date

Pick a new start date and the entire build slides, keeping its length.

customer pushed the job back two weeks

in The project cockpit
Notes on a stage

Rich-text notes attached to a specific stage of a specific job, bonded to the right customer.

notes ended up on the wrong customer

One stage completion, one notification

The database decides who owns the send when a stage completes, so two tabs, a retried request or the crew portal finishing the same stage can never email the customer twice.

my customer got the same update email twice

in Stage checkpoints
One writer for every checkpoint tick

A checkbox ticked in the office and the same box ticked in a field does exactly the same thing.

crew's app behaves differently from the office dashboard

Out-of-sequence stage detection

When a stage ends up sitting months away from the rest of the build, the schedule says so in plain words and offers to put it back.

every time I change the start date the end date goes crazy

in Stage checkpoints
Per-stage checklist edits before a job goes live

Rename, hide or add checkpoints on a specific stage — available until the project is frozen.

this job needs an extra step the template doesn't have

Per-stage notifications for projects

Every project stage can name who hears when it completes — owner, the assigned PM, the crew lead, everyone on the project, named individuals, and the customer — with its own wording per channel.

I want the customer told when framing is done but not on every stage

in Live project dashboard
Phase timeline with milestone checklists

Every build phase as an expandable row showing its checkpoints, which are ticked, when they were completed, and the site photos for that phase.

customer asks if the permit is approved

in Stage checkpoints
Photo proof on a checkpoint

Attach photos when you tick a checkpoint — or afterwards — and they stay with that item.

customer says it wasn't done and I have no proof

in Jobsite photos
Photos record where and when they were taken

Every shot snapshots its GPS position and shutter time, giving an automatic where-and-when trail on jobsite photos.

can't prove the photo was taken at that site

in The design becomes the estimate
Plans for the client, the crew and the shop

Nine documents generated from the design — elevations, footprint, post layout, opening schedule, cross section, assembly notes, material list and a one-sheet — filtered by who they are for.

crew needs a post layout

Project board that moves itself

Every column on the project board is reached by a verifiable action in the system, not by someone remembering to drag a card.

my project board is always out of date

in Project board that moves itself
Project card badges

Finer facts about a job — order sent, materials delivered, deposit paid, review asked for — ride on the card as timestamped badges instead of new columns.

card says delivered and it isn't

Project stage templates by building type

Each building type gets its own list of stages, colours, durations and checkpoints, editable per company.

my stages aren't the same as everyone else's

in Settings workspace
Project Stages settings — stages, notifications, analytics

One tab covering what the stages are, who hears about them, and how they actually go — with the sub-tab and even the stage id in the URL.

edited a stage and its notification is somewhere else

in Out-of-sequence stage detection
Put the stages back in order

Re-lays every stage back to back in plan order from the job's start date, keeping each stage's length.

how do I fix a schedule that's completely scrambled

Release the customer to the project-details form

After a customer approves, they're held until the builder has reviewed it and releases them to the project-info form — which also emails them that it's ready.

customer approved and immediately started filling in forms before I checked it

in Working days (the schedule knows crews don't work weekends)
Seven-day working-week picker

Seven toggles, Monday first, used identically at company, crew and job level.

hard to see which days are set as working days

in Working days (the schedule knows crews don't work weekends)
Shaded non-working days on the chart

Days nobody works are shaded behind the bars, so a bar running through a weekend is visibly wrong.

the schedule doesn't show weekends differently

in Start Project — the second gate
Site address filled in from what the customer already typed

The job-site address is pre-filled from the property details the customer entered on their intake form — and only into a blank field.

retyping the address the customer already gave us

in Who hears about which stage
Stage automation engine

When a stage completes, the org's rule for that stage fires its configured actions — with a plug-in slot for future ones.

I want something to happen automatically when a stage finishes

Stage checkpoints

Every stage carries a checklist of the specific work inside it, and ticking the last one finishes the stage.

no way to track what's actually done inside a stage

in Working days (the schedule knows crews don't work weekends)
Stage duration entered in working days

Type the number of work days a stage takes; the chart works out the calendar span it occupies.

I said 5 days and it gave me 5 calendar days

in Build Schedule (Gantt board)
Stage quick edit

Click a stage bar to change its dates, status and crew without leaving the schedule.

takes too many clicks to move one stage

Stage status, actual dates and variance

Every stage carries a status, real start and finish dates, and how many days it ran over or under plan.

no idea if we're ahead or behind

Start Project — the second gate

A fully-signed contract and an assigned crew turn the estimate into a live project with real stages, and only then does the customer reach the project dashboard.

customer got into the project dashboard before we'd started

in Contract status you can see at a glance
The contract, on the project

A collapsible Contract tile inside the project modal that finds the agreement even when it was signed before the project existed — and repairs the link so it's instant next time.

says no contract for this project but they signed it

in Stage status, actual dates and variance
The estimate is frozen at project start

What you said a stage would take is locked when the job starts; where it sits on the calendar stays free to move.

our variance numbers look good because someone moved the goalposts

The project cockpit

One screen per job holding its dates, stages, checklists, notes, tasks, plans, contracts, invoices, labour and payout.

job information is spread across five different places

in Project card badges
Ticking 'Order Placed' records the order

The Order Placed checkpoint the builder already ticks is what marks the order as sent — however it was actually ordered.

ordered the material by phone and the system still says order not sent

in The project cockpit
Two ways to change the end date

Setting a new end date either slides the whole job or stretches the last stage — and it tells you which before you pick.

changing the end date moved my start date

in Project stage templates by building type
What this stage (and this checkbox) actually means

Written explanations for stages and checkpoints, readable by every crew member, that reach jobs already running.

crew doesn't know what this checkbox means

in Per-stage notifications for projects
Where a stage's behaviour comes from

Each stage shows the rung its rule came from — this stage, all stages of that role, org-wide, legacy or none — and editing an inheriting stage seeds the new rule from what it currently does.

I changed a setting and five other stages changed too

Who hears about which stage

Per-stage rules choosing exactly who is notified — owner, project manager, crew lead, named people, or the customer — and over which channels.

everyone gets emailed about everything

in The project cockpit
Who's on this job

Assign team members to a project; assigned people always get its start, stage-complete and completion notifications.

the person running this job isn't getting the updates

Working days (the schedule knows crews don't work weekends)

Stage durations are counted in the days a crew actually works, so a 5-day stage never quietly runs through a weekend.

my schedule counts weekends as work days

Crew & Labour

59
in One person's record
A framer and a rep get different records

Field crew get hours, days, jobs and earnings; a sales rep gets leads, close rate and rank from the same leaderboard the Sales tab draws; office staff get an honest empty state.

employee profile full of blank fields

in Labour time and expenses
Approvals inbox

One manager screen holding every submitted timesheet and expense from every portal, where approving or rejecting flips the same rows the P&L rolls up.

chasing timesheets across every job

Blocked on site, one tap

A crew picks one of eight reason chips and the office is notified immediately, the stage is marked delayed with that reason, and the plan's dates deliberately do not move.

crew sat around all morning and nobody told me

in Crews
Building Plans access per member

A per-member toggle on the crew card controlling who can link or unlink SmartBuild jobs on a project, which is what makes construction drawings downloadable.

who should be allowed to attach the drawings

Crew acceptance contract

Before a crew starts, its leader reviews the job brief and either signs a personal acceptance agreement or declines with a reason on the record.

crew walked off a job halfway through

in Crew lead signs before work starts
Crew agreements priced from the approved estimate

Four placeholders fill per project at signing — and the labour amount comes from the APPROVED estimate's frozen labour total, not whatever the estimate says today.

crew lead disputes what he was promised

Crew field portal (no login)

One phone screen per crew member, opened from a texted link with no password, where the whole day is clock in, photo, blocked, and the stage checklist.

my guys will never log into another app

in Crew acceptance contract
Crew lead gets the contract by email

Starting a project emails the assigned crew's leader a deep link that opens the schedule with their acceptance contract already in sign mode.

crew lead didn't know there was anything to sign

Crew lead signs before work starts

Assigning a project to a crew creates a pending acceptance contract; the crew lead signs it personally — typed name and drawn signature — before the project goes active.

crew walked off mid job

in Crews
Crew leader that sticks

Leadership is stored on the crew as a durable pointer rather than as a role flag that a background sync overwrites on the next page load.

made him crew lead and it reverted

in Change Order Agreement — a real contract for extra work
Crew must acknowledge new scope before rolling stages

An approved change order has to be acknowledged by the crew lead before they can mark later stages complete.

crew built it the old way after the change was approved

in Sub-accounts — the account IS the page
Crew repair tool

Inspect every crew in a builder's account from outside and fix the broken ones — install a lead, move the pending work to a crew that has one, rename, or delete an empty crew.

my crew has pending work and nobody can accept it

Crew ticks the work off from a phone

The crew ticks the same checkpoints the office does, from a link on their phone, and it means exactly the same thing.

crew won't use anything that needs a login

in Labour calculator
Crew-hours labour mode

Prices labour as crew size × hours × burdened wage, with your own productivity rate in square feet per crew-day.

what does this job actually cost me in labour

Crews

Create crews, colour them, add or remove members, mark them active or inactive, and expand one to reach everything else that is true about it.

crew member count is wrong in different places

in Labour time and expenses
Field worker logs their own time

An in-app field view where a signed-in worker picks a stage their crew is assigned to and logs hours, units or an expense — with identity taken from the session, never the client.

guys can't submit their own hours

in Labour calculator
Flat labour bid and custom labour lines

Override the whole calculator with one number when you've already bid the job, or add named one-off labour lines on top of the formula.

my erector gave me one price for the whole thing

in Crew field portal (no login)
Gloves-and-sunlight interface

The crew screen deliberately abandons the app's own components for 64px minimum targets, near-black on white, chips instead of dropdowns and a sticky escape button.

can't read my phone screen outside

in Crews
Internal crews and subcontractor crews

A crew is either internal employees tracked in-platform or an external subcontractor tracked through a magic-link portal, and the choice drives what gets captured.

half my labour is subcontracted

Jobsite photos with an explicit destination

Two taps to file a jobsite photo against the right job and stage, with two visibly different buttons for 'save to job' and 'save and send to customer'.

photos live in a group text and never reach the job file

Jobsite punch clock

Clock in and clock out from the field with one tap, and the hours are derived from the two timestamps instead of being typed from memory.

guys guess their hours at the end of the week

in Labour time and expenses
Labor & Costs on the project

The office-side panel inside a project for assigning stages to crews, logging hours or units and expenses, approving submissions and reading the rollup.

need to enter hours for a guy who didn't submit

Labour and costs on a job

Assign each stage to a labour source, log hours and expenses against it, approve what comes in, and see the job's margin.

no idea what a job actually cost in labour

Labour time and expenses

One data layer for who owns each stage, the hours or units logged against it, and the money spent on it — written by every portal and read by the office.

hours in one place, receipts in another, job costs nowhere

in Jobsite punch clock
Leader clocks someone in

A crew leader can clock a member of his own crew in or out, and every such entry is stamped with the leader's name.

guy forgot to clock in and now the day is missing

in Jobsite punch clock
Location stamped, never enforced

Clock-in and clock-out coordinates are recorded on the entry, but a bad or missing location never blocks anyone from being paid.

guy says he was on site and I have no way to check

Multi-shot jobsite camera with location stamping

A full-screen camera that takes up to ten shots in a row and stamps each one with GPS coordinates and the time it was taken.

the crew says they took photos but I cannot tell which site

in Jobsite punch clock
One open shift per person

Clocking in while already on the clock returns the existing shift instead of opening a second one.

app double-counted someone's hours

in Crew lead signs before work starts
Pending crew contracts you can chase or sign yourself

A queue of projects waiting on a crew-lead signature, each opening a modal to remind the lead, sign it yourself as owner, or delete a pending contract created in error.

crew lead never signed the acceptance

in Crew field portal (no login)
Per-person field links

One durable, revocable link per crew member, minted from the crew card and idempotent so nobody ever holds two.

guy left and I can't turn off his access

in Jobsite photos with an explicit destination
Photo prepared for one bar of signal

Photos under the ceiling upload byte-for-byte; oversized ones are scaled to a 3000px long edge at q0.92, with rotation baked in and HEIC converted.

photo upload fails on site

in Multi-shot jobsite camera with location stamping
Photos that upload on one bar of signal without wrecking the quality

Photos under the size ceiling upload untouched; oversized ones are scaled before they are ever re-compressed, and iPhone HEIC and sideways orientation are handled on the way through.

photos fail to upload from the jobsite

in Crew acceptance contract
Read and print the signed contract

A read-only view with one tab per signed contract, or the full unsigned document when nothing is signed yet, and a Print / Save PDF button.

need a copy of the signed contract for the file

in Crew lead signs before work starts
Read the crew contract — signed or still pending

One tab per signed contract showing the exact agreement in force at signing, and — when nothing is signed yet — the full current document so the builder can read what the crew is being asked to accept.

crew contract screen was blank

in Crews
Scheduled crew time off

Book a date range when a crew is unavailable with a reason, and the crew flips inactive and back automatically with a notification each way.

assigned a job to a crew that's on vacation

in Jobsite punch clock
Shift that never ended alert

An hourly sweep notifies the crew leader and owners when someone has been on the clock for twelve hours, once per shift, and never closes the shift itself.

guy drove home still clocked in

in Crew acceptance contract
Signed / pending / not sent at a glance

A tile in the project modal showing whether the crew acceptance is signed, pending or was never sent, clickable straight into the document.

did anyone sign for this job

Stage checklist from the field

The same checkpoints the office ticks in the Gantt, on the phone of the man who did the work, ticking only and never unticking.

office has no idea what got finished today

Sub agreement template

Your own crew acceptance agreement text, with placeholders that fill per project — including the labour amount from the approved estimate.

my crew leads sign a generic agreement that isn't mine

Subcontractor portal

One durable link per subcontractor crew that shows only their assigned stages across the builder's projects and lets them report hours, units and expenses with no login.

subs won't create an account in my system

in Subcontractor portal
Subs log hours or units against a stage

The time tab asks for hours or units depending on how that crew is paid, tied to a project and a specific stage, with an optional head count.

my framer is paid per square not per hour

in Subcontractor portal
Subs submit expenses with a receipt photo

An expense tab captures amount, category, vendor and a photographed receipt, uploaded into the builder's own storage namespace.

receipts come as blurry texts

in Crew acceptance contract
Swapping crews mid-project

Reassigning a project ends the current assignment with a required reason and opens a new pending one, leaving the full chain readable afterwards.

had to pull a crew off a job

in Change orders
The crew has to acknowledge the new scope

An approved change order must be acknowledged by the crew lead before they can mark later stages complete.

crew built it the old way because nobody told them

in Crew acceptance contract
The crew sees their pay, not your price

The acceptance brief shows the project, phases, dates and what the crew stands to earn — and deliberately never the customer's bid total.

don't want my crew seeing what I charge the customer

in Crew acceptance contract
The signed record is frozen

Every signature stores the rendered agreement text, a snapshot of the project as it stood, the signer's details, IP and user agent — and is never edited afterwards.

crew claims the job was different when they agreed

in Stage checklist from the field
The tap that finishes a stage

Every checkpoint ticks silently except the last one, which routes through a screen that names out loud who is about to hear about it.

crew accidentally told the customer the stage was done

in Jobsite punch clock
This week, approved vs waiting

The worker's own week in one big number, split into hours already approved and hours still waiting on the office.

crew keeps asking me how many hours they have

in Jobsite punch clock
Today's crew (leader view)

A crew leader sees his own crew as a list of names with two facts each: on the clock since when, or hours already done today.

half my crew forgets to clock in

in Crews
Turn a contractor contact into a tracked crew

A Contractor contact can be given labour tracking in one step, which creates and links an external crew so they get the portal, a pay model and job costing.

my subs are in contacts but not in crews

in Crew acceptance contract
Typed name plus drawn signature

Both a typed name and a hand-drawn signature are required — the typed name is the legally binding part, the drawing makes the printed contract read like a signed document.

need a real signature not just a checkbox

What this crew is owed for this job

A payout breakdown for the job, computed from the hours the crew actually logged — pool, day rates, fuel, surplus, then the split.

how much do I owe the crew for this job

in Labour time and expenses
Which crew owns which stage

Each stage of a job is assigned to a labour source, which decides whose portal shows the work and whose rate prices it.

which sub is doing which part of this job

in Crews
Which days this crew works

A crew can carry its own working week, inherited from the company default unless somebody says this crew is different, and stage durations are counted in those days.

my concrete sub pours on Saturdays and the schedule won't allow it

in Stage checklist from the field
Who may say a stage is done

Marking work complete from a field link is crew-leader-only by default, with one org switch to open it to everyone.

don't want every labourer telling my customer the job is done

in Crew ticks the work off from a phone
Who on the crew may mark work complete

By default only crew leaders can mark stages complete from a field link; a builder who trusts the whole crew can open it.

don't want every labourer marking stages complete

in Crew acceptance contract
Why a crew turned a job down

A crew declining a project picks from a fixed list of sixteen reasons — pay versus scope, schedule conflict, site not ready, skill set, client concerns and more — with optional detail.

crew keeps turning down jobs and I don't know why

in Crew lead signs before work starts
Write your own crew agreement

Settings → Sub Agreement holds your own crew acceptance text; saving publishes a new version and already-signed contracts keep the text they were signed on.

the crew agreement isn't worded how I need it

in Crew acceptance contract
Your own crew agreement, versioned

Each builder writes their own crew agreement text, saved as a new version each time, with {{tokens}} that fill in per project at signing.

your standard contract isn't our contract

Money

139
in Accidental duplicate invoices are impossible
"It really is a separate charge"

When two identical invoices really are two separate draws, you say so on the record and the database accepts it.

three equal draws on the same job and it won't let me

in Day rates + shared surplus
A day is a day over six hours

At or above a configurable threshold the full day rate is earned and never exceeded; below it the day prorates against a standard day.

guy worked 5 hours, what do I pay him

in Your yard's prices behind the model
A guard that stops a price being off by a stock length

A build-time check that every usage the takeoff emits exists in the price book with a compatible unit, and that any count-to-footage conversion has a length to convert with.

the estimate is way lower than it should be

in Fix your own invoicing mistakes
A paid invoice can't be deleted, only voided

The server refuses to delete an invoice that has payments against it, and explains what to do instead.

deleted an invoice and now the payment doesn't match anything

in Your yard's prices behind the model
A running price while you design

The builder shows a sell total that updates as the building changes, priced through the same book the estimate will use.

how much does adding four feet cost

in Change Order Agreement — a real contract for extra work
A signing threshold so small extras don't need a ceremony

Set a dollar threshold above which a change order must be signed before work starts — and until you set one, every change order asks.

do I need a signature for a $200 extra

Accidental duplicate invoices are impossible

The database itself refuses a second invoice for the same project, same amount, same day — and names the one it already has.

invoiced the customer twice for the same thing

in Change orders the customer can review
Approve and sign a change order in place

The customer signs on the change order document itself, inside the dashboard, with the exact agreement text frozen onto the signature record.

customer approved extras by text message

in Bill straight off the estimate
Bill individual estimate components

Tick the estimate components you want to bill — Framing, Sheathing, Trim, Doors & Windows, Trusses, Freight, Foundation — and insert each as its own line.

customer wants to pay for materials separately

Bill straight off the estimate

The invoice knows which estimate the job came from and lets you insert its materials, labour, markup, total, material breakdown or payment stages as line items in one click.

typing the estimate totals into the invoice by hand

in Bill straight off the estimate
Bill the number the customer actually signed

When a fully-executed contract exists, its price — parsed from the literal signed document — outranks the live estimate for invoicing.

invoice is higher than the contract we signed

in Public invoice document
Bill To pulled from the signed intake

The Bill To block uses the structured details the customer entered in their intake form, including co-signer and lender, formatted the way an address is actually written.

the invoice has the wrong name on it

in Invoicing
Bill To pulled from the signed intake form

The legally-required billing block — legal name, mailing address, cosigner, lender, loan number, source of funds — fills itself in from the intake form the customer already signed.

typing the customer's legal name and address onto every invoice

in Change orders the customer can review
Branded Change Order Agreement document

Every change order renders as a real agreement on the builder's letterhead: description, reason, cost adjustment, schedule adjustment, the binding clause and signatures.

we agreed the change on site and nothing was written down

in What texting, calling and email cost, per channel
Call minutes billed the way carriers bill them

Finished calls meter exactly once in whole rounded-up minutes, guarded so a repeated provider callback cannot bill twice.

my call charges don't add up

in Signups — everyone who started, and what they still owe
Cancel and refund a signup

Cancel a subscription and refund the payment with a mandatory reason, with the refund window's state stated on screen before anything is confirmed.

I want to cancel and get my deposit back

in Carrier registration so your texts actually arrive
Carrier fees billed at your own rate, automatically

The one-time brand fee invoices when the brand is submitted, and the monthly campaign fee starts when texting actually turns on.

surprise charges for texting compliance

Change Order Agreement — a real contract for extra work

New work mid-build gets its own branded, signable agreement — description, reason, cost adjustment against the original contract price, schedule impact, and signatures — instead of a verbal yes.

customer asked for extras and now won't pay for them

in Choose how a change order gets billed
Change order marks itself paid

Once every invoice a change order produced is fully paid, the change order rolls up to paid on its own.

have the extras been paid for

in Change Order Agreement — a real contract for extra work
Change order vs amendment — and the chain between them

A contract knows whether it's the original project agreement, a change-order agreement, or an amendment of an earlier contract — and an amendment records which contract it replaces and why.

need to fix a mistake in the contract before we start

Change orders

Price a mid-job scope change, get it signed, and turn it into money — with the schedule impact and the reason on the record.

customer keeps adding things and I never charge for them

in One customer total, everywhere
Change orders that count toward the total

Approved change orders appear on the estimate with a per-row toggle, and the number that leaves the screen includes them.

the extras never made it onto the contract value

Change orders the customer can review

Every change order after it is sent appears on the customer's dashboard with its cost, its schedule impact and its status.

customer disputes the extras at the end of the job

in Change Order Agreement — a real contract for extra work
Change-order acceptance text frozen at signing

The acceptance wording the customer actually read is stored on their signature row, so later edits to the standard text never rewrite history.

what exactly did they agree to

in Invoicing
Change-order lines aren't taxed twice

A change-order line already carries its own markup and tax, so the invoice adds it after tax instead of taxing it again.

customer says the tax on the invoice is wrong

in Colour selection on the estimate
Charge for colour upgrades

Attach a price to a specific colour choice and it becomes its own line in the customer total, markup-able like anything else.

premium colour costs me more and I don't charge for it

Choose how a change order gets billed

Bill a change order on its own, give it its own payment plan, or fold it into the payment schedule the customer already agreed to.

customer feels double billed by the change order

in Invoicing
Choose what prints on the invoice

Twenty invoice sections can each be switched on or off per invoice, and the combination saved as the business's default.

I don't want the customer seeing my material breakdown

in Invoicing
Continuous invoice numbers

Every invoice gets the next number in one unbroken per-business sequence, prefixed with the year but never reset.

my invoice numbers restarted and now I have two invoice 1s

Customer invoices card

Unpaid invoices lead, oldest due first, with settled ones folded away behind a count that says how many are back there.

customer cannot tell what is actually due

Customers pay the invoice online

A Pay button on the customer's invoice page opens a hosted card checkout, and the invoice marks itself paid when the money lands.

waiting on a cheque in the mail

Day rates + shared surplus

A job is figured for a number of days and the crew is paid for those days however fast they finish, with whatever is left over shared back out by hours worked.

crew stretches a two-day job into three

in Change Order Agreement — a real contract for extra work
Days added to the schedule, agreed in writing

Every change order carries a days-impact figure that renders as its own section of the signed agreement.

extras pushed us out two weeks and the customer is angry

in Day rates + shared surplus
Days this job was figured for

Each job carries the number of days its labour was figured for, and the pool never moves when the crew finishes early — that is the whole incentive.

what did we actually price the labour at

in Change orders the customer can review
Decline a change order with a reason

Declining goes through a branded are-you-sure dialog that requires a written reason, which is recorded on the change order for the builder.

customer said no and I do not know why

in Change orders
Declines and withdrawals, with reasons

A customer can decline with a reason, and the builder can withdraw a change order before the customer decides — both recorded.

customer turned down the extra and I need it on record

in Fix your own invoicing mistakes
Delete an invoice that should never have existed

Hide an invoice from every list, total and portal link — while the row survives privately with its reason so the gap can still be explained.

created the invoice twice by accident

in Invoicing
Deposit / progress / final presets

One click fills the invoice with a deposit, progress or final draw off a base amount — or with nothing but the selected change orders.

typing the same deposit line on every job

in Public invoice document
Download the invoice as a PDF

A Download PDF button prints just the invoice, and a deep link fires the print dialog automatically from the builder's own list.

customer needs a PDF invoice for their lender

in Fix your own invoicing mistakes
Every correction records why

Voiding, deleting or reversing requires a written reason — with one-tap common answers — saved with your name and the date, visible only to your team.

can't remember why we cancelled that invoice

in Pay model sandbox
Figured days versus how it actually went

Two controls — how many days the job was figured for, and how many earlier or later it actually finished — with the money reacting live.

what do we save if the crew finishes a day early

Five ways to pay a crew

Every crew carries its own pay model — hourly, lump sum, cost-plus, per unit or day rates with shared surplus — so a framing crew and a concrete sub can sit side by side.

I pay my framers one way and my concrete sub another

Fix your own invoicing mistakes

Void, delete or reverse — three separate remedies for three different mistakes, each requiring a written reason kept on the record.

invoiced the wrong amount and can't undo it

in Priced services that attach to the building
Floor, footer, approach and porch pads

Choose what you walk on — dirt, gravel or a poured slab — with an independent frost footer, an approach in front of each garage door and a pad under each porch.

gravel floor machine shed

in Invoicing
Fold approved change orders into an invoice

Pick the approved change orders that haven't been billed yet and drop them onto an invoice — one line each, or fully itemised.

need the extras on this month's invoice

in Day rates + shared surplus
Fuel, equipment and the truck

A per-day-worked allowance for fuel, equipment and the truck that funds the pool and is charged per crew day, not per person.

day rate doesn't cover fuel and the truck

in Priced services that attach to the building
Garage doors priced from your catalogue

A garage door row in your service catalogue places the actual door on the building at that size, and the insulated toggle prices from the catalogue's insulated row.

what does upgrading to an insulated door cost

in Payment schedule on the estimate
Generate one invoice per payment stage

One button turns the approved payment schedule into a set of draft invoices, each pre-filled with its stage amount.

creating the same invoice three times for one job

in Priced services that attach to the building
Gutters and downspouts, modelled like a real kit

5-inch K-style troughs on every eave with real hangers, end caps, outlets, elbows, 3x4 downspouts, wall straps, shoes and splash blocks — measured in linear feet the roof produces.

gutter footage always guessed

in Pay model sandbox
Hours per worker per day

The sandbox crew is a grid of hours per person per day rather than one total, because the day is where day-rate models actually differ, and past eight days it folds into a per-worker editor.

one guy only worked half the job

in Priced services that attach to the building
Insulate the walls you actually insulate

Insulation is per wall, per product and per thickness, drawn at real inches inside the girts, with square feet measured net of openings.

only insulating the shop side

in Invoicing
Invoice status tracking

Each invoice moves through draft, sent, viewed, partial, paid and void — and overdue is derived on read so nothing needs a nightly job.

I don't know if the customer even opened the invoice

Invoicing

Build, brand, send and track invoices against a project, with line items pulled from the estimate or from approved change orders.

retyping the estimate into QuickBooks every time

Invoicing hub

Every invoice across every job in one searchable, filterable list grouped by project.

who owes me money right now

in Labour time and expenses
Job expenses with receipts

Spend logged against a project and stage with a category, vendor, company-or-reimbursable card type and an uploaded receipt.

receipts in the truck glovebox

in Labour time and expenses
Job P&L — estimate versus actual

Quoted price and estimated costs from the estimate against actual labour, approved expenses and supplier material orders, with the margin computed.

found out we lost money after the job was done

in Invoicing
Line item editor

Free-form invoice rows with a bold title, a long description, quantity, unit and unit price — each tagged by where it came from.

invoice save button does nothing

in Contract generated from the approved estimate
Margin can't fall out of the contract total

When the contract has to compute a total from parts, markup is included — a fix for a path that once produced a contract priced at cost.

contract total is lower than my estimate

in Change orders
Material, labour, markup and credit lines

Each change-order row is typed as material, labour, markup or credit, and credits subtract from the total.

customer removed something and I need to credit them

Materials and budget on the project

Every purchase order linked to a project, totalled as ordered / paid / open, with material spend per build phase against a budget you set.

how much have I spent on materials for this job

Money already collected on a job you bring in

When you bring an in-flight job into the system, money already collected is recorded as an opening balance — not as a fake paid invoice.

I have twenty jobs already running, how do I get them in

in Your Investment breakdown
Monthly payment estimate

A real amortised monthly figure on the estimate, using the builder's own lender terms when they have set them.

customer says the number is too big

in The signed agreement on file
Named-competitor exclusivity

Add named competitors a builder is protected against after signup — either charged as a recurring line or granted complimentary — as an append-only legal addendum that never rewrites the signed contract.

I don't want my competitor down the road using the same system

in Your material price book
Naming what went unpriced

The takeoff totaliser reports how many lines priced, how many didn't, and exactly which ones — so a low total becomes a list instead of a mystery.

the total looks low and I can't find why

in Live project dashboard
Needs-your-attention action rail

A compact rail in the dashboard header showing only what genuinely needs the customer — an unpaid balance or an unsigned change order — and nothing at all when there is nothing outstanding.

customers miss invoices

in Bill straight off the estimate
Never put another customer's number on your invoice

If the invoice cannot prove which contract belongs to this job, it refuses to look one up rather than guessing.

invoice showed a completely different customer's total

in Payment schedule on the estimate
Never re-bill a draw that was already paid

Regenerating the schedule skips any stage that already has money against it, and tells you which ones it skipped.

billed the customer twice for the deposit

in Customers pay the invoice online
Nightly payment reconciliation

A scheduled sweep replays any settled payment from the last three days that never made it onto an invoice.

customer's payment never appeared in the system

in Day rates + shared surplus
Nobody has worked it, nobody has earned it

With no hours logged there is no surplus to share, so an untouched pool can never be reported as money someone is owed.

system said I owed someone the entire job value

in Day rates + shared surplus
Nobody quietly earns nothing

A crew member with no pay tier is named on the payout screen and counted on the crew cost table, because otherwise they silently earn nothing and the crew day looks cheaper than it is.

one of my guys got paid nothing and nobody noticed

One Billing tab per job

Invoices and change orders sit under a single Billing area on the project, each still permission-gated on its own.

invoices and change orders are in two different places

in Your Investment breakdown
One pricing calculator for the app and the customer page

The customer-facing page calls the same serviceLineTotal function the app uses, so the two can never disagree about a line's price.

the price on the customer link does not match my estimate

in Change Order Agreement — a real contract for extra work
Original price, add or deduct, new contract total

Section 3 shows the original contract price, the ADD or DEDUCT amount, the resulting new contract total, the payment terms, and the itemised lines behind the number.

customer surprised by the final total

in Your material price book
Override a real material, not just a line type

Each takeoff line is bound to the real material it's made of, so changing '2x6 SPF' once changes every girt, cripple and sill on every estimate.

one lumber price change means editing ten line types

in Customers pay the invoice online
Paid the moment they come back

When the customer returns from the payment page the invoice verifies the session server-side and marks itself paid — no webhook required.

customer paid and the invoice still says unpaid

in Record a payment
Paid totals derived from the payment rows

What an invoice has been paid is recomputed from the live payment rows rather than patched, so a wrong total can heal itself.

invoice balance doesn't match the payments listed

in Five ways to pay a crew
Pay model sandbox

An interactive demo crew you can add, rename, re-rate and delete freely, to see exactly what each pay model does to the money before committing to it.

should I switch my crew to day rates

in Customers pay the invoice online
Pay part of it now

A customer can pay less than the full balance, and the invoice records it as a partial payment rather than settling.

customer wants to pay a deposit online

in Five ways to pay a crew
Pay Structure, one tab per model

Settings › Pay Structure is a sub-tab per pay model, each holding only its own rates, calculator and worked example.

don't understand the difference between these pay models

Pay the supplier, in full or in part

Record a payment against an order with the method, see the balance move, and take it straight back if the figure was wrong.

how much do I still owe this supplier

in Public invoice document
Pay this invoice online

A Pay button that opens a hosted checkout for the balance and confirms the payment on return, with the button hidden entirely when the builder has no provider connected.

customers pay late because paying is a hassle

in Sub-accounts — the account IS the page
Payment history for one account

Every payment a builder has made, one row per invoice, expandable into line items, receipt, branded invoice, refunds and failed attempts — scoped strictly to that account's own subscription.

I need a receipt for something I paid the software company

in Live estimate page
Payment schedule on the estimate

The builder's own payment stages with percentages and dollar amounts, shown as progress dots, and kept in sync if the builder edits them after sending.

customer did not know a deposit was due

Payment schedule on the estimate

Set the deposit and draw percentages on the estimate, with the dollar amounts shown against the customer total and a hard requirement that they add to 100%.

deposit terms were verbal and now they're disputed

in Sub-accounts — the account IS the page
Per-account messaging pricing dial

The only screen that ever shows base cost and markup: per-rate pricing for one account, plus month-to-date usage with revenue, cost and margin.

I have no idea what my texts actually cost

in Payment schedule on the estimate
Percentages that always total 100

Type one stage's percentage and the rest rebalance automatically; anything you typed stays pinned.

my payment stages don't add up

in Sub-accounts — the account IS the page
Plan changes and trial extensions

Move an account between plan tiers or push a trial out by a set number of days, both from the account's Overview with a branded confirmation.

I need a few more days to finish evaluating

in Invoicing
Preview and print/save PDF

See the exact customer-facing document before sending, and print or save it as a PDF from any surface.

want to see the invoice before I send it

Priced services that attach to the building

Pick a row from your own service catalogue — gutters, concrete, insulation, stone, garage doors — and it appears in 3D with a quantity the building measures itself.

gutters and concrete are always a separate guess

Public invoice document

A branded, read-only invoice at its own token URL that the customer can read, print, or pay, with no login.

customer says they never got the invoice

Record a payment

Log what the customer actually paid — cheque, ACH, wire, cash, card or other — and the invoice's balance and status update themselves.

tracking who has paid what on a spreadsheet

in Payment history for one account
Refund one charge (72-hour window)

Refund a single payment without cancelling anything, offered only inside the 72-hour window before funds settle and confirmed by typing the word refund.

I got billed twice and want one back

in Payment schedule on the estimate
Reminders that make sense weeks later

One tap on an instalment raises a reminder already carrying which payment, how much, who to, which job and which PO.

forgot to pay the supplier

in Bill straight off the estimate
Resync the attached estimate

Re-read the estimate's totals and payment schedule after it has been revised, without detaching it.

revised the estimate but the invoice still shows the old total

in Fix your own invoicing mistakes
Reverse a payment recorded in error

Back out a payment that was never really received — it stays listed, struck through, and the invoice balance and status are recalculated from what remains.

entered the same cheque twice

in Payment schedule on the estimate
Save your payment terms as presets

Save a schedule you use often, name it, and load it onto any estimate — with the percentages summarised right in the picker.

retyping the same terms on every quote

in Payment schedule on the estimate
Saved payment terms

Save the schedules you actually use and apply one to a new job in a click.

setting up the same payment terms on every job

Send the invoice to the customer

Sending picks the channels, delivers through the business's own email and SMS, logs the message into the customer's conversation thread, and locks the invoice.

customer says they never received the invoice

in Change orders
Separate signature per supplier block

When one change order draws on several suppliers, the customer sees each supplier's portion separately and signs each block, and the CO only approves when all are signed.

one change order covers two suppliers

in Change orders
Signing threshold for small changes

Set the dollar figure above which a change order must be signed before work proceeds — and until you set one, everything asks.

do I really need a signature for a $200 extra

SKU price manager with margin flags

Edit cost and price per SKU in a searchable grid that flags zero-priced items, low margin under 20% and high margin over 40%.

some SKUs are priced at zero and I don't know which

in Change Order Agreement — a real contract for extra work
Split a change order across suppliers, sign each block

When a change order's line items belong to different suppliers, each supplier block gets its own signature — and the change order sits at 'Partially Signed' until they're all in.

one change order needs sign off from two suppliers

in Choose how a change order gets billed
Split one change order into buckets, routed separately

Break a change order into named dollar buckets and send each one wherever it belongs — its own invoice, a new scheduled payment, or merged into an existing draft payment.

half the change order should be billed now and half later

in Day rates + shared surplus
Surplus split by hours, not by tier

Whatever the pool has left over is divided strictly by each person's share of total crew hours, so attendance decides the share and the tier only decides base pay.

how do I split a bonus fairly

in Payment schedule on the estimate
Swipe between draws on one job

Inside an invoice from a payment schedule, swipe left or right to move through the job's other draws, each with its own accent colour.

closing and reopening to check the next draw

in One send path for every customer email and text
Texts are counted the way carriers charge for them

Every outbound text is measured in billable segments, accounting for the encoding cliff that a single emoji causes.

my texting bill doesn't match what I sent

in Pay the supplier, in full or in part
The balance is always derived from the payments

Amount_paid is recomputed from the payment rows every time anything changes — never maintained by hand.

order says nothing paid but we paid it

in SEO autopilot
The budget guard

Two ceilings — one per cron pass, one per month — are checked before every model call and every image, and the meter reads off the same ledger the record writes to.

AI tools cost whatever they cost and you find out later

in Change Order Agreement — a real contract for extra work
The change order you review is the one they sign

Admin and customer render the exact same agreement component — after a period where the two screens showed materially different documents for the same change order.

my copy of the change order doesn't match theirs

in Bill straight off the estimate
The estimate is locked to the project — changing it is recorded

An invoice uses the estimate its project was created from; pointing it at a different one takes a confirmation, a written reason, and is stamped with who did it.

the estimate keeps deselecting itself and I have to pick again

in Your yard's prices behind the model
The full yard price list

252 real materials across nine categories, searchable by name and SKU, each with what it costs and what it sells for.

need my own price for every size of lumber

in Day rates + shared surplus
The pay ladder (tiers)

A per-org, open-ended list of tiers with a day rate each, editable in place on the Crews tab and retired rather than deleted.

every guy negotiated his own rate and I can't keep track

in Accidental duplicate invoices are impossible
The same cheque can't be recorded twice

A payment with the same reference and amount on the same invoice is refused by the database, with a message that says it was not added a second time.

recorded the same cheque twice

in Payment schedule on the estimate
The schedule at a glance on the order card

Segments as wide as their share, green for paid, red for overdue, neutral for upcoming — so the card says four payments AND which one is the big one.

which orders have payments due

in Sub-accounts — the account IS the page
The signed agreement on file

The signup record behind an account: who signed, when, the frozen document version, the initialled sections, and a link to the full signed agreement.

what exactly did I sign up for

in Your yard's prices behind the model
This building's own material choices

A design can specify its own materials — 26ga panels, a heavier post, treated girts — and the choice reaches the price, not just the description.

customer wants 26 gauge on this one

in Change Order Agreement — a real contract for extra work
Three ways a change order reaches the customer's bill

Bill it on its own, give it its own payment plan, or fold it into the agreed schedule — each explained in plain language before you choose.

how do I bill the extras

in Payment schedule on the estimate
Ticking an instalment books the money — and un-ticking takes it back

Marking an instalment paid records a real payment and remembers which one, so un-ticking removes exactly that payment.

schedule and balance disagree

in Choose how a change order gets billed
Turn an approved change order into invoices

One action creates the real invoices and invoice lines each division needs, falls back safely when a target is no longer billable, and never double-bills.

billed the change order twice

in Fix your own invoicing mistakes
Type DELETE to remove a draft

A draft invoice can be removed outright, but only after typing the word DELETE — and only while it is still a draft.

accidentally deleted an invoice

in Your material price book
Unit-mismatch protection on every priced line

When the book prices per foot and the takeoff counts objects, the conversion is done for you — because forgetting it doesn't error, it just silently bills a 27-foot panel as one foot.

my estimate total is a third of what it should be

in Invoicing
Unsaved-changes guard

Closing an invoice with unsaved edits prompts before discarding them.

lost everything I typed on the invoice

in Phone & Texting settings
Usage and costs, without leading with a bill

One collapsed Usage & costs section per channel, offering this month and past months as modals, with the rate table hidden behind an info control.

the settings page reads like an invoice

in What texting, calling and email cost, per channel
Usage attributed to the line it went out on

Every text and call records which of your own numbers carried it, so usage can be read per line rather than only per account.

I can't tell which number is running up the bill

in What texting, calling and email cost, per channel
Voicemail transcription priced as its own thing

Transcription is metered as its own unit rather than being buried inside the per-minute call rate.

my call rate seems high for what I use

in Fix your own invoicing mistakes
Void an invoice

Cancel an invoice that was genuine — it keeps its number, stays visible struck through, and stops counting toward revenue.

job cancelled after I invoiced

in Bill straight off the estimate
Warning when the estimate has moved since signing

If the estimate now totals more than the signed contract, the editor shows both figures and the exact difference and tells you to raise a change order.

did extra work and forgot to charge for it

in Your yard's prices behind the model
What each part of the building is actually made of

Every takeoff usage is bound to a real product — girts are 2x6 SPF, posts are the 3-ply laminated column — so changing one material price moves every place it is used.

lumber went up, I do not want to edit fifty rows

What texting, calling and email cost, per channel

A per-account rate card and monthly usage, split so a builder asking 'what does texting cost me?' does not have to read past email pricing.

I don't know what my messaging actually costs

in Day rates + shared surplus
What this crew is owed for this job

A panel inside the project that shows the pool, the day rates earned, the equipment, the surplus and then every person's line — and refuses to guess when it cannot work it out.

working out crew pay in a spreadsheet every Friday

in Day rates + shared surplus
What this person's day is worth

Each crew member carries a pay tier, set from a picker beside their name on the crew card, shown only for crews actually paid that way.

which of my guys is on which rate

in Day rates + shared surplus
When the crew runs long

A crew that runs past the figured days has no surplus to share, still earns its day rates, and the overrun comes out of the builder's margin rather than becoming a debt against the men.

job took twice as long, who pays for that

in Change Order Agreement — a real contract for extra work
Why the change is happening, on the record

Section 2 is a checklist of seven reasons with the chosen one ticked — customer request, code required, site condition, error correction, scope addition, scope reduction, other.

customer thinks the extra cost is my mistake

in Pay the supplier, in full or in part
You cannot pay more than you owe

A payment is capped at the outstanding balance, read live from the payment rows rather than the cached figure.

balance went negative

in Invoicing
Your business on every invoice

Logo, company name, address, phone, email, website and brand colour are set once in My Business and print on every invoice, contract and portal screen.

wrong phone number printed on my invoice

in Live estimate page
Your Investment breakdown

The money broken out the way the builder sees it: materials, labour, services as a category with its own lines, markup, tax, then the customer total.

customers pick apart my labour line

Your material price book

A per-account book of what each material costs you and what you sell it for, edited in Settings when the yard changes its pricing.

lumber went up 20% and my quotes didn't move

in Contract generated from the approved estimate
Your real payment terms in the contract

The contract states the payment stages set on that job — percentages and dollar amounts — instead of a generic 50/50 the software invented.

contract says 50/50 but we take a deposit

Your yard's prices behind the model

Every takeoff line prices through a real material with a cost and a sell price, editable per shop, so the design has a live dollar total.

lumber went up and every quote is stale

Customer Experience

138
in Customer signs the contract on their phone
'Preparing your agreement' hold that unlocks itself

Between the customer submitting their details and the builder releasing the contract, the customer sees a branded holding screen that turns into the signing page by itself the moment you hit Send.

customer keeps asking when the contract is coming

in Customer signs the contract on their phone
'What you're approving' restated above the agreement

A short panel above the contract restates the project name, building summary, site address and total — so signing is never a leap of memory.

customer forgot what they were buying

"Where are my materials?" on the customer's card

Every order raised for a customer, grouped by their jobs, with status, due date, exceptions, claims and the lines — answerable without going near the supplier.

customer is asking where their materials are

in Appointment lifecycle
24 hours, 1 hour, 5 minutes

Three reminders to both the prospect and the host, each carrying a large Join the meeting button when a video link exists.

I forgot the demo I booked

in Rewrite what the system says to your customers
A text with a missing value is never sent

If any token in a text template cannot be filled, the text is skipped entirely rather than sent with a hole in it.

the customer got a text with a blank in it

in Personalised Proposal Page
Accept and Pay in the Page

Pick a package, add exclusivity slots, sign, and pay — all in the proposal, with the welcome email guaranteed to send.

signing up takes a phone call and a week

in Customer replies actually reach you
Alert when a customer replies

A team notification fires on an inbound text or email reply, once per message, and only if the account has opted into notifications.

a customer replied hours ago and nobody noticed

Appointment lifecycle

Everything that happens around a booked meeting: reminders to both sides, an outcome note when it is done, a two-step follow-up when they do not show, and a cancellation email with a reason.

people forget the meeting they booked

in Review and send the estimate
Attach plans and blueprints to the quote

Pick drawings straight from the job's generated plans, and they're rendered, uploaded and attached to the customer's estimate page.

customer wants to see the elevations with the price

in Onboarding checklist per account
Book the onboarding call for them

A month grid of real free slots inside the account, pre-filled with the customer's details, so the onboarding call is booked on the phone in one click.

we played phone tag for a week to book the kickoff

in Appointment lifecycle
Booked inside the day? Then no “tomorrow” note

If the meeting was booked less than 24 hours out, the day-before reminder is skipped entirely and the sequence goes straight to the one-hour note.

I booked and immediately got a reminder

Brand Center

Set logos, colours, type and footer once, and every email and customer-facing page restyles to match.

the emails my customers get don't look like my company

in Brand Center
Brand colours for email

Named colour fields — accent, header bar, heading text, body text and page background — plus a light or dark appearance, each with a swatch picker and a hex box.

pasted my brand colour and it didn't take

in Your logo and name throughout
Branded sign-in page

The sign-in screen on your address shows your logo and company name in the header.

my crew logs into something that doesn't look like our company

in Customer picks window, door and garage door colours
Builder colour overrides and unavailable-colour warnings

When the builder overrides or restricts a colour, the customer gets a pinned banner, a pulsing warning triangle and a written reason instead of a silent swap.

customer found out at delivery that their colour changed

Builder gates and auto-advancing hold screens

The customer waits on a friendly branded screen at the same URL until the builder is ready, and the page advances itself the moment they act.

customer saw a dashboard full of stages that do not apply to their build

in Client portal (one link, no password)
Builders never log in to their own estimate

A signed-in builder or agency user opening their own customer link is admitted straight through, password or not, and the visit is not counted as a customer view.

I got an alert saying the customer opened it but it was me

in One conversation per customer — texts, emails and calls in a single thread
Calls read as calls in the conversation

Incoming, outgoing, missed and voicemail rows are colour-coded with a direction arrow instead of being grey text you have to read.

I can't tell from the history who called who

in Appointment lifecycle
Cancel with a reason the prospect actually reads

The host picks a reason, sees the exact message it produces, edits it if they want, and the prospect gets that message — with a reschedule link unless the reason was that it is not a fit.

cancelling by email feels bad

in Change orders
Change Order Agreement document

A branded, six-section contract amendment — description, reason checklist, cost adjustment, schedule adjustment, agreement clause, signatures — generated from the change order.

the change order I see doesn't match what the customer signed

in Service catalog (your add-ons, priced)
Change the customer note for one customer only

Rewrite or silence a service's customer note on one estimate without changing the standard wording for anybody else — and put it back in one click.

this customer keeps asking about frost depth

in What They See — control every customer-facing stage
Change what a sent estimate shows, without resending

The same switches, three days later — the change reaches the customer's existing page on their next load, with no resend and no new link.

customer asked me to hide something and I'd have to resend

Client portal (one link, no password)

Every customer gets one durable URL that starts as their estimate and turns into their live project dashboard, with no account to create.

customers cannot find the estimate I emailed them

in Settings workspace
Client Portal settings — one sub-tab per customer stage

The customer's whole funnel configured as four sub-tabs — Estimate, Form, Contract, Dashboard — each the control surface for what the customer sees at that stage.

portal settings are organised by our system, not by what the customer sees

Colour selection on the estimate

Window, door, garage-door, roof, wall, trim and wainscot colours managed on the estimate, with the customer's own picks visible to the builder as they happen.

customer changed the colour and nobody told me

in Customer signs the contract on their phone
Come back to your signed contract any time

Once signed, the same URL renders a read-only copy with the customer's own ink instead of the signing form — no bounce, no double-signing.

can't find my signed contract

in Live project dashboard
Contact your builder from the dashboard

A contact block and call button on the dashboard, using the one authoritative business number and hiding itself entirely when that number is blank.

the call button on my customer portal dialled the customer

in The public blog
Contents rail with reading progress and share

A sticky rail in the left gutter lists the article's sections, highlights the one you're in, shows how far through you are, and carries the share buttons — collapsing inline on phones.

long articles are hard to navigate

in Contract generated from the approved estimate
Contract links a customer can open without a password

The customer signs from a link — no account, no password — and the link is a 122-bit random id, rate-limited on read.

customer can't remember their password

Contracts that read like legal documents, not code

A purpose-built renderer that turns the contract's markdown into a typeset legal document — accented section rules, small-print notice blockquotes, money tables — in the builder's brand colour.

the contract looks unprofessional

in Portal wears the builder's brand, not ours
Contrast measured, not guessed

Every text and accent colour is chosen by measuring real WCAG contrast against the surface it will sit on, so no brand colour can produce an unreadable page.

my white logo disappears on the header

Control what rides alongside the agreement

Per-estimate switches for the material around the contract — the price recap, the plans block, the Print/Save PDF button — while the clauses themselves stay under the template's control.

don't want the total shown again on the contract page

in Identity gate (name, email, phone) instead of a password
Customer can add their own password

A customer who wants privacy can set a password on their own link from the sign-in screen, and it cannot be overwritten afterwards.

I do not want my neighbour seeing my building price

Customer funnel checklist

A popover on the selected estimate listing all five customer stages with a checkmark on each one cleared and a link that opens what the customer is actually looking at.

what is the customer actually looking at right now

Customer invoice page (no password)

Every invoice has an unguessable link that opens a branded, printable, payable page — no account, no password.

customer can't be bothered making an account to see a bill

in Live estimate page
Customer picks window, door and garage door colours

Three colour rows on the estimate the customer can change themselves right up until they approve, saved to the job rather than to one link.

customer changed their trim colour and we never got the message

Customer replies actually reach you

Signed receivers for inbound texts and emails that store the message first and work out who sent it afterwards, so nothing can ever be dropped.

customers reply and nothing shows up

in Change Order Agreement — a real contract for extra work
Customer signs the change order on the document

From their portal the customer approves and signs the change order inside the document itself, or declines with a reason that lands on the record.

customer approved the extras by text and now denies it

Customer signs the contract on their phone

A branded page where the customer reads the whole agreement, ticks the acknowledgment, types their legal name, draws a signature, and submits — no app, no login.

printing and scanning contracts

in Portal wears the builder's brand, not ours
Customer surfaces always render light

The whole customer funnel, the invoice and the subcontractor portal force light mode regardless of the visitor's device preference.

customer said the form fields were blank white on white

in Brand Center
Customer-facing style and typography

A separate palette and font set for the customer portal, with the real typefaces loaded into the settings page so the samples are honest.

customer page is unreadable in my brand colours

in SmartBuild, connected
Customer-readable spec rows from a SmartBuild job

SmartBuild answers are turned into plain spec lines a customer can read — dimensions, roofing, siding, support structure, foundation, openings — with post-frame and stud-frame variants.

proposal shows codes the customer cannot read

Customers are never asked to log in

Every customer-facing surface — invoices, portals, crew links, booking pages, policy pages, lead forms — is explicitly exempt from the login wall, with an unguessable token as the authentication instead.

my customer clicked the invoice and got a login screen

in Email Studio
Desktop, tablet and mobile email preview

Every email in the catalogue can be viewed at desktop, tablet or phone width, with light and dark switching.

the email looks broken on my customer's phone

Documents open in place, never navigating away

Invoices, agreements and change orders open in a modal over the dashboard, with their own page chrome suppressed by an embed mode.

customer clicked the invoice and lost their place

in What They See: one control panel for all four customer stages
Drag-reorder the customer estimate sections

The estimate page renders its section column in whatever order the builder saved, with new sections dropping into a sensible factory slot.

I want the warranty above the price on my quotes

in Initial every clause, not just sign at the end
Draw your initials once, then tap each section

One sticky pad at the top of the agreement: draw your initials once, then tap 'Tap to initial' on each clause as you read it.

too much work to sign on my phone

Email Studio

A live catalogue of every email the platform can send, rendered on this company's brand, so a builder can see exactly what their customers receive.

what emails is this thing sending to my customers

in One conversation per customer — texts, emails and calls in a single thread
Emails render the way the customer sees them

Email bodies display inside a sandboxed, auto-sizing frame so table-based formatting survives instead of being stripped.

emails look like a wall of broken text in the CRM

in Run it on your own domain
Every customer link built on the right domain

One resolver decides the address used in every outgoing customer link, and it refuses to ever emit a developer machine's address.

the link I sent my customer doesn't open

Every message the system sends your customers, listed and switchable

A registry of every customer-facing message — estimate ready, contract to sign, stage complete, photo update and the rest — each with its own on/off switch and editable wording.

I don't know what emails my customers are getting

in One conversation per customer — texts, emails and calls in a single thread
Forward a customer email to someone else

Forward any email in the thread to a new address with an optional note on top.

I need to send this customer's email to my supplier

in Client portal (one link, no password)
Four-stage progress rail

A quiet hairline rail at the top of every customer page showing Estimate, Your Details, Agreement, Live Project, and which one they are on.

customer does not know what happens after they sign

in What They See — control every customer-facing stage
Hide a single service line — or just its price per unit

Every service on the estimate gets its own switch, plus sub-switches for its measurements and its unit price — and hiding a line never changes the customer total.

don't want them seeing my concrete rate

in Client portal (one link, no password)
Identity gate (name, email, phone) instead of a password

When a sign-in is shown at all, it asks for name, email and phone so the builder learns who actually opened the link, not to keep anyone out.

I do not know if my customer even opened the quote

Initial every clause, not just sign at the end

Templates with numbered clauses require the customer to stamp their initials on each one — evidence that each term was read and accepted section by section.

customer says they never read that clause

in Initial every clause, not just sign at the end
Initialed counter and a block on signing until it's complete

A live 'X / 13 initialed' chip, an explicit message naming how many are outstanding, and a sign button that stays disabled until every clause is stamped.

customer skipped a section

in Initial every clause, not just sign at the end
Initials render everywhere the contract does

One shared helper renders captured initials into every read-only view — customer copy, builder viewer, counter-sign modal and print — so no surface shows a blank line where an initial belongs.

printed contract shows blank initial lines

in Service catalog (your add-ons, priced)
Internal note vs customer note on a service

Every service carries two descriptions — a private one for whoever is building the estimate, and a plain-English one the customer reads under that line on the portal.

my internal notes almost went out to a customer

in Live project dashboard
Jobsite photos with lightbox

A grid of the builder's published site photos with a full-screen lightbox, arrow-key navigation and a position counter.

customer keeps asking for pictures

in Brand Center
Live email preview while you edit

A real email renders beside the brand controls and re-renders as you change them, with a picker for which email to preview.

had to send myself test emails to see the branding

Live project dashboard

Once the build starts, the same URL becomes a live view of the customer's project: what stage is underway, what milestone is next, photos, activity, invoices and their agreement.

customer calls every week asking how the build is going

in Colour selection on the estimate
Mark colours unavailable

Take specific colours off the table for a job, and flag it immediately when the current pick is one of them.

customer picked a colour we can't get

in One conversation per customer — texts, emails and calls in a single thread
Merge tags that fill in the customer's details

Insert {{contact.first_name}}-style tokens from a searchable list, with a live preview of what each will become.

templates that still need the name typed in

in One conversation per customer — texts, emails and calls in a single thread
Messages from numbers you don't have saved

Texts and emails from unrecognised senders collect in their own tab where you attach them to a contact in one click.

someone texted my business number and I never saw it

in Personalised Proposal Page
Named-Competitor Exclusivity

A builder can pay to block specific named competitors from the platform, rather than buying a vague claim over a whole category.

my competitor down the road uses the same software

in SmartBuild, connected
Never print 'undefined' to a customer

A material SmartBuild could not resolve is dropped from the customer-facing list and falls back to an honest count, instead of printing an error message dressed as a product.

estimate shows undefined next to a code

in Customer signs the contract on their phone
No unsettling half-signed page

Between the customer's signature and the builder's, the customer sees a reassurance card instead of a signature grid with one empty half.

customer worried the contract didn't go through

in Appointment lifecycle
No-show follow-up, empathy first

Marking a no-show sends a first email that asks if everything is okay and says nothing about rebooking; if nothing comes back in 24 hours, a second, still humble, check-in follows — unless they replied.

they no-showed and I don't want to seem pushy

One conversation per customer — texts, emails and calls in a single thread

Every text, email, call, voicemail and photo for a customer shows in one time-ordered thread on their contact record.

I can't remember if I texted or emailed them

in Doors and windows on the building
One name a builder and a customer both read the same way

Openings are named by what goes through them — Entry Door, Overhead Door, Sliding Door, Window — with the trade names kept searchable so nobody has to relearn their own vocabulary.

customer does not know what a walk door is

in Portal content library (why us, warranty, FAQ, footer)
One phone number on every customer surface

The number a customer sees comes from one field, Business Info phone, with no fallback chain — an empty field shows no number at all.

my quote told the customer to call their own number

in Settings → Notifications
One switch per channel for customer messages

Every customer-facing message carries independent Email and Text switches, so you can text them about the estimate and email them the contract.

my customers say I message them too much

in Colour selection on the estimate
Overriding a customer's colour, with an explanation

When the builder has to change a colour the customer chose, the reason is captured and shown to the customer on their own dashboard.

had to change their colour and they were upset

in Portal wears the builder's brand, not ours
Per-builder typography

Each builder picks a display, body and mono face from a curated list, loaded at runtime for the portal only.

the portal font is not our brand font

in What They See: one control panel for all four customer stages
Per-service measurement and unit-price switches

Each service line has two separate switches, one for how much there is and one for what each costs, labelled with the words from the builder's own catalog.

I do not want the customer seeing my per square foot rate

Personalised Proposal Page

A builder receives their own proposal page with their company name through the copy, their package pre-selected and their details already filled in.

generic sales pages that don't mention my business

in One conversation per customer — texts, emails and calls in a single thread
Photos customers text you, filed automatically

Every image texted to your number is collected into a Photos section on the contact record with a swipeable gallery.

the customer texted me a photo of the site and I can't find it

in Estimate version history
Pin the version the customer sees

Choose which version the customer's portal shows — including deliberately an older one — without destroying anything newer.

customer wants the version from before we changed it

in Customer signs the contract on their phone
Plans and blueprints one click from the terms

The same plan files attached to the estimate render as buttons above the agreement, so the customer can check the drawings while reading the terms.

customer signing without seeing the drawings

in Voicemails and call recordings collected on the contact
Playable voicemail with a synced transcript

An in-brand audio player whose transcript highlights as it plays and jumps the audio when you click a word.

voicemails show as an attachment I can't play

Portal content library (why us, warranty, FAQ, footer)

The reusable sales copy on every quote — why choose us cards, the warranty block, the FAQ and the contact footer — set once per builder and overridable per estimate.

every quote I send needs the same warranty paragraph retyped

Portal wears the builder's brand, not ours

A builder picks a logo and a colour and the entire customer portal re-skins: buttons, headings, hairlines, greys and the dark hero band.

the customer portal does not look like my company

in Customer contract signing page
Preparing your agreement hold

After the details form, the customer sits on a branded waiting screen until the builder releases the agreement, and the page unlocks itself the moment they do.

customer emails asking where the contract is

in Customer signs the contract on their phone
Print or save the agreement as a PDF, signatures included

A pinned Print / Save PDF button on every contract surface, with a print stylesheet that isolates the document and keeps both drawn signatures and every initial in the output.

customer wants a copy of the contract

in Stage complete — one send, once
Project complete congratulations

When the last build stage finishes, the customer gets a completion message instead of another generic stage update.

customer never got a proper sign-off

in Live project dashboard
Project summary tiles

Four compact tiles at the top of the dashboard: project total, current stage, approval date and milestones completed out of total.

customer forgot what the project total was

in Builder gates and auto-advancing hold screens
Project-started celebration

The first time the build goes live, the customer gets confetti and a welcome card telling them to bookmark their new dashboard.

the start of the build is just another email

in Live project dashboard
Recent activity feed with reveal in fives

A running feed of completed milestones, stage changes and photo days, showing five at a time with reveal-five, reveal-all and collapse controls.

the update feed is a wall of text

in The agency calendar
Reminders, no-shows and cancellations

24-hour, 1-hour and 5-minute reminders to both sides with a join button, an empathy-first no-show follow-up, and cancellations that carry the real reason.

I forgot about the call

Review and send the estimate

A three-tab send flow — who gets it, what the quote says, and what they see — that produces a live customer page instead of a PDF attachment.

emailing PDFs and never knowing if they opened it

in Every message the system sends your customers, listed and switchable
Rewrite what the system says to your customers

Replace any catalogued message's email title, body and button label, and write its text version separately — with a restorable original.

the automatic emails don't sound like my business

in One conversation per customer — texts, emails and calls in a single thread
Same message never shows twice

A message that exists in both GoHighLevel's history and our own store is collapsed to one row.

every text I send shows up twice

in One conversation per customer — texts, emails and calls in a single thread
Saved snippets, templates and signatures

Reusable message bodies — with a subject for email and an optional auto-appended signature — stored per account, seeded on first use.

I retype the same follow-up message twenty times a week

in The Customer Journey (13 chapters)
See your customer's screens from inside the app

Six pixel-faithful stand-ins for the customer's screens — portal sign-in, estimate, details form, contract signing, live dashboard, invoice — rendered inside the app with no network calls.

what does my client see when they open the link

in Live project dashboard
Segmented build progress bar

One bar segment per phase, each filled by its own milestone completion and weighted by how many milestones that phase has.

the progress bar says a percentage and nothing useful

in Public booking links
Self-serve reschedule

Every confirmation and day-before reminder carries the same reschedule link; picking a new time quietly swaps the appointment without a cancellation email.

something came up and I need to move it

in Every message the system sends your customers, listed and switchable
Send the same update as a text as well as an email

Any catalogued message can also go out as a text, composed from its own text wording rather than a shortened email.

my customers never read email

in Review and send the estimate
Send to more than one person, by email or text

Add as many recipients as the decision needs, choose email, SMS or both, set an expiry, and write a personal message.

his wife needs to see it too

in Estimate version history
Show or hide a version from the customer

Each sent version has a toggle deciding whether the customer can see it, changeable at any time from the Versions modal.

sent the wrong revision and want it out of their view

in Personalised Proposal Page
Sign the Agreement in the Page

The agreement renders in the page, you draw your initials once and stamp them onto each section that needs them, then sign at the bottom.

signing paperwork takes three days and a scanner

in Customer signs the contract on their phone
Signature audit trail: who, when, from where

Every signature stores the signer's name, email, phone, drawn image, exact timestamp, IP address and browser user agent — for both parties.

customer says they never signed it

in Client portal (one link, no password)
Signed 30-day portal session

The portal issues an HMAC-signed 30-day session token scoped to one link, so a customer signs in once and never again.

customer has to sign in every single time

in Customer signs the contract on their phone
Signed agreement one tap from the customer's dashboard

Once the build starts and the contract is fully signed, a Project Agreement card on the customer's dashboard opens the signed document in a modal — without navigating them off their dashboard.

customer keeps asking me to email the contract again

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.

customer got the same progress email twice

Stalled intake form — customer nudges and an internal alert

When a customer signs but leaves the information form untouched, the system nudges them at 24 hours and again at 48, and raises an internal alert so somebody knows to call.

the customer signed and then went quiet

in SmartBuild, connected
Steel gauge read from the panels actually ordered

The roofing and siding gauge on a proposal comes from the panels on the material list, not from a template default.

proposal says 29 gauge but we ordered 26

in The feature engine
System pages — the journey, not the parts

Some things can't be explained one feature at a time, so they get a scroll-told page with the alternative named at every beat and links out to the feature pages for the detail.

a feature list doesn't tell me how it would actually work for my business

in One conversation per customer — texts, emails and calls in a single thread
Talk instead of type

A microphone button dictates the message using the browser's own speech recognition — nothing is uploaded.

I can't type on a phone with work gloves on

in Live estimate page
Testimonials with photo and video

A section of past-customer quotes, photos or videos, in one consistent card so mixed formats still read as a set.

my reviews live on Google and nobody sees them at quote time

in One conversation per customer — texts, emails and calls in a single thread
Text, email or call from the same box

One composer under the thread with SMS / Email / Call side by side, each explaining precisely why it is unavailable.

the send button just fails and doesn't say why

in Customer signs the contract on their phone
The customer can see you signed it

The builder's counter-signature, name and date render on the customer's own copy — so a fully executed contract looks different from a pending one.

customer asking if we signed it too

The customer sees their building in 3D

A button beside Review and approve opens the customer's own building in the estimate hero — orbit it, switch views, take the roof off — with nothing they can change.

customer signs without really knowing what they bought

The customer's copy follows the estimate

Edits to a sent estimate — services, notes, labour, markup, colours, payment terms — are pushed into the customer's copy automatically, until they approve it.

added services and the customer's page still shows the old total

The customer's open tab keeps up with the builder

Payment stages, specs, colours, milestones, contract status and the builder's gates all refresh on the customer's page without a resend or a reload.

I fixed the price and had to resend the whole quote

in The project cockpit
The customer's view stays in step

Every schedule edit re-publishes the project's phase list so the customer's portal never shows a stale plan.

customer is seeing an old schedule

The feature engine

Every feature in the platform gets its own page, and the list re-shelves itself around how the visitor is thinking — by area of the business, by what's going wrong, by what they'd gain, by system, or A–Z.

I can't tell from their website whether the software does what I need

The public blog

A reading experience built for one audience — full-bleed hero, sticky contents rail with reading progress, share buttons, and a closing banner that opens the demo form in place.

our blog looks like a different website from the rest of our site

in What They See — control every customer-facing stage
The visibility map that actually ships with the send

The section map frozen into the customer's snapshot is derived from the controls rather than typed beside them, so every switch a builder flips actually leaves the modal.

I unchecked it and it doesn't actually adjust anything

in One conversation per customer — texts, emails and calls in a single thread
Threads open on the newest message

Opening or switching a conversation lands on the latest message, and a jump button returns you there.

I have to scroll to the bottom every single time

in Brand Center
Three logo slots with shape guidance

Wide, square and icon logo slots, each shown next to a real example of the shape that belongs there.

my logo gets cut off in the email header

in Live estimate page
Trust strip marquee

A slow horizontal marquee of credibility statements with numbers that fill themselves in, like years in business and buildings completed.

my quote does not say we are licensed and insured

in Customer signs the contract on their phone
Typed legal name and drawn ink, both required

A canvas signature pad plus a typed full legal name plus an explicit acknowledgment — the combination the contracts themselves define as the binding electronic signature.

is a typed name legally binding

in Change orders
Typed name plus drawn signature

The customer approves a change order by typing their name and drawing a signature, with the agreement text frozen into the record.

customer denies agreeing to the extra

in One conversation per customer — texts, emails and calls in a single thread
Unread stays unread until you say otherwise

Opening a conversation does not clear its unread badge — only the explicit Mark read button does.

I read the message on my phone and now I've forgotten to reply

in What happens when someone calls your number
Voicemail that arrives as readable text in the conversation

Unanswered calls record a message, transcribe it, and post both the audio and the words into the customer's thread.

I have to listen to every voicemail to know which matter

in One conversation per customer — texts, emails and calls in a single thread
Voicemails and call recordings collected on the contact

Two separate lists on the contact — Voicemails (messages they left) and Call recordings (conversations you had) — with new/played dots and starring.

I can't find the voicemail where they gave their budget

in 3D building designer
Walk through the building

Drop to eye level and walk the shop with WASD, open the doors with E, and keep editing while you are in there.

will my RV fit through that door

in Estimate version history
What the customer sees now vs your latest draft

A banner at the top of the version list stating the exact figure the customer is looking at right now, and whether your edits since then are live.

I removed the concrete and the customer still sees the old price

What They See — control every customer-facing stage

One panel of switches deciding what the customer sees at every stage — the estimate, the project-info form, the contract and the live dashboard — before you send and any time after.

don't want the customer seeing my labour breakdown

What They See: one control panel for all four customer stages

One registry of switches covering the estimate, the intake form, the agreement page and the dashboard, changeable at any time including days after the estimate went out.

I turned a section off in settings and it still shows

in Customer replies actually reach you
What you send is written into the thread too

Every message the platform sends is recorded on the customer's thread, so the history survives even if an integration is disconnected.

I sent a message and the thread still says no messages

in The customer's copy follows the estimate
Which copy the customer actually gets

An explicit pin always wins; otherwise the fresher of the two copies wins — freshness is compared, never assumed.

the portal is showing a quote from two months ago

in Personalised Proposal Page
Who's Looking at the Proposal

A short courtesy gate asks name, phone and email before the proposal opens, and every open is recorded against that person.

I sent a proposal and have no idea if they read it

in Customer replies actually reach you
Working out who a message is from

Best-effort matching of an inbound sender to a contact, run after storage and never able to block or discard a message.

texts from my customer don't attach to their record

Your logo and name throughout

The sign-in screen, the browser tab icon and the preview card when someone shares a link all carry the builder's brand, not the platform's.

our customers should see our name not the software's

Your privacy policy and terms, generated and hosted

The platform generates a compliant privacy policy and terms page for each builder from details they already entered, and serves them publicly on their own address for carrier registration.

my texts aren't going through and they want a privacy policy

in Email Studio
Your stage emails, as they will actually send

One card per build stage the company has defined, showing that stage's progress email with its own wording, its recipients, and whether anyone is notified at all.

wrote custom wording for a stage and never saw it

Operations

198
in The Academy — training built into the software
'Show me how' buttons on the complicated screens

A small cap icon in the header of feature-heavy screens that launches that screen's own tutorial.

I do not understand what this screen is telling me

in Guided tours that drive your real screens
'Show me how' icons on the hard screens

A small graduation-cap icon next to the heading of a complicated screen launches that screen's own walkthrough.

this screen has too many settings and I don't know what they do

in Receive the order at the tailgate
"Everything arrived" is one tap

Receiving opens with every line marked fully arrived, so only the exception costs typing.

receiving takes forever

in The supplier order workspace
"Supplier can't fulfil — sourcing elsewhere"

A real ending for an order the supplier could not fill, recorded with its history intact and reversible if it was hit by mistake.

supplier backed out

in One answer to 'who works here'
A crew id must name a crew in this org

Every crew id claimed for a person is checked against the crews this org actually owns, and anything foreign is dropped rather than trusted.

one of my guys disappeared off his crew

A full record of what vendor staff did

Every action every vendor employee takes — where they went, what they read, what they changed, and what they were refused — recorded from two choke points and filterable by person, account, action and date.

I need to know who touched this record

in Help & feedback — report a bug, ask for a feature, or talk to a person
A help button no window can hide

The Help & feedback button floats above every window in the app, in the opposite colour of the page, so you can report the window that's misbehaving.

the thing that's broken is a popup and I can't reach the help button from it

in One answer to 'who works here'
A name can only get better

When stores disagree, a real human name always beats a placeholder like an email address or '(no name)', whichever record won on role.

team page shows email addresses instead of names

in The in-app phone
A phone that floats over whatever you're doing

A draggable phone in three sizes that remembers where you put it and can be parked in the sidebar or the top-right corner.

the dialer covers the thing I'm trying to read

in Guided tours that drive your real screens
A practice lead on your real board

Tours that need a lead seed one clearly-badged demo lead onto your actual pipeline, then delete it when you're done.

I don't want to practice on a real customer

A Remind me button at every junction

The same task composer is dropped at every place where a builder actually thinks “I need to chase this” — invoices, estimates, contracts, change orders, projects, stages, SOP steps, payment schedules, contacts and team members.

I meant to chase that invoice and forgot

in Counter-sign to make it fully executed
A reminder that won't go away until you sign

The moment a customer signs, a persistent banner appears at the top of the dashboard and stays there until the builder counter-signs — with a deliberate two-tap dismiss for stale ones.

forgot to countersign

in What happens when someone calls your number
A rep's line rings that rep, not the whole office

A number with an owner rings only its owner in-app; a number with no owner still rings the whole floor.

my customer called my number and a colleague picked up

in The in-app phone
A ringing phone you can always answer

An interrupt banner at the top of the screen naming the caller, with Answer, Silence and Decline — independent of where the dock is or whether it's open.

the phone rang and there was nothing to click

in Guided tours that drive your real screens
A tour that never gets stuck

If a button isn't there — brand-new account, wrong role, feature not switched on — the step teaches the same lesson on a plain card and moves on.

the tutorial broke because I have no jobs in here yet

in Receive the order at the tailgate
A whole receiving pass in one write

Every changed line is written in a single request, with totals recomputed once at the end instead of once per line.

saving the delivery takes forever

An order sheet a yard can quote without calling you

The takeoff regrouped the way a supplier prices — one line per material and stock length, merged across every job it serves on the building.

yard keeps calling to ask what I meant

in One way to tell the search engines something moved
Announce the sitemap from the terminal

One command re-announces the sitemap on demand — with a dry run that lists the URLs and pings nothing, and a force flag for when the set hasn't changed.

we changed a bunch of pages and need google to re-crawl

in The Academy — training built into the software
Ask 'how do I…' and get the right lesson

A search box that understands plain questions, tolerates typos, and never dead-ends on no results.

I do not know what this feature is called

in Help & feedback — report a bug, ask for a feature, or talk to a person
Ask for a feature from the screen that needs it

The same widget files an idea instead of a bug, with the same screenshots and context, into the platform's feature ledger.

I told them my idea on a phone call and nothing came of it

in Tutorial library panel
Ask it the way you'd say it

Type 'how do i import my leads' and it finds the tutorial, typos included.

I don't know what this feature is called

in Create a task from wherever you already are
Assign a task to anyone who works here

The assignee list is the whole staff roster, with each person's role beside their name, and it warns when someone has no login yet.

I can only assign tasks to myself

in Create a task from wherever you already are
Assigning a task tells the person, with the detail

Assigning a task to someone else notifies them with the title, notes and due date; assigning it to yourself notifies nobody.

I assign work and nobody knows

in Help & feedback — report a bug, ask for a feature, or talk to a person
Attach a picture any way you like

Paste, drag in, pick from your files or camera roll, or paste a link — up to five images per report.

I already have a screenshot on my phone

in The supplier order workspace
Attach the paperwork to the order

PO, invoice, bill of lading, packing slip or photo filed against the order it belongs to.

find the packing slip

Bug reviews — the inbox for what customers report

Every bug filed from the in-app widget across every builder account, with the page, the open record and screenshots auto-captured, filterable by status, platform area, what it was about and which customer.

I reported a bug and never heard anything

in What happens when someone calls your number
Call recording, with inbound and outbound as separate decisions

Record answered calls with a spoken announcement, and decide separately whether calls you place are recorded.

recording is on but I can't find any recordings

in What happens when someone calls your number
Call settings written for someone who has never run a phone system

Three plain questions per line — who should it ring, for how long, and what happens if nobody answers — plus recording and text-back.

I don't know how to set up call forwarding

in What happens when someone calls your number
Calls ring inside the platform, not only on a cell

Signed-in browsers ring alongside the cell forwards, so a call can be answered inside the product where it gets recorded and logged.

calls only ever go to my cell

in One answer to 'who works here'
Can this person actually sign in?

HasLogin means the person genuinely has an account, tested by a real Clerk id rather than by any value sitting in the user_id column.

why does it say invite next to my employee

in Home — everything on your plate, and everything you handed off
Checklist inside a task

A lightweight checklist inside one task — add a step and press Enter, tick them off, and the row shows 2/5.

one task has five little steps

in Create a task from wherever you already are
Choose how the nudge reaches you

Per task: in-app, email, text, push — any combination, stored on the task and honoured by the reminder engine.

I ticked email and never got an email

Claim the shortage or the damage

Turn the receiving counts straight into a claim — shortage and damage kept apart, valued, and tracked to settlement.

supplier shorted us and we ate it

in Claim the shortage or the damage
Colour tracks how the dispute is going

Not sent / Sent / Acknowledged / Resolved / Rejected / Withdrawn, coloured so a list of claims says at a glance which need chasing.

which claims are still open

in Help & feedback — report a bug, ask for a feature, or talk to a person
Contact support — and book a call while you're there

Send a message to the team and, if you want, pick a real open time slot for a video call — booked on the spot.

I just need to talk to somebody

Contacts, team, suppliers and contractors in one place

Tabs split the address book into customers, tasks, team, leaders, members, suppliers and contractors — and one person can be in more than one.

my supplier is also a customer and the system makes me pick

Contract generated from the form

Submitting the details form renders the builder's contract template with the customer, project and estimate facts substituted, and freezes the result.

writing a contract from scratch for every job

in Receive the order at the tailgate
Counters you can hit with a glove on

A big minus, the number, a big plus — tinted by what it counts, still typeable for '113 of them'.

can't tap the tiny arrows on my phone

Create a task from wherever you already are

A composer opened from the junction you are looking at, arriving already knowing which customer, job and document it is about, so the only questions left are when, who, and what you want to say to yourself.

setting a reminder means leaving the job I'm looking at

Customer contract signing page

The customer reads the full agreement on letterhead, ticks the binding-signature acknowledgement, types their legal name, draws a signature and submits.

chasing a signed contract by email

in Customer information form that feeds the contract
Customer document upload

Optional sections let the customer attach a photo ID, proof of ownership or an insurance certificate straight from their phone.

chasing a copy of the customer's ID

in Sub-accounts — the account IS the page
Customer messaging safety switch

Put one account's outbound customer email and text into live, redirected or off, so a test window cannot reach a real homeowner.

the vendor tested on my account and emailed my customers

in Home — everything on your plate, and everything you handed off
Dashboard as the first tab of Home

Home opens on the dashboard, with My tasks and Assigned to others one click away in the same header.

I want my numbers first when I log in

Decide what comes in on a sync

When a sync finds jobs the dashboard has never seen, you choose which ones come in active and which are archived quietly — and you only ever see each job once.

the sync brought in 400 old quotes

in Sub-accounts — the account IS the page
Demo accounts with volume presets

Mark a sub-account as a demo, then fill it at low, medium or high volume with invented people, projects and purchase orders that every board reads as real data.

the demo was an empty screen and I couldn't picture it

Desktop alerts

Operating-system notifications for action and critical events, but only while the tab is hidden, and only after you press Enable — never on load.

I miss things when I'm in another tab

in Spotlight and coach card
Do-it-for-me button on action steps

Every 'click the glowing spot' step also puts a plainly labelled button in the coach card that does the same thing.

I couldn't tell what it wanted me to click

in Home — everything on your plate, and everything you handed off
Drag a task to another day

Drag a task pill onto a different day; it keeps its time of day and its reminder slides by the same distance.

push everything from Friday to Monday

in Help & feedback — report a bug, ask for a feature, or talk to a person
Draw on the screenshot

Circle it, draw an arrow at it, scribble on it or black out anything private — with your finger or a mouse.

I can't explain in words which number is wrong

in Customer contract signing page
Draw-your-signature pad

A canvas that captures a real drawn signature with a finger or a mouse and serialises it to an image stored with the agreement.

signature looks like a scribble on a phone

in Create a task from wherever you already are
Due time and nudge time are separate questions

Pick when it is due, then how long before that you want the nudge — at the due time, 30 min, an hour, 24 hours, or any custom figure like 2.5 hours.

remind me the day before, not when it's already due

in Import contacts from a spreadsheet or another CRM
Duplicate detection on import

Rows that already exist are flagged with WHY they matched, and the default add/skip decision follows the reason.

importing again duplicated my whole database

in An order sheet a yard can quote without calling you
Email the order to a supplier, under your own brand

Pick a supplier, add a delivery address and a needed-by date, and the order goes out on the builder's own branding — and is recorded against the supplier and the project.

sent the order from my personal email and lost track of it

Estimate activity log

A date-and-time-stamped record of every estimate event on a job — versions created, links sent, opens, approvals, intake, contract, signatures — so 'was this approved at that amount?' is answered by a log, not by memory.

customer says we agreed a different price

Estimate Manager

A master-detail hub for the whole book of estimates: search, sort, filter, assign an owner and a customer, and pull each one into the pipeline as its own opportunity.

hundreds of old quotes and no way to work through them

in One answer to 'who works here'
Every id a person has ever had

The roster keeps every id a person has ever been seen under, so a link minted last month and hours written last year still resolve to them.

guy's hours disappeared after we gave him a login

Every signed document filed on the customer

Fully executed contracts, sent change orders and manually uploaded files all land in one per-customer Documents list.

where did I put the signed contract

in Support can open your account to help
Every visit to your account is recorded

Entering a customer account writes an activity row naming the account, the person and how they got in — the owner included.

has anyone from the vendor been in my account

Everyone who works here

The People tab groups the whole company office-first — Management, Project Management, Sales, then Field Crew grouped by crew with the leader lifted out.

no single list of everyone who works for me

in Claim the shortage or the damage
Evidence attached per problem, not per email

A photo of a smashed post proves the damage claim and says nothing about the shortage, so evidence attaches to one claim only.

wrong photo on the claim

in Severity chimes
Exactly one audible path per alert

Visible tab gets the in-page chime; hidden tab with a desktop notification lets the OS carry the alert; hidden tab without one still chimes, so nothing is silent by accident.

I get a ding and a popup for the same thing

in Customer contract signing page
Executed signatures on the document

The customer and builder signature images land inside the printable agreement, and the customer can see whether the builder has counter-signed yet.

customer does not know if we signed it too

in Receive the order at the tailgate
Find the four sheets of trim in a 1,400-line order

Search by name, SKU or length, filter by estimate section with live counts, or show only the lines with a problem.

scrolling a huge material order

First-login welcome

A short, role-aware welcome the first time someone signs in, with extra cards for crew leaders and admins.

my crew got invited and had no idea what to do

First-login welcome, written for the role

A short first-run card deck that tells a new user what their job looks like in the app — different slides for a worker, a crew leader and an admin.

my crew opened the app and had no idea what to do

in Customer information form that feeds the contract
Full legal name enforced

The form refuses a single-word name, because a bare first name is not a legal name and it flows straight into the contract and the accounting customer.

the contract has the customer's nickname on it

in Your phone numbers, and who holds each one
Give a line to a rep — and it actually rings them

Assigning a line points it at that person's own phone in the same act, and says so plainly when they have no number on file.

I assigned the line to a rep and it still doesn't ring them

in Home — everything on your plate, and everything you handed off
Grouped by area, then by job

Tasks group under the same headings as the left nav — Project Mgmt, Estimates, Invoicing, Sales Pipeline, Contacts — and then under the specific job or customer inside each.

all my tasks about Craig in one place

in The Academy — training built into the software
Guided tours that drive your real screens

A step-by-step overlay that dims the page, spotlights the exact control to use next, and waits for you to actually use it.

the tutorial highlighted an empty spot on the screen

Help & feedback — report a bug, ask for a feature, or talk to a person

One button anywhere in the app opens a three-way fork — bug, feature request, or talk to support — with the screen you were on already attached.

something's broken and I don't know who to tell

Help & Support in Settings

A page inside the app that prints the support phone number, hours, every department email and the three fastest ways to get help.

who do I call when the software won't work

in Platform metrics, alerts and charts
Hide all — safe to screen share

One button clears every section on Home — tasks, callbacks and analytics — so a screen share mid-sales-call cannot expose another customer's name or what they pay.

the rep screen-shared and I saw another builder's name

Home — everything on your plate, and everything you handed off

One screen holding every task you owe and every task you handed to someone else, grouped by area and by job, with a calendar projection of the same list.

I write tasks on sticky notes and lose them

in The agency panel (who runs your platform)
Home › Today — what needs a hand

A strip of tiles across the top of Home — unclaimed leads, uncontacted leads, calls today, proposals out, stalled signups, accounts waiting to provision, onboarding stuck, accounts at risk, deals going cold, my tasks — each clicking straight into the work.

nobody at the vendor noticed we were stuck

Import contacts from a spreadsheet or another CRM

A guided import that auto-detects columns, maps old stages and reps, flags duplicates, and reports honest counts.

I have 2000 contacts in a spreadsheet

in Estimate activity log
Is the approved amount still what the estimate says?

The activity log compares what the customer approved with what the live estimate now says and flags the gap.

we approved one number and the estimate says another

in Create a task from wherever you already are
It will not schedule a nudge into the past

A due time already gone is refused, and so is an offset that would put the reminder before now — with the reason said out loud instead of silently corrected.

I set a reminder and it never went off

in The in-app phone
Keypad, with tones during a call

A dial pad that calls a typed number, and sends touch tones instead when you're already on a call.

I can't press 2 for the parts department

in Spotlight and coach card
Look-only vs touch steps

On explanation steps the highlighted button is shown but not clickable; on action steps your real click goes straight through.

I clicked the highlighted thing and the tutorial fell apart

in Home — everything on your plate, and everything you handed off
Mine vs Assigned to others

Two tabs with live counts: the work on you, and the work you handed to other people.

I told someone to do it and forgot to check

in Receive the order at the tailgate
Missing is amber, damaged is red — everywhere

One colour per exception kind, held across the receiving screen, the order card, the customer card and the claim email.

can't tell short from damaged at a glance

in Severity chimes
Mute and do-not-disturb

A one-tap speaker toggle plus timed do-not-disturb windows, with the panel stating when the quiet ends and the mute lifting itself when it expires.

I'm on a call and it keeps dinging

in The in-app phone
Mute and hang up that actually work

Mute state is read back from the live connection rather than tracked in the interface, and hanging up is idempotent and never throws.

I thought I was on mute and I wasn't

Needs-your-attention automations

Audited triggers that create a task when something needs attention, each with your own reminder wording, an on/off switch and delivery channels.

leads go cold because nobody followed up

in The notification engine
Never tell someone what they just did

The person who performed the action is removed from the recipient list before anything is sent.

I get emailed about things I did myself

in The notification engine
Notification emails that are useful without opening the app

Each notification email carries the event label, a tone matched to its severity, an at-a-glance card of the facts, and a single button into the record — sent from the account's own sender.

the alert email tells me nothing

in The notification engine
Notifications that open the right screen

Every notification's click-through is built from one canonical builder, so it lands on a real view with the right card, job or project already open.

I click the alert and land on the wrong screen

One answer to 'who works here'

A single resolver that unions the four places a builder's staff actually live and folds the same human into one row, so every screen names the same person the same way.

my sales reps don't show up on the team page

in The notification engine
One email per person, not per account

When the same person holds two accounts in an org, the email is claimed by the first one and the second is silently dropped — the in-app row still lands on both.

I get every notification twice

One note stream per customer, tagged by where it came from

Every note about a person — written on the contact, the pipeline card, the project, an SOP stage or an estimate — lands in one stream, each tagged with its origin.

notes are scattered across the job, the card and the contact

in The contact record
One phone number, however it was typed

Every phone number collapses to one canonical 10-digit key so matching, deduplication and inbound routing all agree.

the same customer is in here twice with the same number

in The notification bell
One poll for the whole app

A single visibility-aware poll feeds the badge, the panel, the toasts and the chimes — roughly every 15 seconds when you are looking, every 60 when you are not.

alerts arrive minutes late

in Home — everything on your plate, and everything you handed off
One task, full attention

The whole task laid out plainly — notes, checklist, due moment, reminder and its offset in words, assignee — completable in place and flip-through-able with the arrow keys.

the task row is too short to say what I meant

in Create a task from wherever you already are
One-tap task presets per junction

The two to four things people actually do at this junction, offered as one-tap fills for the task title.

I come back to a task and can't remember what I meant

in Home — everything on your plate, and everything you handed off
Open a day

Click a calendar day to see its tasks in a modal you can walk forward and back through, with an Add button for that day.

that day says +4 more and I can't see them

in Progress, resume and replay
Pause instead of fighting you

Press Esc or hit the browser Back button and the tour pauses to a small chip with Resume, rather than hijacking you back.

the tutorial wouldn't let me go do the thing I actually needed

in The contact record
Phone and email you can add or fix on the spot

Phone and email rows are always shown and always editable, even when empty — click, type, Enter to save, Escape to abandon.

the contact has no phone number and there's no way to add one

in Guided tours that drive your real screens
Phone-friendly guide mode

Below tablet width the tour becomes a bottom sheet you can collapse, instead of a spotlight that would swallow a small screen.

I run my business from my truck, not a desk

in Receive the order at the tailgate
Photograph the damage at the tailgate

Per-line photos taken with the rear camera while the pallet is still in front of you, carried onto the claim and into the email.

supplier says it wasn't damaged

in The supplier order workspace
PO numbers allocated per business

Each order gets the next PO number for that business, with a database index as the backstop against collisions.

PO numbering

in The Academy — training built into the software
Practice on a demo lead, not a real customer

The Academy drops one clearly-badged demo lead onto your own pipeline board so a tutorial has something to work on, then removes it when you are done.

I do not want to train people on a real customer's job

in Customer contract signing page
Print or save the agreement as a PDF

A pinned Print / Save PDF button produces a clean copy of just the agreement, with an auto-print deep link for the builder.

customer wants a copy of the contract for their lender

in Guided tours that drive your real screens
Progress, resume and replay

Each person's place in each tutorial is saved to their account, so a tour survives a refresh, a new device or a week off.

I got interrupted halfway through and had to start over

in Create a task from wherever you already are
Proof the reminder was actually scheduled

After saving, the modal becomes a receipt stating the exact moment, who it will reach, and over which channels — with an Add another button.

did that actually save

in The reminder engine
Push notifications to your phone or desktop

A reminder that reaches the device even when the dashboard tab is closed, and opens straight to the right screen when tapped.

I don't sit in front of the computer

in Home — everything on your plate, and everything you handed off
Quick add — one line becomes a task

Type “call the county about permits tomorrow 9am !high” and a receipt underneath says in plain words exactly what Enter will do before it does it.

I just want to type it and move on

Quiet your own noise

Every member can mute any channel of any event for themselves — but nothing here can grant what the company's grid has not routed to them.

I get pinged about things that aren't my job

in The supplier order workspace
Raise a purchase order by hand

A New PO form with line items, phases, tax and freight, computing the total live.

create a purchase order

in Claim the shortage or the damage
Raise the replacement order from the claim

One button turns a shortage claim into a draft replacement PO, stamped so job costing knows it is a re-send and not a second purchase.

job costs look wrong after a reorder

in The notification engine
Re-detectable events fire once, not forever

Events a sweep can re-detect every few minutes carry a dedupe key and a window, so the same fact is announced once rather than each pass.

the same alert every five minutes

in Claim the shortage or the damage
Read the letter before it goes

One button drafts whatever hasn't been drafted and shows the exact letter — same sections, same three numbers per line — before anything is sent.

don't want to upset my supplier

Receive the order at the tailgate

A separate mode that walks every line and asks the only three questions that matter at the truck: how many came, how many are missing, how many are broken.

delivery came up short and nobody wrote it down

in The in-app phone
Recent calls, searchable, with the reason each one was missed

The call log inside the dock — filterable by direction, searchable by name or number, with a plain-English miss reason on every missed call.

search in the call list doesn't work

in Home — everything on your plate, and everything you handed off
Recurring tasks

Daily, weekday, weekly, fortnightly or monthly — completing one occurrence creates the next with the same reminder offset and the same assignee.

chase open invoices every Monday

in A full record of what vendor staff did
Refusals are recorded, not just successes

Every time someone reaches for something their role doesn't cover, the attempt is recorded with the capability they were missing.

how would you know if someone tried to get in

in A practice lead on your real board
Remove demo data

One menu item wipes any practice rows a tour created, and abandoned sessions get swept automatically next time you open the app.

there's a fake lead stuck on my board

Report a delay without losing the first promise

Record a revised date with the reason the supplier gave; the original promise is kept so the pattern stays visible.

supplier keeps moving the delivery date

in Bug reviews — the inbox for what customers report
Reviewing a fix, and disagreeing with it

A resolved ticket keeps the record of what was fixed, why, how to verify it and what the reporter was told — plus a place for the owner to say the fix was wrong, which is carried into the next attempt.

they marked it fixed and it still doesn't work

in The in-app phone
Ring my cell first, then connect the customer

An outbound call option that rings the builder's own handset first and then bridges the customer, showing the business number as caller ID.

browser calling sounds terrible on site

in Customer information form that feeds the contract
Same as mailing address shortcut

One button copies the mailing address into the build-site address, for the very common case where they are the same property.

customer typed their address twice and made a typo

in Toasts
Same-event toasts merge instead of stacking

Arrivals of the same event on the same project inside a minute collapse into one toast reading “3 × New lead · Latest: S. Mitchell”.

ten popups at once

in The in-app phone
Save a number you just called

Dialling or receiving a number nobody has saved offers to make it a contact with just a name.

my call log is a wall of unknown numbers

in Help & feedback — report a bug, ask for a feature, or talk to a person
Say it instead of typing it

Hit the mic and describe the problem out loud; the words appear in the box and can be mixed with typing.

I'm not much of a typer

in Claim the shortage or the damage
Say what you are asking for

Five explicit remedies — send the missing material, credit the account, refund, collect the damaged material, or record only.

supplier asked what we want

in The Academy — training built into the software
See exactly what your customer sees

Static, instant replicas of the six customer-facing screens — portal sign-in, estimate, intake form, contract signing, live dashboard and invoice — rendered inside your tab during the walkthrough.

what does my customer actually see when I send this

in Demo accounts with volume presets
Seed a small test fixture into an account

Create a handful of linked test rows in an account so the major screens can be checked with non-empty data, then wipe them cleanly.

the vendor shipped a screen that only breaks when there's data in it

in The notification bell
Seen versus read

The badge counts what has never been surfaced; opening the panel clears the badge but leaves unread rows visibly unread until you actually click them.

the badge comes back after I clear it

Send a teammate the exact screen you are looking at

Open cards, estimates and projects get their own address, so the URL in the bar is the thing on your screen and pasting it into a text puts someone else there too.

how do I send him the link to this job

in Guided tours that drive your real screens
Send someone straight into a tutorial

A link with ?tutorial=<id> opens the app and starts that walkthrough — even if the recipient had the Academy hidden.

just send me the link that shows me how

in Email the order to a supplier, under your own brand
Sending an order writes the purchase order

After a successful send, the order is written with its lines, its PO number, the supplier, the customer and the job — so it exists everywhere it is needed.

supplier card says no orders yet

Severity chimes

Two synthesized sounds — a rising two-note chime for things needing action and a double pulse for critical ones — with informational events staying silent.

the app dings for everything

in Live project dashboard
Signed agreement always one click away

A dashboard card opens the fully signed agreement in a modal over the dashboard, never navigating the customer away.

customer asks for a copy of the contract months later

in The supplier order workspace
Signed change order raises the supplier POs

When a change order is fully signed, one draft purchase order is created per supplier on its line items — idempotently.

change order approved but nobody ordered the materials

in A ringing phone you can always answer
Silence — stop it ringing here without hanging up on them

A third option beside Answer and Decline that stops the ring on your screen while the caller keeps ringing through to voicemail.

declining a call hangs up on the customer

in Help & feedback — report a bug, ask for a feature, or talk to a person
Snap this screen

One button screenshots what you're looking at — no keyboard shortcuts, no permissions, same on a phone and a laptop.

I don't know how to take a screenshot

in Home — everything on your plate, and everything you handed off
Snooze a task

Push a task's due moment and its reminder to a concrete later time — plus an hour, tonight at 6, or tomorrow at the same time.

today is busy, nudge me in three hours

in Stage SOPs (operating checklists per pipeline stage)
SOP work is snapshotted when a stage is left

Leaving a stage copies its checklist — notes and per-step timestamps — onto the audit record before the live state resets.

the history shows work under the wrong stage

in An order sheet a yard can quote without calling you
Specification is the identity, SKU is optional

Every line is identified by its specification — '2x6 SPF #2 · 16′' — with a supplier's own code riding along only when a mapping exists.

supplier doesn't recognise the part number

in Guided tours that drive your real screens
Spotlight and coach card

Everything dims except the one control you need, and a card next to it says what it does.

the help popup covers the button it's telling me to press

Stage SOPs (operating checklists per pipeline stage)

Each pipeline stage carries an ordered list of operating steps, editable per company, with per-deal completion state.

everyone does it differently

in Create a task from wherever you already are
Structured facts on a task, laid out per channel

The junction attaches ordered label/value facts to a task so the reminder email lists them in its context card and the text stacks them one per line.

the reminder text is a paragraph I can't read on a lock screen

Subcontractor agreement, e-signed against the PO

Email a subcontractor a signing link scoped to a specific purchase order and project; they read it, type their name, draw a signature, and it is captured with an audit trail.

get the sub to sign before they start

in Change orders
Supplier purchase orders from a signed change order

When a change order is fully signed, one purchase order per supplier is created from its line items — without duplicating an order that already exists.

change order signed but nobody ordered the materials

in Home — everything on your plate, and everything you handed off
Swipe to complete or snooze

On a phone, swipe a task right to mark it done or left to snooze it to tomorrow at the same time.

ticking tasks off on my phone in the truck

Talk instead of type

A microphone button on text fields that turns speech into text on the device, with nothing uploaded anywhere.

I am terrible at typing

in Home — everything on your plate, and everything you handed off
Task calendar — four zooms, infinite scroll

The same filtered tasks projected onto time — Day, Week, Month and 3-month zooms, all scrolling infinitely and all landing on today.

I need to see my week, not a list

in Home — everything on your plate, and everything you handed off
Task filters and search

Narrow the list by time horizon, urgency, person, client/job, free text, and whether to show completed work.

find that task I wrote last week

in Create a task from wherever you already are
Tasks that know what they are about

Every task carries the ids of the contact, project, estimate and opportunity it came from, plus a snapshot label of the job or customer.

my task doesn't say which job

in One send path for every customer email and text
Texts go out from the rep's own line

When the sending rep holds a number, the text leaves from that number so the customer keeps talking to the same person and the reply comes back to them.

my text came from a number the customer doesn't recognise

in The notification engine
Texts short enough to read on a lock screen

A text gets the same facts stacked one per line, with anything the title already said dropped, capped from the front so the junction's ordering decides what makes the cut.

the text is a wall of words

The Academy — training built into the software

A tutorial library and guided-tour engine that teaches the platform inside the platform, driving your real screens instead of showing a video of them.

we bought software and nobody uses half of it

The agency calendar

One calendar for the whole team where the owner sees everyone and each rep sees only themselves, with day, week, month and list views, drag to reschedule, and two-way Google sync.

the rep double-booked my demo

in The agency panel (who runs your platform)
The agency's own task manager and callback queue

The same task manager builders get, pointed at the agency — assign to a staff member, day and time, email, text and push reminders — plus a queue of people owed a call back.

the rep said he'd call back and didn't

The contact record

One panel holding a customer's reachability, building, source, address, lead-form answers, media and links to their estimate and pipeline card.

I have to click into three screens to see one customer

in Receive the order at the tailgate
The counts always add up

Missing subtracts from arrived automatically; damaged never does, because a cracked board still came off the truck.

the numbers don't add up

in The Lead Journey and Customer Journey campaigns
The Customer Journey (13 chapters)

One project from first estimate to final invoice, shown from your side AND from the customer's side, without ever leaving the app.

I've never seen what my customer actually gets

The feature ledger

Every feature asked for, with a code, a status of proposed, building, shipped or shelved, a delivery rhythm roll-up, and a mandatory reason whenever something is shelved.

I asked for a feature and never heard back

The geometry is tested, not eyeballed

Standing scripts compile the pure engine and assert the invariants a screenshot review would miss — joinery, framing rules, mid-air members, sloped-plane pokes, handle metadata and price units.

the render broke again after a change

The image standard, enforced in code

A ten-step standing order for every image the product publishes — aspect ratio, required alt text, SEO filename derived from that alt text, 1000px maximum, WebP, hosted upload — written as a function nobody can partly follow.

our website images are slow and huge

The in-app phone

Place and answer real calls inside the platform, with the customer's record on screen and the call recorded against them.

calls happen on my cell and the CRM knows nothing about them

in The contact record
The job address, stored in parts

Street, city, state and zip are core editable fields on the contact because everything downstream — permits, drive time, delivery — hangs off them.

the rep took the address over the phone and had nowhere to put it

in The Lead Journey and Customer Journey campaigns
The Lead Journey (9 chapters)

Nine chapters that walk one lead from arrival through contract, sale and the first invoice — on a practice lead seeded onto your real board.

nobody ever showed me the whole process start to finish

in The Academy — training built into the software
The Lead Journey and Customer Journey campaigns

Chaptered courses that walk one job from lead to signed contract to finished build, with a progress ring that only moves once you have actually started.

I understand the pieces but not how a job flows through the system

The notification bell

A badge counting what you have not yet seen, and a panel listing recent events with their category, severity dot and a one-click way into the record.

what happened while I was out

The notification engine

One server-side dispatcher decides who hears about an event, on which channels, in whose words — and enforces the rules that stop it becoming noise.

the wrong people get emailed about everything

in The supplier order workspace
The order's journey, drawn as stations

Sent → Paid → On the way → Arrived → (Short/damaged → Claim sent → Settled) → Complete, drawn as a line that visibly stops when an order stalls.

where is my material order

in A phone that floats over whatever you're doing
The phone button in the header, badged with who's waiting

A permanent phone button in the top chrome that shows the number of people waiting to be called and pulses while a call is live.

I forget there are people waiting for a call back

The reminder engine

Every ~5 minutes a single scheduler finds due, armed, unfired reminders and delivers them — to the assignee, over exactly the channels the task named.

I set a reminder and nothing happened

in Help & feedback — report a bug, ask for a feature, or talk to a person
The report knows where you were

Every report is stamped with the screen, the open tab, the dialog that was up and the exact link back — without the reporter typing any of it.

they asked me which screen I was on and I couldn't remember

in The contact record
The same timeline on the contact and the pipeline card

One timeline component renders the deal's history identically on the contact record and inside the pipeline modal.

the history says something different depending on where I look

The supplier order workspace

Pick the supplier, pick one of their orders, then work on that order — receiving, delays, problems, payments and the schedule, all in one column.

where do I manage my material orders

in Claim the shortage or the damage
The supplier sees only the lines that went wrong

A branded email carrying just the affected lines, each with ordered, arrived and claimed — the three numbers that settle the conversation.

supplier ignored my claim

The supplier's order register

Total spent, open balance and order count for a supplier, with every order searchable and filterable by state.

find that purchase order

in Guided tours that drive your real screens
The tour drives the app for you

Steps can switch screens, open a Settings tab, expand a pipeline column, open a specific lead card or a project on the schedule — using the app's own controls.

I can't find the screen the instructions are talking about

in The supplier order workspace
Thirteen order statuses, and money kept apart from delivery

Draft, sent, acknowledged, delayed, partial delivery, delivered, invoiced, partial paid, paid, closed, cancelled, disputed, returned — with payment tracked in its own column so paying does not erase a shortage.

order says paid but we never got it all

in Bug reviews — the inbox for what customers report
Ticket export with a fix-and-close protocol

Every ticket exports as one Markdown section pairing its description with its own screenshots, stamped with the code and the exact command that closes the loop — resolve, flag recurrences, thank the reporter.

the screenshots got mixed up with another ticket

Toasts

Arriving events slide in at the top right (full width under the banner on a phone), at most three at a time, auto-dismissing in six seconds or ten if critical.

popups cover the button I'm trying to press

in Toasts
Toasts wait rather than expiring unseen

The countdown pauses while you hover or touch a toast, while the tab is hidden, and while any modal is covering it.

the notification disappeared while I was in a dialog

in Home — everything on your plate, and everything you handed off
Today band with overdue count

Everything overdue plus everything due before midnight, pinned above the category groups with a count of how much is already late.

what do I actually owe today

in The in-app phone
Told when the browser can't place the call

If the in-app phone isn't registered, the dock says so and offers to hand the call to this computer instead of doing it silently.

clicking call opens FaceTime

in Guided tours that drive your real screens
Tour anchors that find the real, visible control

194 named anchors across 57 screens, resolved to the one instance you can actually see and touch.

the tutorial highlighted an empty corner of the screen

in Guided tours that drive your real screens
Tours that ask you a question

A step can offer choices — 'where are your leads coming from?' — and send you down the matching path.

the tutorial doesn't match how my leads come in

in Tour anchors that find the real, visible control
Tours that close the window in their way

When the next step lives behind a window an earlier step opened, the tour asks that window to close, waits, then spotlights.

the tutorial highlighted something behind the popup

in Guided tours that drive your real screens
Tours that match what you're allowed to do

Tutorials and individual steps respect permissions — a crew lead never sees an admin-only tour, and an admin-only step explains itself instead of failing.

the tutorial showed me a button I don't have

in The Academy — training built into the software
Training progress that follows the person

Every step you finish is saved to your account, so a tour resumes on any device and a restart is a real reset.

I got halfway through training and lost my place

in The Academy — training built into the software
Turn the Academy off

Any user can hide the Academy entirely, and an admin controls it for the org — with a paused tour still reachable so nobody gets stranded.

stop showing me tutorials, I know this

in Guided tours that drive your real screens
Tutorial library panel

A searchable, category-grouped list of every tutorial, with your progress on each one.

where do I even find help in this thing

in A full record of what vendor staff did
Visits, worked out rather than stored

'How many visits' is computed by grouping an employee's recorded events with a thirty-minute idle gap, rather than by minting and tracking session ids.

how long was someone in our account

in The in-app phone
Voicemail inbox

A Voicemail tab listing only calls nobody picked up that left audio, with transcript and player, scoped to everyone or just you.

recorded calls are showing up as voicemails

What changed, who changed it, and what it was before

Every write through the data layer records the actor, the account, the values before the change, the values written, and how many rows it matched.

who deleted that contact

in Your phone numbers, and who holds each one
What each line is for, and what it shows when you dial out

Each number carries a purpose (main, sales, project management, service, office), an overflow choice, and which caller ID it presents on outbound calls.

I can't tell which of my numbers is which

in Counter-sign to make it fully executed
What happens automatically when the contract is executed

Counter-signing advances the pipeline card, notifies the team, emails the customer a branded 'fully signed' message, and creates the QuickBooks customer and project — without auto-starting the build.

contract signed and nobody told the office

What happens when someone calls your number

Inbound calls ring every configured cell and every signed-in browser at once, and fall through to voicemail, a text-back and a callback task when nobody answers.

people call the number on my truck and it just hangs up

in Tutorial library panel
What the 49 tutorials cover

Forty-nine authored walkthroughs across nine categories, from 'Add one lead by hand' to 'How the Leaderboard & Rep Score work'.

how do i import my leads

in A full record of what vendor staff did
What was looked at, not just what was changed

A beacon records which screen a vendor employee opened, because navigation inside the app never reaches the server on its own.

did anyone look at our customer list

in Customer contract signing page
What you are approving, restated above the agreement

A short block above the legal text restating the project, the building summary, the site address and the total the customer is signing for.

customer signed and then argued about the price

in Estimate Manager
Who built this estimate

Derives the roster of everyone who has authored an estimate and maps each one to an employee, resolving every job they ever built — past and future.

can't tell who built which quote

Your phone numbers, and who holds each one

An inventory of every number the account holds, each with a holder, a line type, its call behaviour and its own settings.

everyone shares one business number

Platform & Admin

226
in Sub-accounts — the account IS the page
24-hour scheduled account deletion

Deleting an account schedules it 24 hours out, shows a ticking countdown everywhere the account appears, and stays cancellable until the timer runs down.

I cancelled in anger and want my data back

in The Estimates workspace
A demo estimate that touches nothing real

The training tour injects a complete fake estimate into the real workspace, and every network and persistence path skips it.

afraid to click around in case I send something

A green light or a red light for texting and calling

Two honest lights per account — can a text sent now actually arrive, and can a call be placed from this product — each with the reason when it is off.

it says texting is live but I can't text

in One send path for every customer email and text
A master safety switch on customer messaging

Per-account live / redirect / off modes that can stop or divert automated customer messaging, checked on every single send and failing closed.

we're testing and I'm terrified of emailing real customers

in Every query scoped by the server
A missing identifier is refused, not ignored

If a query arrives with a filter value that is explicitly empty, the server rejects it rather than silently running a wider search.

the wrong contract total showed up on an invoice

A PIN in front of your connected accounts

An optional PIN on the Integrations screen, enforced on the server routes that return credentials — not just on the tab that displays them.

my laptop was open on the desk and anyone could have got in

in Failed payment grace period and lock
A proper invoice for your subscription

Your subscription invoice is a designed, sealed document you can keep and hand to your accountant — not a plain processor PDF.

need a proper invoice for my accountant

A queryable roster of who belongs where

A database mirror of company membership so notification rosters and team lists can be queried directly instead of scanning the identity provider on every request.

my name disappeared off the crew roster

A record of who changed what

Every insert, update and delete made through the app writes an audit row with the acting user stamped by the server, not claimed by the browser.

somebody changed the price and nobody will say who

in Your phone numbers, and who holds each one
A record of who held which line, and when

Every change of holder or purpose closes the previous interval and opens a new one, so per-rep metrics read against the right window.

a rep left and now all their old conversations look like mine

Access review

A collapsible panel listing everyone with access, their role, status and last sign-in, with a button that records a timestamped, frozen review.

who still has access to my account

in Sub-accounts — the account IS the page
Account lifecycle status

One control that can express the whole vocabulary of account states — active, inactive, paused, suspended, banned, scheduled for deletion — with an optional reason logged alongside the change.

my account got shut off and nobody said why

Account states, with real meanings

One shared vocabulary — active, inactive, paused, suspended, banned, scheduled for deletion — each with a stated operational meaning and a rule about whether the account still counts as one you manage.

we're taking the winter off, can you pause our account

Accounts on another CRM's texting don't get a phone module

One rule decides whether an account has an in-house phone, and every surface — dock, launcher, token, automations — obeys it.

the phone button does nothing for my account

in Integrations
Agency-granted 3D builder access

Whether an account may even see the in-house 3D builder is an agency grant; the tenant's own engine choice sits underneath it.

the builder prices tab disappeared

in Sign-in sends you to the right place
An owner can't be locked out of their own account

If an account's recorded owner ends up marked pending, the app recognises them as approved by definition and repairs their record rather than parking them on a waiting screen.

I own the company and it says waiting for approval

Approve or reject someone who signed up

An admin approves a pending account into a role and crew, or rejects it — and can only ever act on people inside their own company.

somebody signed up and I don't know if they're in my account

Audit log — every action every employee takes

Every screen a staff member viewed and every change they made, grouped into visits, filterable by person, account, action type and date, with the before and after values on each edit.

did someone from the software company go into my account

in A record of who changed what
Automatic jobs leave a trace too

Every background sync, import and scheduled job that writes to your data records one run summary: what ran, when, against which account, how many rows it touched, and whether it failed.

where did all these contacts come from

Availability — the only hours a booking link may offer

Per person: which days, what hours, what slot length and which timezone — with existing appointments and connected Google events always blocked on top.

people book me at 7pm

in Usage-based charges for texts, calls and email
Billed by segments and minutes, not by rows

A long text is several segments, an inbound text costs money too, and a call is minutes — all recorded at send time with the price that applied.

my bill changed for messages I sent months ago

in Help & feedback — report a bug, request a feature, reach support
Book a support call from inside the app

Pick a real open time from the support team's actual calendar without leaving the screen you are stuck on.

I need to talk to a person, not a chatbot

in Call trust — stop your calls showing as Spam Likely
Branded Calling — your company name on their screen

Registers a display name so the customer sees your company rather than an unknown number.

customers don't answer an unknown number

in Settings workspace
Bug reports that know which settings tab you were on

The in-app bug reporter is told the exact settings tab and expanded section you were looking at, so a report reads 'Settings → Team Members' instead of just 'Settings'.

reported a bug and nobody could reproduce it

Bug Reviews inbox

Every report from every account in one queue, with its ticket code, screenshots, captured context and a resolution that has to explain itself.

nobody knows if my problem was ever looked at

Call trust — stop your calls showing as Spam Likely

Four carrier registrations for voice — trusted calling, spam-label monitoring, branded calling and CNAM — filed against the same verified business profile the texting registration produced.

customers don't answer because my call says Spam Likely

in Usage-based charges for texts, calls and email
Carrier compliance fees billed automatically

The one-off carrier brand fee and the monthly campaign fee are invoiced at your rate-card price, and the monthly fee only starts when texting actually turns on.

what is this A2P charge

Carrier registration so your texts actually arrive

A guided application that registers the builder's business with the carriers — brand, then campaign — and turns texting on automatically when it clears.

my texts say sent but customers never get them

Choose how you sign in

Sign in with a password, an emailed code or a texted code, with the destination stated on screen instead of guessed at.

I never get the code

in Help & feedback — report a bug, request a feature, reach support
Circle the problem on the screenshot

Draw on any attached screenshot with a pen, circle, numbered arrow or blur block, using a finger or a mouse, before sending it.

hard to explain which number on the screen is wrong

in Test Lab
Clean slate

One button removes every piece of practice data — test rows, demo rows and imported leads — and refreshes every view so it's actually gone.

I deleted the test data and it's still showing

in Call trust — stop your calls showing as Spam Likely
CNAM — the classic caller-ID name

Registers a short display name (15 characters) in the traditional caller-ID name database.

my name doesn't show on older phones

in My Business — the company's own record
Company details that every document reads

Company name, address, phone, email, website, logo, brand colour and portal tagline are stored once and auto-populate every contract, invoice and customer page.

invoice shows the old company address

in Roles inside your company
Config tables only an owner can change

Settings that define how the whole account behaves — pricing, stage taxonomy, lead routing, notification routing — can only be written by an admin, enforced at the data layer.

a rep changed our pricing

in Sub-accounts — the account IS the page
Create an account by hand

Create a builder account from the panel — name, subdomain, plan and optional owner — without making the customer go through the public signup first.

I signed up on a call and don't want to fill in a web form

Crew can apply to join from your own web address

A public join form on your own subdomain sends applications into your team queue — not into a shared pool and never into another company's.

adding a new guy to the system is a hassle

Crew repair (platform)

A platform-owner tool for fixing crews from outside a tenant: install a lead, move pending acceptances to a crew that has one, rename, or delete an empty crew.

crew has contracts waiting and nobody can sign them

in Roles and permissions
Crews only see their own work

When View All Crews is off, a user only sees projects assigned to their own crew, and the crew filter UI disappears entirely.

my subs can see each other's jobs

Cross-account isolation

A stack of independent checks — URL, session, membership, query, cache — each of which alone would keep one company's data out of another's screen.

can another builder on this platform see my jobs

Demo requests captured as a consent record

The public demo form stores who consented, to what exact wording, from which page, when, and from what IP — storing the wording verbatim rather than referencing it.

carriers rejected our texting registration

in Invites, join requests and approvals
Diagnose a stuck invitation

A read-only endpoint that lays out everything known about one invitation across every store, so 'they signed up but it still says pending' has an answer.

he definitely signed up, why does it say invited

Direct-to-storage portal media uploads

Testimonial photos, videos and plan files upload straight to storage via a signed URL, so files up to 50 MB work instead of failing at 4.5.

my testimonial video will not upload

in Team Members
Disable or remove a team member

Disable someone to keep their record but cut their access, or remove them permanently behind a confirm step.

guy quit and I need his access off today

in Run it on your own domain
DNS records and certificate, checked for you

The app tells you exactly which DNS records to add, re-checks them on demand, and says plainly when what's at your registrar doesn't match.

I added the DNS record and nothing happened

in The agency calendar
Drag an appointment to move it

Drag to another day in month view or another time in day and week view, Google-style — and grab anywhere else to pan the grid.

rescheduling means retyping the whole thing

in Team Members
Edit a person in place

Expand any person's card to edit their name, email, crew and role, see their work record, and set app permissions if they have a login.

changed his role and it didn't change on his phone

Edit an employee who has no login

Name, role, crew and status are editable for anyone on the roster whether or not they can sign in; only app permissions stay behind having an account.

settings says invite next to every employee

in Customer replies actually reach you
Email replies, routed only when the answer is certain

Inbound email is verified, and filed to an account only when the address unambiguously identifies one — otherwise it is held for a human rather than guessed.

could another company see my customer's reply

Email settings

Everything about this company's email — channel status, the address it sends from, DNS setup with a verify poller, the white-label link domain, and email costs.

my emails go to spam

in Carrier registration so your texts actually arrive
Every filing, every carrier verdict, and what each rejection actually asks you to change

A history of brand and campaign filings with the verbatim carrier reason, the error codes pulled out of it, and a specific fix per code.

the rejection reason is a number I can't interpret

in Cross-account isolation
Every query scoped by the server

The browser never talks to the database directly — it asks a server proxy that stamps your account id on every write and filters every read by it.

how do you stop the app pulling another company's rows

Failed payment grace period and lock

If a subscription payment fails you get seven days and a daily reminder with a pay link before anything locks — and paying lifts it immediately.

my card expired and I lost access with no warning

Find out why an invite did not take

A read-only diagnostic that shows an invitation's true state across the account system and the sign-in provider, so a stuck invite is explained rather than guessed at.

I invited him and he still cannot get in

in Your account builds itself after you buy
First login with no password

The owner's welcome email carries a sign-in link that just works, so the first login isn't a password-reset dance.

I never got a password

in Sub-accounts — the account IS the page
Fix a customer's team and permissions from outside

Every user in a builder account with their role and their overrides, editable on the spot, so a 'my guy can't do X' call is fixed without impersonating anybody.

my estimator can't see the schedule

in Invites, join requests and approvals
Force-finish an invitation

An admin can complete an invitation on the invitee's behalf when the signup finished but the acceptance step didn't.

he closed the browser halfway through signing up

Help & feedback — report a bug, request a feature, reach support

One dialog anywhere in the app for reporting a bug, asking for a feature, or booking a call — with the screen, the route and the record you were on captured automatically.

I told them it was broken and nothing happened

Help & Support

Three fast paths to a human — open the bug reporter with the current screen attached, open the Academy, or use the published support email and phone.

who do I call when this breaks

in Settings workspace
How Settings is organised (the legend)

An info modal behind the ⓘ on the Settings title that explains the category → tab → section → subsection vocabulary with little replicas of the real UI.

I tell my office manager where to click and she still can't find it

in Customer replies actually reach you
Inbound text receiver

Verified inbound text handling that resolves the number to an account and, where the line belongs to a rep, to that rep.

replies to my business number go nowhere

in Sub-accounts — the account IS the page
Internal notes on an account

A running internal note stream on each builder account, with author and time, that the customer never sees.

every support person starts from zero with me

in Settings → Notifications
Internal versus to-customers

A filter splitting messages that stay inside the company from messages the customer actually sees, labelled in those words.

will my customer see this message

in Invite someone to the app
Invitations can only be accepted by the person signed in

The accept endpoint verifies the signed-in session matches the account the request claims to be, so a token alone cannot attach an arbitrary user to your company.

who else can use this invite link

in Invite someone to the app
Invitations expire

Every invite link is good for 48 hours, after which it stops granting access and shows as expired in the pending list.

old invite link from months ago still let someone in

in Invites, join requests and approvals
Invitations that fix themselves

If someone signs in without going through the invite link, the app finds their pending invitation by verified email and applies it automatically.

he signed up but the system still says invited

Invite someone to the app

Invite a person by name, email, phone and role, delivered by text, email, both, or a link you copy yourself.

my framers don't have email addresses

Invites, join requests and approvals

Three routes onto a crew — an invite you send by SMS, email or link; a join request someone submits; or a signup waiting for approval — each with a role and crew set at the point of admission.

how do I get a new hire into the system

in Choose how you sign in
It remembers how you like to sign in

The method that last worked becomes your default, stored on your device and keyed to your address so a shared machine doesn't leak preferences between people.

it always defaults to email and I want a text

in Writing on a subscription, not an API key
Least privilege for the writing agent

The writing agent gets its own token that opens exactly two routes — read an assignment and submit a draft — instead of the platform-wide cron secret.

automation tools want full access to everything

Leaving takes your data with you

A scheduled full teardown that cancels billing, removes the connected sub-account, unlinks the owner's login, and wipes every account-scoped table in dependency-safe order.

if I cancel, what happens to my data

in The project cockpit
Links that open the right job

Notification and email links land directly on the project — or on the exact contract that needs signing.

clicked the notification and had to find the job myself

in My Business — the company's own record
Logo upload

Drag a logo file onto the dropzone or pick one, and it uploads and attaches itself — with a URL field still available for an externally hosted image.

don't know how to get a URL for my logo

in Settings workspace
Looking-for cross-reference card

A dashed card on the tab where you'd reasonably look for a setting, pointing at the tab that actually owns it.

I looked under email settings and the email design wasn't there

in Notifications — who hears about what
Master switch with undo

Three one-click sweeps — everything off, email off, everything back on — each confirmed in plain language and each undoable to the exact prior state.

we're on site and the phone won't stop buzzing

in Customer replies actually reach you
Messages from every account's own carrier sub-account are accepted

Signature verification resolves whichever carrier account actually signed the request, instead of only trusting the platform's own.

texts to my number just stopped arriving

in One send path for every customer email and text
Messages that fail on the network get retried, not lost

A retryable send failure is persisted with its original options and replayed on a backoff until it succeeds or is declared dead.

the customer never got the estimate email and nobody knew

in Customer replies actually reach you
Messages we can't place are held, never dropped

A verified message to a number or address no account claims is stored under a sentinel account with a note explaining why, instead of being discarded.

a customer texted a number we own and it disappeared

My Business — the company's own record

One tab holding the business itself in three views: Business Info (the facts), Brand Center (the look), Email Studio (the look applied).

my company address is wrong on the contract

My Profile

The individual person's own settings — display name, profile picture, their role read-only, their notification preferences and their saved contract signature.

my name shows up wrong on the app

New account setup wizard

A four-step wizard that provisions a builder's workspace and pre-fills the settings the rest of the product depends on.

setting up new software takes a whole day

in Settings workspace
No native browser dialogs in settings

Destructive settings actions use branded confirm dialogs and branded selects and toasts rather than the browser's own prompts.

the confirmation popup doesn't say what will actually happen

in Cross-account isolation
No silent default account

A write that forgets to say which account it belongs to now fails loudly instead of quietly landing in the first customer's data.

our records showed up in another company's account

in Invites, join requests and approvals
Nobody gets in until you approve them

A brand-new signup is marked pending and sees a waiting screen until an admin of the right company approves them with a role.

anyone who finds our URL could sign up

in The feature engine
Nothing is published that can't be pointed at in the code

The build refuses to generate the public feature list if any entry is missing its story, its code references, or points at a file that does not exist.

the demo didn't match the website

in The notification engine
Nothing sends until the account turns notifications on

A new account hears nothing — no bell, no email, no text — until somebody there deliberately switches notifications on for themselves.

the software started emailing my customers without asking me

Notification control across every account

Every sub-account listed with what it is actually receiving, and a full event matrix per account with all-on, all-off and email-off sweeps.

a client says they're getting too many emails

Notifications — who hears about what

An event-by-role grid deciding which roles get in-app, email or text for every event in the system, split into internal team alerts and external customer messages.

everyone gets emailed about everything

in Settings workspace
On-this-page section index

A slide-out index on the right edge of any settings tab that lists its sections and sub-tabs, numbers them, and highlights whichever one you are reading.

this settings page never ends

in Sub-accounts — the account IS the page
Onboarding checklist per account

The checklist that turns a provisioned account into a running one — half of it ticking itself from real events, the rest owned by a named person with a due date.

I signed up weeks ago and still am not really using it

One answer to 'who works here'

The team roster is merged from four separate stores into one person per human, so field staff without logins and reps without accounts still appear as themselves.

my framers aren't on the team list

in My Business — the company's own record
One business phone number, everywhere

Saving the company phone also mirrors it to the organisation record, so the messaging token and the invoice can never print different numbers.

invoice has a phone number that isn't ours

in Support can open your account to help
One click back out of an account

An exit affordance clears the impersonation cookie on the current host and returns the operator to the platform console.

I was still in a customer's account without realising

One company can never see or touch another

Every admin route resolves the caller's company first and refuses to read or write anything outside it.

is my customer list visible to other builders on this software

One screen to run every account

The vendor's account roster with the selected account's full workspace inline — status, team and permissions, payments, contract, booking, integrations, comms, notes and correspondence — addressable by URL.

I want to see everything about this customer in one place

One send path for every customer email and text

Every customer-facing email and text leaves through one façade that resolves the account's provider chain, logs the attempt and retries what is worth retrying.

some messages send and others silently don't

One thread per client — email, text, calls and notes

Every email, text, logged call and internal note with one builder on a single record, sent from the account itself rather than from somebody's personal outbox.

the vendor said they emailed me and I never got it

in View as another role or person
Open a customer's account as one of their users

From the platform admin's client list, a split button opens a sub-account either neutrally or already viewing as a chosen member of that company.

support can't see what I'm seeing

Open an account as the customer (audit logged)

Support can open a builder's account exactly as they see it — and as a specific person in it — with the reason and the visit written to an audit record first.

support cannot see the bug I am describing

in Support can open your account to help
Open the account as one of its users

Support can open a customer's account as a specific named person, so a reported problem is reproduced from exactly that person's view.

my crew leader says the button isn't there and I can see it

in Sub-accounts — the account IS the page
Owner contact repair and password reset

Fix a wrong owner email or phone, issue a one-time sign-in link, or re-point the account at a different login when the stored one has gone stale.

I can't log in and support can't help

in Who at the vendor can reach your account
Ownership can't be granted by configuration

The one account that can reach every customer is a constant in source, and any leftover environment value that used to grant it is now inert and reported as ignored.

could a misconfiguration give someone access to everything

in Account states, with real meanings
Past-due accounts freeze, not vanish

Seven days past due, the data layer closes with a specific lock code and the app shows a pay-to-unlock screen — the address still resolves so the tenant can reach it.

our card failed and we got locked out completely

in Invite someone to the app
Pending invitations list

A live list of invitations that have been sent but not accepted, with resend, cancel and repair actions.

he signed up but still shows as invited

in Cross-account isolation
Per-account browser storage

Everything the app stores in the browser is silently prefixed with the account's subdomain, so any legacy entry from another account becomes unreadable.

old data keeps showing up on our address

Per-account notification control

Every builder account listed with what it is actually receiving, and a full per-event matrix of in-app and email toggles with all-on, all-off and email-off sweeps.

I get too many emails from this system

in Roles and permissions
Per-person permission overrides

Tick or untick individual permissions for one person on top of their role, with anything that differs from the role shown in accent colour.

this one guy needs a bit more access than the rest of his crew

Periodic access reviews, recorded

An admin can freeze a dated snapshot of exactly who had access at what role, signed with their name — turning a policy sentence into a record you can produce.

our insurer asked how we control who can see customer data

Permission presets

Redefine what any of the five built-in roles can do for your company, or create your own named presets anchored to a base role.

the built-in project manager role is wrong for how we work

in Roles and permissions
Permissions grouped into five plain categories

Roughly thirty permissions are grouped as Navigation, Actions, Customer Documents, Stage Controls and Admin so the grid reads as decisions rather than a flat list of flags.

the permissions list is a wall of checkboxes

in Team Members
Permissions only where there is an account to hold them

Someone with no sign-in gets an honest explanation and an Invite to log in button instead of 32 permission checkboxes that would write nowhere.

ticked permissions for my crew guy and nothing happened

in Permit Check on the opportunity
Permit data served through an org-scoped server route

The browser never touches the permit tables directly; every read and write goes through POST /api/permits with org_id and the user stamped server-side.

is my customer data isolated

Phone & Texting settings

Everything about this company's phone in one tab — channel status, the numbers and who owns each line, carrier registration, call trust, and phone costs.

what does texting actually cost me

in Invite someone to the app
Phone-only invites that actually match

Phone numbers are normalised to a canonical form on both sides so an invitee who signs up with a phone is recognised as the person invited.

invited him by phone and it stayed pending forever

in Write your own notification wording
Placeholders that fill in the real values

Eleven insertable values — customer name and contact details, project and stage names, estimate total, event amount, your company name, the standard title and the open link — grouped and explained.

I want the customer's name in the alert

in Roles and permissions
Plain-English explanation of every permission

An ⓘ beside the meaningful permissions opens a modal describing what it unlocks and giving a concrete example of what the person would see.

no idea what half these permissions actually do

Platform legal documents

Published Privacy Policy, Terms of Service, EULA and an information-security overview, with a legal contact directory for notices, privacy requests, security disclosure and abuse.

what happens to my customer data

Platform team directory

The roster of everyone who works for the agency, what each of them can reach, and who used to have access but does not any more.

vendor staff left and still had access to my account

in Carrier registration so your texts actually arrive
Pre-written campaign wording that passes review

The campaign description, opt-in narrative and sample messages are written for you in the shape reviewers accept, and refreshed when the wording improves.

I don't know what to write on the carrier application

in My Profile
Profile photo

Drag or pick a photo and it appears everywhere in the app that shows you, with a 5 MB cap and clear errors.

everyone on the team screen is just initials

in The signed agreement on file
Provisioning steps and one-click retry

Every step of turning a paid signup into a working account is recorded with its result, and an idempotent retry re-runs only the steps that failed.

I paid and nothing showed up

Public forms cannot be flooded

Logged-out endpoints — join applications, demo requests, public intake — are capped per IP address per window so one source cannot flood a queue or a table.

our contact form gets nothing but spam

in My Profile
Quiet your own notifications

Each person can mute in-app, email or SMS per event for themselves — and an admin can open anyone's switches to fix them.

getting a hundred notifications a day

in Usage-based charges for texts, calls and email
Rate card and margin engine

One rate card sets the price of every unit, with per-business and per-tier overrides — and the business only ever sees the final price.

what does a text actually cost me

in Tenant isolation on every public portal route
Rate limiting on public portal endpoints

Every unauthenticated portal action carries a per-IP limit sized to what a real customer would do.

could someone brute force my customer link

in The agency calendar
Read the calendar at a glance

The chip body carries the person's colour and a short tag carries the type — DISC, DEMO, ONBD, CALL, SUPP, PERS — so both facts read without opening anything.

I can't tell a demo from a support call

in What happens when someone calls your number
Recordings and texted photos play inside the app

Authenticated proxies stream call recordings and MMS photos with server-side credentials, scoped to the account that received them.

the photo my customer texted shows as attachment 1

in Carrier registration so your texts actually arrive
Refuses to file an application it can prove will fail

Before submission the platform fetches and reads your privacy and terms pages, and blocks the filing if a rule is provably broken.

my campaign got rejected and I paid for it

in Carrier registration so your texts actually arrive
Registrations advance themselves

A scheduled job polls every in-flight registration, creates the campaign when the brand clears, activates texting when the campaign verifies, and retries the one failure that fixes itself.

my registration has been pending for days and nothing happens

Reminders that reach the phone with the app closed

Web push delivers reminders to a device's notification tray even when the dashboard tab is shut, and tapping one opens the app on the exact item.

I miss reminders because I am not sitting at the computer

in Customer replies actually reach you
Replies to the agency land on the agency's own card

An inbound reply for the agency's own pipeline is mirrored into the table its opportunity card reads, without moving the canonical record.

replies don't show up on the opportunity card

in One send path for every customer email and text
Reply addresses that route themselves

Outbound email carries a reply address that names the account, so a reply on a shared domain can be filed with certainty instead of guessed.

customers reply to my emails and I never see them

in Permission presets
Reset a role to defaults, or duplicate it

Any customised built-in role can be reset to the platform default, and any row can be duplicated into a new named preset.

changed the role permissions and now I can't remember what they were

in Test Lab
Reset a test estimate to 'never sent'

Wipes one estimate's platform-side footprint so the same job can be sent, approved, signed and started again from scratch.

I want to try the approval flow again

in Test Lab
Reset imported leads

Wipes everything a lead import created so the import can be practiced — or re-run properly — from clean.

I mapped the columns wrong and imported garbage

Reset this sub-account (danger zone)

A four-step destructive reset that deletes every record belonging to this company — typed phrase, second warning, then a typed name and a drawn signature.

our account is full of test jobs

in Your account builds itself after you buy
Retry setup without breaking anything

Every setup step can be re-run safely: it fills gaps, never clobbers what an operator or the builder has since changed.

the setup failed halfway and I don't want to start over

in Who at the vendor can reach your account
Revenue is the owner's alone

Platform revenue figures are withheld at the source for anyone without the billing capability — not merely hidden by the interface.

who sees what we pay you

in Settings workspace
Right-click go-anywhere menu

Right-click anywhere in the app to get one panel that navigates the whole platform and every settings category, with fly-outs per category.

too many clicks to get from a job to settings and back

in Roles and permissions
Roles & Access — one tab, two views

Permission presets (what a role can do) and Lead visibility (what a rep can see) live as two sub-tabs of one Roles & Access tab.

permissions are in one tab and lead access in another

Roles and permissions

Five construction roles — Admin, Sales Rep, Project Manager, Crew Leader, Worker — each carrying about thirty specific abilities across navigation, actions, customer documents, stage controls and admin.

don't want my crew seeing what the job sold for

Roles inside your company

Five roles — admin, sales, project manager, crew leader, worker — each with a defined set of what they can see and change, enforced on the server.

my crew can see the prices

in Team Members
Roster grouped the way the company is

The staff list is split into Office, Sales, one section per crew and Not on a crew, with leaders first inside each crew.

scrolling through twenty identical rows to find one guy

Run it on your own domain

Point a hostname you own at your account so every link your customers receive comes from your domain instead of the software's.

I don't want my customers seeing another company's name in the link

in Every query scoped by the server
Save can't overwrite another account's row

Before a save-or-update runs, the server checks that every row it would touch already belongs to your account — and refuses if one doesn't.

could a bad id in an import overwrite someone else's record

in Team Members
Saved / save failed confirmation on every edit

Each person's row shows Saving… then Saved ✓, and on a server rejection shows Save failed and puts the row back the way the server still has it.

I changed her role but I don't know if it saved

in My Profile
Saved signature and one-click counter-signing

Save your legal name and drawn signature once, and counter-signing a contract becomes a single deliberate click.

have to draw my signature on every single contract

in Account states, with real meanings
Scheduled account deletion

An account queued for deletion keeps its data until the date passes, then a scheduled job cancels billing, removes the external sub-account, detaches the owner and wipes every account-scoped table in dependency order.

what happens to our data if we leave

in Audit log — every action every employee takes
Screen-level read logging

A beacon records which screen a staff member opened inside a customer account, because the app navigates by hash route and the server would otherwise never know.

did they read my customer list

in Settings workspace
Search your settings

A search box on the Settings title row that finds categories, tabs, sub-tabs and individual sections, and jumps you straight there.

I know the setting exists, I just can't remember which tab

in Notifications — who hears about what
See notifications as one person

Pick a team member and the grid becomes their effective view — what they actually receive per event — with their personal mutes and wording editable in place.

he says he never gets the texts

in Roles inside your company
See the app as one of your people

An admin can switch the interface into another role — or a specific named person — to check exactly what that person sees before rolling out a change.

I want to see what my crew leader actually sees

See what the reports look like before you have any history

An owner can load a believable multi-rep sample so the leaderboard, analytics and territory screens fill up, then wipe it exactly.

the reports are all empty and I cannot tell if they are useful

in Usage-based charges for texts, calls and email
See your usage before the bill

A month-by-month usage view priced at your own rates, current month first, six months back.

no idea what my bill will be

in Test Lab
Seed test reps and leads, then run the real engine on them

Mint reps and leads that the live distribution engine, analytics and leaderboard genuinely process, then simulate a month of activity.

I set up lead routing and have no idea if it works

in Invites, join requests and approvals
Self-serve applications land in your queue

A public form on your own address lets someone ask to join your company, and the application lands in your queue and nobody else's.

how do subs apply to work with us

in Review and send the estimate
Send failures that name the step and give you a reference

If a send fails, the message names which stage failed and gives a short reference the admin can find in the logs.

it just says error and I don't know what to do

in Invite someone to the app
Send the invite by text, email, both or link

A four-way choice of how the invitation reaches the person, including Link Only for handing it over in person.

he never got the invite email

in Sign-in sends you to the right place
Session gaps don't lock you out

When the session token doesn't carry the account, the server looks it up once, caches it briefly and injects it — instead of failing every request or hammering the auth provider.

it says no organization and I definitely have one

Settings → Notifications

One event per row, one toggle per role, and per-channel switches — grouped into collapsible categories, with a plain-English line under every event saying when it fires.

I don't know who is getting these emails

in Settings workspace
Settings deep links that never 404

Every settings tab has a hash URL, and retired tab ids stay alive as aliases that open the right sub-tab inside whatever shell absorbed them.

the settings link I saved goes to the wrong page now

in Settings workspace
Settings navigation on a phone

On mobile the chip rows collapse into a one-line selector in the top banner that opens a grouped bottom sheet of every settings tab.

settings menu eats my whole phone screen

in Settings workspace
Settings panels that paint instantly

Heavy settings panels paint their last-known state immediately, then replace it with the live data — and show a stable skeleton rather than an empty form while loading.

settings page shows nothing then fills in

Settings workspace

One Settings screen for the whole company, organised into five plain-English categories — Team, Operations, Portals, Communications, Account.

I can never find the setting I changed last time

Sign in the way you like, every time

The device remembers whether you prefer a password, an emailed code or a texted code, so the sign-in screen opens on your method instead of making you dig for it.

it emails me a code but I want a text

Sign-in sends you to the right place

After sign-in a server-side router branches on who you are — operator to the platform console, everyone else to their account — and clears any stale impersonation on the way.

blank screen after I log in

Signing up is itself an initialed, frozen agreement

The platform's own service agreement is signed the same way a builder's customers sign theirs — section by section with initials, then frozen as a snapshot rendered forever.

what exactly am I signing up to

in Call trust — stop your calls showing as Spam Likely
Spam-label monitoring (Voice Integrity)

Registers your numbers with the carriers' spam-analytics engines so real calls stop being flagged.

my number is flagged as spam and I can't get it removed

in Who at the vendor can reach your account
Staff access starts when they sign in, and stops when revoked

An invited staff member is activated the moment they sign in with the verified address they were invited at — and a revoked one can never re-grant themselves by signing in again.

does a former employee still have access

in Platform team directory
Staff change history

Every invite, role change, revoke and reinstate appended to an audit table with the actor and, for a revocation, a required reason.

prove nobody at the vendor still has access

Staff roles and capabilities

Four roles — owner, admin, support, sales — each holding a named list of capabilities, resolved in one file so no route can quietly widen who gets in.

who at the software company can log into my account

in Who at the vendor can reach your account
Staff roles by capability, not by name

Every vendor-side endpoint names the capability it needs, and roles are presets over those capabilities, so widening access is one visible table change.

does your sales rep see my billing

Sub-accounts — the account IS the page

A roster of every builder account on the left; pick one and the whole right side becomes that account — plan, people, payments, contract, integrations, margins, notes and every word ever said to them.

nobody at the vendor knows my account history

Support can open your account to help

Vendor staff who hold the enter-accounts capability can open a customer's account and work in it — with money masked, every visit recorded, and a one-click way out.

can someone from support just look at my screen

in Sign-in sends you to the right place
Support isn't put in your approval queue

A vendor support or sales rep opening a customer's account is never sent to that customer's approval queue — the queue is for the customer's own staff.

support says they can't see my account to help

in Account states, with real meanings
Suspend and reinstate an account

An account can be switched off with a recorded reason and switched back on, and the suspension takes effect at the routing layer within minutes.

we need to cut off an account that stopped paying

Switch between accounts you belong to

If you belong to more than one company on the platform, the brand block becomes a switcher that lands you on the other account at the same screen you were on.

I run two companies and have to log in twice

in Switch between accounts you belong to
Switching accounts keeps you signed in

A dedicated landing route clears stale auth cookies on the destination host before the session handshake runs, so a switch never lands you half-signed-out.

it logs me out every time I switch accounts

in Cross-account isolation
Switching accounts wipes the browser cache

The moment the account you're viewing changes, everything the app cached in the browser is deleted — everything except your login and your light/dark preference.

I switched accounts and saw the other company's job list for a second

Switching accounts wipes the previous account's data from the device

When the viewed account changes, all cached app data on the device is purged deny-all, so one company's cached estimates, contacts and projects can never paint inside another's.

I run two companies and I am scared the data will mix

Team Members

One list of everyone who works here — office, sales and every crew — whether or not they have a login, with role, crew and permissions editable in place.

my team list is empty but I have nineteen guys

Tenant isolation on every public portal route

Every unauthenticated portal endpoint resolves its tenant from the link itself and refuses to serve when it cannot, instead of falling back to a default org.

another company's branding appeared on my page

Test Lab

A draggable admin-only panel for rehearsing the whole funnel over and over with throwaway data, then wiping it.

I want to practice the whole process before I do it for real

in Settings → Notifications
The account-level on switch

A single switch above the matrix deciding whether this system may contact the account or its customers at all — off for every account until someone turns it on.

I want to explore before it starts emailing people

The agency decides who gets the 3D builder

Two layers, never confused: the agency grants an account the builder, and the account chooses whether to run estimates on it or on SmartBuild.

do not want to lose my SmartBuild setup to try something new

The agency panel (who runs your platform)

A separate console where the company behind the software runs every builder account — sales, onboarding, support, billing, health — instead of doing it out of inboxes and spreadsheets.

my software company has no idea what is going on in my account

The agency runs its own tasks on the same hub

The builders' task hub pointed at the agency's own reserved account — same composer, same reminders, same calendar, assigning to staff instead of crew.

our own follow-ups live in a spreadsheet

in Cross-account isolation
The API checks membership too

Even if a request slips past the page-level gate, the server refuses to resolve an account the caller isn't a member of.

is the block only in the browser or on the server too

The browser never talks to the database directly

Every read and write from the app passes through one server route that stamps the account, checks the role, applies each person's lead visibility, restricts which tables exist at all, and audits the result.

can another builder using this software see my customers

in Carrier registration so your texts actually arrive
The button says the thing that has to happen next

One shared derivation turns four carrier objects into a stage, a button label and a one-line reason — so the status chip, the button and the wizard can never disagree.

I don't know if I'm waiting on them or they're waiting on me

in Book a demo
The consent record

Who consented, to what exact wording, from which page, when, and from what IP — stored verbatim, because the site copy will change and the record has to keep meaning what it meant on the day.

carriers rejected our texting registration

The demo account is treated as the vendor's own

A demo account flagged as the vendor's own is exempted from the per-business rules that only make sense for a real company, and every destructive demo operation refuses to run against anything else.

can I see it working with real data before I buy

in The notification engine
The event catalogue

One typed catalogue of every notification event — its category, severity, label, plain-English description, default recipients, default channels and deep link — used by the server, the bell, the toaster and both settings screens.

the settings screen doesn't match what actually happens

in Help & feedback — report a bug, request a feature, reach support
The help button you can reach from inside a modal

A floating Help & feedback button that deliberately paints above every dialog in the app, so the screen that is misbehaving is the screen you can report from.

the help button disappears when a window is open

in Cross-account isolation
The name on screen always matches the data

The app asks the server which account it is actually serving, and if that disagrees with what's on screen it purges and reloads once rather than showing a mismatched label.

I sent a message to the wrong customer's account

The platform mapped as data, not a drawing

A drillable model of every surface, module, connection and provider, where each relationship states who initiates it and cites the file that proves it.

what actually connects to what in this system

in Help & feedback — report a bug, request a feature, reach support
The report knows where you were

Every report, feature request and task filed from the app records the module, the sub-tab, the open dialog and the exact record you were looking at — without you typing any of it.

they asked me what page I was on and I could not remember

in Initial every clause, not just sign at the end
The server re-checks every initial

The signing endpoint re-validates the frozen manifest against what was submitted and rejects the signature if any clause is missing — naming the clause.

how do I know the initials are real

Today — what needs a hand right now

A strip of tiles across the agency's home — unclaimed leads, uncontacted leads, calls and demos today, proposals out, stalled signups, accounts waiting to be provisioned, onboardings stuck, accounts at risk, deals going cold, and your own tasks due today.

I don't know where to start today

in Carrier registration so your texts actually arrive
Trust Center — carrier approvals across every account

One screen showing brand and campaign verdicts, approved use case and the numbers riding each approval, for every sub-account plus the unregistered ones.

which of my accounts can actually text

in Call trust — stop your calls showing as Spam Likely
Trusted Calling (SHAKEN/STIR)

Signs your outbound calls at the highest attestation so carriers vouch for the caller ID instead of treating it as suspect.

my calls show as unverified

in Roles inside your company
Tune a role for how you actually run

Override what a built-in role can do for your company, or define named presets of your own, without changing anyone else's account.

your roles don't match how we work

in Guided tours that drive your real screens
Turn guided tours on or off — per person

Each user can switch guided tours on or off for themselves; the account carries a default, and a tutorial link always brings it back.

I know the software, stop showing me tutorials

in The discovery call panel
Two-Axis Buyer Read (agency-internal)

Scores a prospect on two independent axes — how much value is available, and how ready they are to act — and refuses to average them into one number.

A verdict that names a next action, not just a number

Two-factor prompt that cannot lock you out

A dismissible banner nudges admins who have not turned on two-factor authentication, and disappears by itself once they have.

our insurance wants two factor on business systems

in Choose how you sign in
Two-factor sign-in

Accounts with two-factor turned on get a second step supporting an authenticator app, a texted code or a backup code.

we need two factor for insurance

in Roles and permissions
Unknown users get the least access, not the most

Anyone signed in without an explicit role is treated as a worker, and the UI waits for the role to load before deciding what to show.

new user logged in and could see the whole app

in Cross-account isolation
Unscoped queries fail the build

A static check scans every hand-written database query in the codebase and fails the build when a new one forgets to filter by account.

how do you know a new feature didn't break the wall between accounts

Usage-based charges for texts, calls and email

Messages, texts and call minutes are metered by what they actually cost, itemised on a monthly invoice, and shown to you before you are billed.

what exactly am I being charged for

in Who at the vendor can reach your account
Vendor staff can't read your money

When a vendor employee works inside your account they get admin-level operational access with invoices, signed contract values and change-order pricing switched off.

I don't want support seeing my invoices

in Who at the vendor can reach your account
Vendor staff never join your roster

A vendor employee visiting your account is not written into your membership records, so they never appear in your team list or your member count.

there's someone in our team list who doesn't work here

View as another role or person

An admin can look at the app exactly as a given role, crew or named person sees it, with a persistent banner and one-click exit.

my crew says they can't see the job and I can't reproduce it

Who at the vendor can reach your account

Vendor-side access is one owner defined in source plus a small set of named staff with revocable, capability-scoped grants recorded in the database.

who at the software company can see my numbers

in The notification engine
Who gets told — roles, named people, and project assignees

Recipients come from three sources — the roles subscribed to that event, individually named people, and anyone assigned to the project — and assignment is itself an opt-in.

the PM on the job didn't get told

in Notifications — who hears about what
Write your own notification wording

Rewrite the subject, heading and body of any notification and see the real branded email render with sample values as you type.

the automatic emails don't sound like us

in Cross-account isolation
Wrong-account URL gets you bounced

If you open an account address you don't belong to, the page redirects you home instead of rendering anything.

someone from another company opened our dashboard link

in Help & feedback — report a bug, request a feature, reach support
You get told when the feature you asked for ships

When a requested feature goes live, the requester gets an email quoting their request, explaining how the shipped feature works, and linking straight to it in the app.

I asked for that months ago and never heard anything

in Help & feedback — report a bug, request a feature, reach support
You get told when your bug is fixed — in your own words

When a reported bug is fixed, the person who reported it gets one email quoting what they originally wrote and one line saying what changed.

I reported it and never heard back

in Usage-based charges for texts, calls and email
You're not charged for messages we don't pay for

Messages carried by a provider the business already pays for are excluded from metering entirely — the meter only starts when the cost lands on us.

being charged twice for the same message

Your account builds itself after you buy

Submitting the intake form after payment creates the account, its branding, its invoicing defaults, its web address and its owner login — as a sequence of reported steps, not a black box.

how long until we're up and running

in Your account builds itself after you buy
Your address and certificate, registered automatically

Provisioning registers your subdomain with the host so the address resolves and gets a certificate without anyone touching DNS.

do I have to set up DNS myself

in The in-app phone
Your calls ring on your browser, never a stranger's

Browser calling identities are scoped to the account and minted on the account that owns the line, with a one-hour token.

outbound calls fail with an error code

Your connected-account credentials are encrypted at rest

Third-party tokens and passwords a tenant supplies are stored with authenticated AES-256-GCM encryption, versioned so keys can be rotated.

how do I know my accounts are safe in your system

Your feature is live

When a requested feature ships, the person who asked for it gets an email quoting their own request back, explaining what was built and landing them directly on it.

I asked for something months ago and never heard back

Your own domain on customer links

Attach your own hostname so estimate, invoice, contract and invite links customers receive come through your domain instead of the platform's.

the link I send my customers has someone else's name in it

Your own walled account

Every builder gets their own account with its own web address, its own people, and its own data that nobody outside the company can reach.

I don't want another builder seeing my prices

in Your own walled account
Your own web address

Your company gets its own address on the platform, and being on that address is what tells the software whose account it is showing.

I want our own link, not a shared login page

Integrations

134
in GoHighLevel connection (run for you, not by you)
A CRM token is checked against the account it claims

Before a CRM token is ever stored, it is called against the location id it was entered with — a token belonging to a different business is rejected outright.

our photos ended up in another company's account

in Registrations advance themselves
A daily reminder while texting is off

While a registration sits failed, one email a day repeats what the carriers said, the error code, the flagged field and what to change — until someone resubmits.

we didn't realise texting had been off for a week

in QuickBooks Online connection
A log of every accounting exchange

Every push and pull writes a row naming the entity, the direction, the outcome, the HTTP status and a readable message, so a failed sync can be diagnosed after the fact.

sync failed and there's no explanation

in Two-way Google Calendar sync
A meeting link created with the booking

A new platform booking asks Google for a Meet room, and the link lands on the appointment, in the confirmation emails and in both calendars.

have to create a meeting link separately every time

in Provider independence (swap who carries your email, texts and payments)
A new account is wired for sending the moment it exists

Every account-creation path seeds a full email chain on a neutral shared sending domain and provisions the builder's own Twilio subaccount at birth.

brand new account and automations already failed

in Trusted calling registration on top of texting registration
A number bought later joins your existing approvals

Buying a number after registering automatically attaches it to every live call-trust product, so the newest rep is not the one unverified caller in the company.

we registered months ago and the new guy's calls get flagged

in Carrier texting registration, filed for you
A rejection that tells you exactly what to change

Carrier rejections are parsed into their numbered codes and the exact flagged field, then matched to a written fix for that specific code.

rejected and the reason makes no sense

in Delivery events recorded as the provider reports them
A temporary hiccup is not reported as a bounce

Soft failures that the provider will retry are ignored rather than recorded as bounces, so a message that arrives ten minutes later is not permanently marked as rejected.

system says the estimate bounced but the customer has it

in QuickBooks Online connection
Accounting behind a named boundary

Every route that talks accounting imports from one boundary module with provider-neutral names, so a second accounting package becomes an adapter rather than a rewrite.

we don't use QuickBooks

in QuickBooks Online connection
Accounting tokens refresh themselves

Every accounting API call loads credentials and proactively refreshes the access token before it expires, so the connection does not quietly go stale.

QuickBooks keeps disconnecting

in Photos filed into the CRM media library, in folders
An upload that lands in the wrong account is destroyed

Every uploaded file's returned URL is checked to confirm it is hosted under this account's location; if it is not, the stray file is deleted and the upload reports failure.

a screenshot from my account showed up in someone else's

in Search Console connected, sitemap submitted
Analytics measurement id, validated on entry

A Google Analytics measurement id can be stored against the site, format-checked so a mistyped value is rejected rather than silently collecting nothing.

analytics has been collecting nothing for a month

in Provider independence (swap who carries your email, texts and payments)
Automatic fallback when a provider fails

If the primary provider refuses or times out, the message is immediately retried through the next provider in the account's chain instead of failing.

customer never got the estimate email and nobody knew

in Your own carrier account, not a shared pool
Backfill isolation for accounts created before it existed

An operator endpoint that reports which accounts still share the platform carrier account and creates the missing subaccounts through the same code path signup uses.

which of my accounts are actually isolated

in DataForSEO connection
Backlink counts and the prospect pool

A domain summary reports total backlinks, referring domains, and links gained and lost — and a competitor's referring domains become a ranked prospect list.

competitors outrank us and I don't know why

Backup email sender

A platform-level transactional sender that automatically carries email when the primary provider is unavailable, with no per-account setup.

one email provider down means nothing goes out

in Your own carrier account, not a shared pool
Browser calling that speaks as the builder's own line

Voice access tokens, API keys and TwiML apps are created in the same carrier account that owns the number, so an outbound browser call can legally present the builder's caller ID.

calling from the browser just errors

in Two-way Google Calendar sync
Calendar changes arrive in seconds, not on a timer

Each synced calendar has a live watch channel, so a change in Google triggers an immediate sync for that person rather than waiting for the next scheduled run.

changed my calendar and the app took ten minutes to notice

Card payments on your own Stripe account

Each builder connects their own Stripe account and remains merchant of record, so funds, fees, refunds and payouts are theirs and never pass through the platform.

does the software company hold my customers' money

in Trusted calling registration on top of texting registration
Carrier checklists collected in plain language

Each product's carrier requirements are collected as ordinary questions with pre-set choices, validated before anything is filed, and enforced against the real character limits.

I don't know what any of these fields mean

Carrier texting registration, filed for you

Plain-language answers from a wizard are turned into the full carrier registration chain — business profile, messaging profile, brand, then campaign — filed against the builder's own carrier account with no operator involvement.

my texts to customers never arrive

in Carrier texting registration, filed for you
Clearing a rejected campaign so a corrected one can be filed

A rejected campaign is deleted from the Messaging Service before a corrected one is filed, so a retry does not bounce off an 'already exists' error.

fixed the wording and it still won't resubmit

in Carrier texting registration, filed for you
Compliance fees billed automatically at the right moment

The one-time brand fee is invoiced when the brand is submitted and the monthly campaign charge starts when texting actually turns on, both priced from the rate card and both idempotent.

charged before anything worked

in QuickBooks Online integration
Connect and disconnect QuickBooks

A standard consent flow connects your QuickBooks company, and disconnecting revokes access at Intuit as well as wiping it locally.

connecting quickbooks is complicated

in QuickBooks Online connection
Connection details fill themselves in

If the connect step never captured the company name or plan tier, the status endpoint fetches and backfills them once, then serves from cache.

it says connected but doesn't show which company

Connections that start anywhere and come back to the right place

OAuth connections always use one registered redirect URI, carry a signed state naming the account, user and origin, and return the person to the surface they started from.

connecting says URL blocked

in Customer email and texts sent from the builder's own CRM identity
Contacts the app creates don't come back as new leads

Every CRM contact the platform creates is tagged and added to a suppression list, so the account's own CRM automations cannot bounce it back as a fresh lead.

texting a customer created a brand new lead for the same person

in GoHighLevel connection (run for you, not by you)
CRM sub-account created from a template at signup

A new builder gets their own CRM sub-account created through the agency API with the template snapshot loaded, so their pipeline and stages exist before anyone logs in.

new account has nothing in it

in GoHighLevel connection (run for you, not by you)
Customer email and texts sent from the builder's own CRM identity

When GoHighLevel carries a channel, the message goes out through that builder's own CRM location — their sender identity, their deliverability, their conversation thread.

emails go out with the wrong company name on them

in Email from your own domain
Customer email replies captured, not lost

A signed inbound route captures replies to platform-sent email, strips the quoted history, resolves the tenant, and stores the message idempotently.

customer replied and I never saw it

in QuickBooks Online connection
Customers created in the books, once

A customer is resolved from cheapest to most expensive — cached id, then email, then display name — and a duplicate-name rejection resolves to the existing record instead of failing.

my books are full of duplicate customers

DataForSEO connection

One pay-per-call account powers rank checks, keyword volume and difficulty, seasonality, competitor mining, backlinks and site crawls — and until it's connected everything says so instead of pretending.

my SEO tool shows zeros and I can't tell if that's real

in Two-way Google Calendar sync
Disconnecting takes only what it brought

Disconnecting stops every watch channel, revokes the token with Google, deletes the pulled personal events, and leaves the platform's own bookings intact.

worried disconnecting will wipe my bookings

in SmartBuild, connected
Each shop uses its own SmartBuild login

SmartBuild is connected per organisation from Settings, tokens are cached per credential, and a shop without a connection sees nothing rather than someone else's jobs.

connecting SmartBuild needs a developer

Email from your own domain

Customer email is sent through Mailgun from the builder's own verified domain, so replies come back to them and mail lands in the inbox rather than the promotions tab.

my estimates go to spam

in Provider independence (swap who carries your email, texts and payments)
Encrypted provider credentials, decrypted at the boundary

Provider secrets live encrypted in the binding row and are decrypted once, in the registry, so adapters receive usable strings and secrets never sit in plaintext.

I registered my own number and texts still go out from the old system

in SmartBuild estimator connection
Estimates bonded to a person by identity, never by name

Estimator job payloads are matched to a contact using only email and phone — never names — because name matching has caused real misattribution.

the estimate got attached to the wrong customer

in SmartBuild estimator connection
Estimator calls that survive a flaky upstream

A revoked token triggers one silent re-login and retry, a server error gets one backed-off retry, and a hung request aborts at 30 seconds so a sync ends with an error rather than spinning forever.

sync spinner never stops

Every channel, every account, one screen

A fleet view of email, text and voice for every builder account, derived from the sender's own resolution rules so it cannot claim a channel is broken while it is quietly working.

my texts aren't sending and nobody can tell me why

in Integration credentials encrypted at rest
Every credential change is logged

Connecting, updating or disconnecting any integration writes an audit entry naming which integration and who did it — never the secret value.

someone disconnected QuickBooks and nobody knows who

in SmartBuild estimator connection
Every estimator sync snapshots the job

Each sync, estimate send and project start writes an append-only snapshot of the job's full state, so history survives even if the record is later deleted upstream.

someone deleted the job and the history went with it

Facebook and Instagram lead forms, straight into the pipeline

Connect a Facebook page and its lead forms deliver straight into the pipeline, without routing through a third-party CRM's integration.

leads from Facebook take hours to reach me

in DataForSEO connection
Find who ranks, and every term they rank for

Identify the domains that rank across a set of terms even when you rank for none, pull every keyword they rank for, fill gaps with seeded ideas, and turn a single term into a content brief.

we rank for nothing so there's nothing to analyse

in First-party website analytics
GA4 tag without a rebuild

The Google Analytics measurement id is stored in the platform and fetched by the site at runtime, so changing it never needs a deploy.

changing our analytics tag means a developer and a deploy

in Search and buy a business number in-app
Give a number back before it costs you

The 'actually, I want a different number' path releases the number back to the carrier and removes its Messaging Service, stopping the monthly charge immediately.

picked the wrong area code

in Integrations
GoHighLevel connection

Everything GoHighLevel — location id, integration token, pipeline mapping and first sync — inside one collapsible card, collapsed by default.

my CRM sync stopped working

GoHighLevel connection (run for you, not by you)

Each account is bound to its own GoHighLevel sub-account with its own location id and private integration token, wired by the platform operator so the builder never has to touch the CRM.

I don't want to learn another CRM

Google Ads connection for lead attribution

Google lead forms deliver with no connection at all; connecting Google Ads is the optional enrichment layer that turns campaign ids into names and, later, cost.

leads show a campaign id instead of a name

in Integrations
Hide a service without disconnecting it

The platform owner can hide any connected-service card from a tenant's Settings without changing whether it is connected or how it syncs.

my staff clicked disconnect and killed the sync

in GoHighLevel connection (run for you, not by you)
Hide an integration without disconnecting it

The platform operator can hide the GoHighLevel, Stripe, SmartBuild or QuickBooks sections from a builder's Settings screen while the connection keeps working underneath.

settings screen full of things I don't use

in Inbound webhooks verified against whichever account owns the number
Inbound call handling: ring, forward, voicemail, transcribe

A call to a business number rings the configured targets at once, and if nobody answers it takes a voicemail, transcribes it into the conversation thread, and fires the missed-call text-back.

my business number hangs up on callers

in Inbound webhooks verified against whichever account owns the number
Inbound text and photo receiver

A verified inbound text or photo is stored idempotently, routed to the account and to the rep who owns the number, and never dropped even when no account claims the number.

customer sent a photo and I can't open it

Inbound webhooks verified against whichever account owns the number

Carrier webhooks are signed by the account the message was delivered to, so verification tries the parent account and then the subaccount that actually owns the number.

customer replies never show up

in One way to tell the search engines something moved
IndexNow instant pings

One POST tells Bing, Yandex, Seznam and Naver that a URL changed, with the verification key derived rather than being one more secret to manage.

search engines take weeks to notice a new page

Integration credentials encrypted at rest

Every third-party credential — CRM token, SmartBuild password, Stripe key, QuickBooks tokens, Twilio subaccount token — is AES-256-GCM encrypted before it touches the database and decrypted only on the server.

is my CRM token safe in your database

Integrations

One admin tab holding every service this company is connected to — CRM, estimating, card payments, accounting — plus its lead sources.

where do I put my quickbooks login

in Sub-accounts — the account IS the page
Integrations setup done for you

The agency wires a builder's back-end integrations from the panel — auto-detecting the pipeline, mapping stages by name — and controls which integrations that builder ever sees.

I don't want to mess with API keys

in Card payments on your own Stripe account
Invoices mark themselves paid

A verified payment event records the payment against the right invoice, once, with the money only counted when funds have actually cleared.

customer paid and the invoice still says unpaid

in QuickBooks Online connection
Invoices mirrored into the books on send

Sending an invoice mirrors it into the builder's accounting package so they have a copy and can collect through it, and a failure never blocks the platform send.

typing every invoice into QuickBooks by hand

in One GoHighLevel Lead Engine
Is My CRM Actually Connected?

A small link icon on the New Lead column header shows green when leads are actually syncing and broken-red when they are not.

we stopped getting leads and nobody noticed for a week

in Integrations setup done for you
Move an account to a new integration sub-account

A six-step wizard that validates new credentials, picks the sales pipeline, chooses whether to preserve or wipe existing data, and requires a typed phrase plus a signature to wipe.

we changed CRM accounts and lost everything

Never guess which account a message belongs to

Inbound messages are routed to an account only when the answer is unambiguous; anything shared or unclaimed is stored under a holding tenant for a human to assign rather than filed into the wrong business.

a message from someone else's customer showed up in my inbox

in Integration credentials encrypted at rest
Never silently serve another account's credentials

When a credential read fails or a stored blob is unreadable, the system reports 'not connected' instead of falling back to environment credentials that belong to a different business.

I'm seeing another company's deals

in DataForSEO connection
On-page audit with a score and a checklist

A crawl of the site returns an on-page score, the number of pages crawled, and the specific checks that failed, kept as a history so fixes can be seen landing.

no idea if the site has technical problems

in GoHighLevel connection (run for you, not by you)
One engine pulling new CRM leads onto the board

A single scheduled job pulls every connected account's CRM sales pipeline, takes only the opportunities sitting in that account's mapped new-lead stage, and mints the ones not already held.

the same lead is on my board twice

One GoHighLevel Lead Engine

One scheduled job pulls new leads out of a connected GoHighLevel pipeline, and from the moment a card exists this platform owns its stage.

leads from my CRM show up twice

in Search and buy a business number in-app
One Messaging Service per business, not per number

A builder's second and twentieth numbers join the Messaging Service their carrier campaign is already approved on, instead of each spawning a new service and a new registration.

every rep needs their own number and I can't afford a registration each

in Provider independence (swap who carries your email, texts and payments)
One switch: in-house or GoHighLevel

A single per-account toggle rewrites the whole messaging stack — Twilio and Mailgun, or GoHighLevel — and can be flipped back at any time.

I want my own phone number, not the software company's

One way the site announces a change

Every path that changes what the sitemap would return calls one function, which pings the changed URLs, resubmits the sitemap, and remembers the URL set only once something actually landed.

published a post and search engines never noticed

One way to tell the search engines something moved

Every path that changes what the sitemap would return — publishing, unpublishing, deleting, editing a live post, adding a page — calls one function that pings IndexNow, resubmits the sitemap to Search Console and remembers the URL set.

we published a page and google took weeks to find it

in GoHighLevel connection (run for you, not by you)
One-click CRM wiring with automatic stage mapping

Pasting the sub-account token wires the whole integration: it finds the sales pipeline, name-matches every stage onto the platform's stages, and flips the account to connected with no dropdowns to fill in.

onboarding takes a week of back-and-forth

in Delivery events recorded as the provider reports them
Opens that were a robot, marked as one

Opens triggered by mail-privacy proxies and scanners are stored but flagged, so the open rate on screen is not quietly inflated.

my open rate looks amazing and means nothing

in QuickBooks Online connection
Paid in the books, paid on the project

When an invoice or payment changes in the connected accounting company, the balance and status are mirrored back onto the platform invoice so the project shows paid.

customer paid my bookkeeper and the app still says unpaid

in Customers pay the invoice online
Payment webhook

A signed callback from the processor records the payment even if the customer closed the tab or the payment cleared hours later.

customer paid then closed the tab and nothing updated

in Card payments on your own Stripe account
Payments behind a swappable boundary

Card payments run through a provider-neutral contract — checkout, settled-payment listing, single-payment lookup and webhook verification — so a second processor is a registry row, not a rewrite.

what if I don't want to use Stripe

in GoHighLevel connection (run for you, not by you)
Photos filed into the CRM media library, in folders

Images uploaded from the platform land in the account's own CRM media library, organised into a folder path that is created on demand and cached.

job photos scattered everywhere

PIN lock on Integrations

An optional PIN in front of the Integrations tab, so an unlocked laptop or a borrowed session does not hand over every connected service.

office computer is shared and I don't want anyone in my api keys

in Integrations
Pipeline and stage mapping

Choose which CRM pipeline feeds the platform and map each internal stage to a CRM stage, with a paste-the-id escape hatch when the dropdown can't see a pipeline.

my pipeline isn't in the dropdown

in SmartBuild, connected
Porches and attached buildings counted correctly

Every porch, lean-to and attached building on a SmartBuild job is parsed with its own dimensions, and an enclosed attached building counts as building square footage rather than porch area.

porch square footage missing from the job

in Carrier texting registration, filed for you
Privacy and terms URLs filed with every campaign

Every campaign filing carries a publicly reachable privacy policy and terms URL, defaulting to the platform's own only for the platform's own registration.

campaign rejected over the privacy policy

in QuickBooks Online connection
Projects created in the books when the contract is signed

Counter-signing a contract creates the customer and project in the books, and starting work flips it to in progress — degrading gracefully through three drivers depending on what the connected company supports.

my bookkeeper sets up every job by hand

in GoHighLevel connection (run for you, not by you)
Prove the CRM connection works before trusting it

A validation step fetches contacts and opportunities for both pipelines with the new credentials and reports the counts, so a connection is confirmed end to end rather than assumed.

connected it and nothing happened

Provider independence (swap who carries your email, texts and payments)

Every outbound email, text and card payment is routed through a per-account provider chain stored in the database, so changing who delivers your messages is a config flip rather than a rebuild.

locked into one CRM for my texts and email

in Provider independence (swap who carries your email, texts and payments)
Provider picker that refuses a switch that would break you

Each provider declares what must be true before it can carry a channel, and the server checks that against live account state before writing the change.

switched providers and my texts silently stopped arriving

in Integrations
QuickBooks connection

QuickBooks Online connects by OAuth rather than pasted keys, so it lives in its own card with its own status and item mapping.

my bookkeeper wants everything in quickbooks

in QuickBooks Online integration
QuickBooks emails the invoice with its own pay link

After the invoice is created in QuickBooks it is sent from there too, so the customer gets QuickBooks' built-in pay link for bank transfer or card.

card fees on a huge progress payment

QuickBooks Online connection

Each builder connects their own QuickBooks company through a state-protected OAuth flow, with tokens stored encrypted and refreshed automatically before they expire.

I keep everything in QuickBooks and hate double entry

QuickBooks Online integration

Connect your own QuickBooks company so customers, invoices, projects and payments flow between the two without re-keying.

entering every invoice twice, once here and once in QuickBooks

in Payments behind a swappable boundary
Read-only proof that payments actually work

A verification harness that proves, per account, that the adapter resolves, the key really works, settled payments can be listed, and the webhook secrets are present — without creating or charging anything.

is the payment link going to work for my customer

in CRM sub-account created from a template at signup
Refunded or archived accounts are torn down cleanly

When a signup is refunded, archived or deleted, the CRM sub-account it created is deleted too — idempotently, so a second attempt is not an error.

cancelled accounts still cluttering everything

in Provider independence (swap who carries your email, texts and payments)
Retry queue for sends that never reached the provider

A send that failed at the network level is persisted and replayed on a backoff, while a send the provider actually rejected is never retried.

message disappeared during an outage

in Projects created in the books when the contract is signed
Retry sweep for anything the books missed

A scheduled sweep re-drives project links that errored, never synced, or were left claimed by a crashed run, capped so a permanently broken row cannot spin forever.

half my jobs made it into accounting and half didn't

in Integrations
Reveal and copy a stored credential

Stored keys render masked with a per-field eye to reveal and a one-click copy, and the page says out loud who can see them.

can't remember which key I pasted in

in One GoHighLevel Lead Engine
Round-Trip Echo Guard

When the platform creates a contact in your CRM, that contact is recorded on a delete list so your CRM's own automation cannot bounce it back as a brand-new lead.

I merge the duplicate and it comes back tomorrow

in Integrations
Run first sync

One button that proves the credentials and pipeline ids are right by pulling fresh counts of contacts and opportunities, in milliseconds.

saved the keys but nothing happened

in Card payments on your own Stripe account
Safety net for a lost payment webhook

A scheduled sweep re-reads recent settled payments across every payment provider and account, and replays anything not already recorded.

customer paid during your update window and it never showed

Search and buy a business number in-app

Search available local or toll-free numbers by area code or by city across the US and Canada, then buy one that arrives fully wired for texting and calling.

I need a business number that isn't my cell

Search Console connected, sitemap submitted

One consent connects Search Console, resolves which verified property matches the site, submits the sitemap, and pulls real query and page performance.

no idea what people search to find us

Search Console connection

A one-click Google grant that resolves the right property, resubmits the sitemap programmatically, and pulls the real query and page performance for the last 28 days.

I don't know what people actually type to find us

Send email from your own domain

A self-serve wizard for the account's sending domain — either a zero-DNS platform subdomain or your own domain with the records to add and a verify poller.

my emails go to spam

in Provider independence (swap who carries your email, texts and payments)
Sensible defaults for a brand-new account

An account whose provider rows are missing still sends, through a default chain that reflects current policy rather than legacy behaviour.

new account can't send anything until someone configures it

in Email from your own domain
Separate sending identities per purpose

Billing, updates and marketing mail can each ride their own sending domain, so a marketing reputation hit never drags invoices into spam.

my invoices are going to spam

in GoHighLevel connection (run for you, not by you)
Server-side CRM proxy, scoped per account

All CRM traffic goes through a single authenticated server route that injects the caller's own location id and token, so credentials never reach the browser and calls can never be aimed at another account.

dashboard full of red errors before I've connected anything

in Facebook and Instagram lead forms, straight into the pipeline
Signed lead deliveries, with failures logged loudly

Each delivery is signature-verified, resolved to the owning account by page, hydrated from the Graph API with that page's token, and pushed through the same ingest engine as every other lead source.

a lead came in on Facebook and never reached me

in SmartBuild, connected
SmartBuild colours, doors, pricing and starting models

The colour chart, the door and window catalogue, the material price list, the starting models, panel groups and cupola options are all readable — and pricing is writable.

colours in the render are not the colours we sell

in SmartBuild, connected
SmartBuild drawings and documents

Generate and download the job's SmartBuild output documents, and carry its 3D viewer link through to the customer.

have to log into SmartBuild to get the drawings

SmartBuild estimator connection

Each account connects its own SmartBuild login, and every estimator call is proxied server-side with that account's credentials so no tenant can ever see another's jobs.

I already have an estimator and don't want to re-enter everything

in SmartBuild, connected
SmartBuild job details, parsed

A SmartBuild job is read into the things the platform needs: dimensions, roof style and slope, contact and delivery details, opening counts, attached structures, material totals and the viewer link.

job details trapped in SmartBuild

in Integrations
SmartBuild login

Store the company's SmartBuild username and password so estimates and job data can be pulled into the platform.

my estimates aren't showing up in the dashboard

SmartBuild, connected

Shops already running SmartBuild keep running on it — jobs, estimates, drawings, colours, doors and pricing all reachable from inside the platform.

already estimate in SmartBuild

in Integrations
Stripe card payments setup

Paste your own Stripe key so customers can pay invoices by card — the funds and the fees are yours, and the webhook creates itself.

customers want to pay by card and I have no way to take it

in Email the order to a supplier, under your own brand
Supplier mail goes out under the builder's brand

Order and claim emails carry the builder's logo, name and colours, and go through the builder's own sending channel.

supplier email came from the wrong company

in PIN lock on Integrations
Support access to a locked tab is announced

When platform staff open a PIN-protected Integrations tab, a banner says out loud that they are past the customer's lock and that the access is logged.

can support see my keys

in QuickBooks Online integration
Sync status, retry and automatic re-drive

A chip on the job says Synced, Syncing or Sync failed with a Retry — and a scheduled sweep re-drives anything left behind.

did that actually sync to quickbooks

in Invoices mirrored into the books on send
Tell the books which item and account to use

The builder picks which accounting item and account platform invoices should post against, from their own live lists.

everything posts to the wrong income account

Telling search engines the moment something changes

A single ping tells Bing, Yandex, Seznam and Naver that specific URLs changed, using a key derived from an existing secret so there is nothing new to manage.

takes weeks for a new page to show up in search

in Registrations advance themselves
Texting is not switched on until replies can be heard

Before promoting an account to carrier texting, the Messaging Service is read at the source to confirm it has a public inbound webhook pointing at the platform's receiver.

we can text out but customers can't text back

in Search and buy a business number in-app
Texts go out from the rep the customer already knows

When the sending user has a number assigned, the text is addressed from that specific line rather than letting the carrier pick any number in the pool.

customer gets texts from a different number every time

in Your board is the source of truth, not the CRM
The one write back to the CRM, behind a runtime switch

Stage advances are mirrored to the account's CRM sales pipeline as the single sanctioned outbound write, switchable off at runtime without a code change.

the CRM and the app disagree about where a deal is

in Card payments on your own Stripe account
The payment webhook sets itself up

Saving a Stripe key creates the webhook endpoint inside the builder's own Stripe account and stores the signing secret, so nobody has to visit the Stripe dashboard.

I don't know what a signing secret is

The sitemap

One generated index of the canonical marketing pages, the whole feature engine, every system page and every published post — built from the same source the engine pings read.

our new pages never show up in google

Trusted calling registration on top of texting registration

Four carrier trust products — attested calling, spam-label monitoring, branded caller name and CNAM — filed against the approved business profile the texting registration already built.

my calls show up as Spam Likely

Two-way Google Calendar sync

Every appointment booked on the platform appears in the staff member's Google calendar, and everything already on their Google calendar becomes a busy block that removes those times from their booking availability.

got double booked because my personal calendar isn't visible

Two-way Google Calendar sync

Each staff member connects their own Google account: platform bookings appear on their Google calendar with a Meet link, and their Google events appear here as busy time that removes those hours from booking links.

people book me when I'm already busy

in Email from your own domain
Verified sending domain, or nothing

A domain only counts as a sending identity once DNS has actually verified it; a pending domain reads as unverified so nobody can switch to it and start bouncing mail.

set up my domain and everything bounced

in DataForSEO connection
Volume, difficulty and seasonality per keyword

Batch keyword metrics return monthly search volume, difficulty and cost per click, plus a twelve-month seasonal profile folded into a January-to-December shape.

writing about the wrong thing at the wrong time of year

in Search and buy a business number in-app
Webhooks registered on the exact host the carrier will sign

Every webhook URL written to the carrier is forced to a public https www host, because a redirecting or local URL makes the signature check fail and the call or text dies.

calls to my number just fail

in DataForSEO connection
Where you actually rank, checked daily

A live search results check for a tracked keyword returns your absolute position, the exact ranking URL, and the ten domains above you.

no idea if any of this is working

in Provider independence (swap who carries your email, texts and payments)
Which provider actually delivered this

Every send writes a row naming the provider that carried it, its provider message id, the outcome, and the billable units.

did that text actually go out

Which provider carries each channel

A per-account view of which provider actually carries email, texting and calls — readable by the account, changeable only by the platform.

I don't know who actually sends my emails

in Provider picker that refuses a switch that would break you
Wire-by-wire connection status

Instead of one 'connected' light per provider, each individual wire — location id, token, texting, email, pipeline ids — reports its own state with a masked value and a fix.

it says connected but sends fail

You are the merchant — your own payment account

Each business connects its own payment account, so funds, fees, refunds and payouts are theirs — the platform never sits between you and your money.

who actually holds my customers' money

in GoHighLevel connection (run for you, not by you)
Your board is the source of truth, not the CRM

Pipeline state flows one way — leads and messages come in from the CRM, but stage, value and lifecycle are owned here and never written back.

I move a card and it jumps back

Your own carrier account, not a shared pool

Each builder gets their own Twilio subaccount, so their numbers, Messaging Service and carrier registration are isolated and one company's bad texting habits cannot sink everyone else's delivery.

my texts stopped getting delivered and I didn't do anything

Intelligence

174
in Sales Leaderboard
#1 reign tracking

How long the current #1 has held the top spot, and the longest run anyone has ever held it.

we want a sales competition with an actual record to beat

in The scheduled publisher
A post just went live

The moment an autonomous post goes live, an email arrives with the title, the keyword it's chasing and its length — the one irreversible public action the system takes.

things go out under my name and I find out later

A real call record, not a sentence

Every call is a queryable fact — direction, duration, who answered, the reason it was missed, recording and transcript — with a raw event black box behind it.

I can't report on calls at all

Account health and retention scoring

A 0-100 health score and risk level per account, built from real usage, setup milestones and evidence the product is delivering value — with the reason for every alert spelled out.

customers churn and we never saw it coming

in Account health and retention scoring
Accounts overview

One row per account with score, risk badge, sessions, milestones and alerts, plus a summary count of healthy, watch, at-risk and churning.

which of my customers need attention this week

in Sales Analytics
Activity by hour and day

A 7×24 grid where each square is one hour of one weekday, shaded by how much lead activity happened in it.

leads come in Saturday and sit until Monday

in Hosted lead form
Ad and campaign attribution captured automatically

The form quietly attaches the referring page and any campaign parameters to every submission.

I do not know which ads bring me jobs

in Sales Pipeline Board
Analytics and Leaderboard Inside the Pipeline

Analytics and the rep leaderboard are tabs on the sales board, so reps see their numbers where they work instead of in a separate menu.

nobody looks at the reports

in Sales Analytics
Analytics where the work is

Analytics and Leaderboard are tabs on the sales pipeline rather than separate nav items, permission-gated and mounted only while open.

too many things in the sidebar

in The weekly SEO audit
Approved-report terminal feed

One command prints the full approved report — benchmark, signals and every proposal's machine instruction — so the work can be handed straight to a developer or an agent.

the report and the person doing the work are never in the same place

Backlink prospect mining

Pulls the sites that link to your highest-relevance competitors, strips the junk, and keeps them as a working outreach list with a status on each row.

I don't know where to even start getting backlinks

Backlink snapshots

Total backlinks, referring domains and the day's new and lost links are snapshotted daily — and the referring-domain count is one of the two gates that unlocks harder keywords.

people keep telling me I need backlinks and I don't know how many I have

Bug analytics — where the platform actually hurts

Volume, resolution speed, rejection sources and recurrences over any date range, with every average shown next to its sample size and no fabricated zeros.

does this vendor actually fix things

in Help & feedback — report a bug, request a feature, reach support
Bug intake analytics

Server-computed reporting on everything filed: how much was real, how fast it was fixed, what is still open and how stale, and which problems keep coming back.

are the problems I report actually getting fixed or just closed

Builder dashboard

The landing screen: pipeline value, projects, stage completion, tasks due and delays across the top, then a rearrangeable grid of charts covering sales, schedule, revenue and crews.

I want one screen that tells me how the business is doing

in What each page should rank for
Cannibalisation detection

When a term is assigned to one page but Google returns a different one, the page is flagged as cannibalised and the fix is stated: pick an owner, link the other at it.

google shows the wrong page from my site

in Stage analytics
Changes to your stages

A dated log of every edit to your stage setup — renames, duration changes, checkpoints and stages added or removed — shown next to the performance it explains.

our numbers changed and nobody knows why

in Account health and retention scoring
Churn alerts with reasons

A ranked list of specific, named risks per account — each with a severity and a sentence saying exactly what has or has not happened.

the health score says 40 and I don't know why

in Client Success — who is drifting, before they leave
Churn alerts with the reason spelled out

Named, severity-ranked alerts — nobody signed in for 14 days, usage halved week over week, no lead source after two weeks, estimates going out but never opened, used to send estimates and none in 30 days — each with the specific detail behind it.

our website form was never actually connected

in It tells you when the building will not work
Click a warning and it takes you to the problem

A finding that names an opening is a button: click it and the opening is selected, outlined and brought into view.

which door is the warning about

Client Success — who is drifting, before they leave

Every builder account ranked by health, with the signals that predict churn — logins, active time, people, milestones wired up, estimates and messages flowing — and what is alerting on each.

we paid for a year and barely used it

in The rep metric catalog
Close rate

Out of the leads a rep works, the share that turn into signed builds — the heaviest input to the Rep Score.

how many leads do we actually close

in The weekly SEO audit
Corrective proposals

When the numbers stop moving, the report emits typed, evidence-backed proposals — each naming the pages, the reason, the human action and the machine instruction.

I get told my rankings dropped and never what to do about it

in Hours and labour cost for the whole team
Cost by crew against the day rates

Each crew's day rate from its own tiers plus equipment, projected across the days it worked, set beside what it was actually paid, with the difference named.

one crew looks way more expensive than another

in Hours and labour cost for the whole team
Cost per crew-day

Total labour divided by crew-days rather than by calendar days or man-hours, because a crew-day is the unit the pay model is actually priced in.

what does a day of crew actually cost me

in Field crew performance
Crew cards that filter the page

Selecting a crew card scopes every chart below it, and a banner states the scope explicitly rather than leaving it to be inferred.

I clicked a crew and nothing changed

in Builder dashboard
Crew comparison (dashboard)

Stages completed, projects touched and average variance per crew, with retired crews kept out of the default view.

old crews clutter my dashboard

Crew duration history and predictions

Completed stage logs are rolled into per-crew, per-stage, per-building-size averages that can then estimate how long a new job's stage will take, with a confidence figure.

how long will this actually take

in Stage analytics
Crew schedule table

Crews ranked by average variance against baseline, with stages completed of started, on-time rate and total days over.

which crew finishes on time most often

in Builder dashboard
Crew-scoped dashboard

A user who cannot view all crews sees only their own crew's projects in every dashboard widget.

my subs can see all my jobs on the dashboard

in Account health and retention scoring
Daily health sweep and change alerts

A daily job that snapshots every account's health and notifies only on what changed — a risk level slipping or a new high-severity alert — plus one digest of everything at risk.

we get the same alert every day and start ignoring it

in Client Success — who is drifting, before they leave
Daily health sweep and change notifications

A daily job snapshots every account's health and notifies only on what changed — a risk that got worse or a new high-severity alert — plus one digest of everything at risk.

nobody noticed we had stopped using it

Daily rank tracking

Every tracked keyword is checked against a live Google SERP each morning, and the position, the URL Google returned and the top ten are all kept.

I don't know if I'm going up or down on google

in Sales Analytics
Daily throughput

A four-series area chart of leads created, stage moves performed, deals won and projects completed, per day.

did we actually get busier this month

in Builder dashboard
Dashboard KPI cards

Five cards: pipeline value with active deal count, projects with active stages, stages complete with average schedule variance, tasks due with overdue count, and delays logged.

what's in my pipeline right now

in Sales Analytics
Date range presets and custom range

Last 7 / 30 / 90 days, all time, or a custom from-to range, applied to every chart at once.

I want last month, not last 90 days

in Field crew performance
Days off plan by stage

Average days over or under the planned duration, per stage per crew, drawn around a zero reference line.

which stage do we always blow the schedule on

in The chart tooltip standard
Deep chart explainers

An (i) beside a chart opens either a one-line popover or a full modal with what it is, how to read it, and a worked example with real numbers.

I don't know how to read this chart

in What happened to the email after you sent it
Delivery events recorded as the provider reports them

Delivered, opened, clicked, bounced, complained and unsubscribed events are stored per message, with machine opens flagged rather than silently counted.

I don't know if emails are bouncing

Estimate open and read-time tracking

The portal records who opened an estimate, when it was first opened, and how many seconds they actually spent reading it.

did the customer even open my quote

in The chart tooltip standard
Every average carries its n

No average is shown anywhere without the number of runs behind it, in the tooltip, the table, or both.

that crew looks terrible but they only did two stages

in It tells you when the building will not work
Every check, explained — including the ones you passed

The panel lists every rule the engine can raise with a plain-English reason, tripped or not, so you can see what the design passed.

what does this tool actually check

in Appointment lifecycle
Every email this appointment sent, and what happened to it

A per-appointment list of every message sent — confirmation, each reminder, no-show, cancellation — with delivered, opened and clicked timestamps.

did they even get the reminder

Field crew performance

Crew performance measured as variance against the plan rather than raw duration, layered verdict-first: who to worry about, how bad and where, then why and whether it is improving.

which crew is actually slowing my jobs down

in It tells you when the building will not work
Findings toast, then retire into a panel

A finding pops for five seconds when it first appears, then lives in an Issues panel for as long as it is true.

warnings cover the model

First-party website analytics

A small beacon on every marketing page records page views, scroll depth, clicks, form submits, outbound clicks and time on page — no cookies, no third parties, no personal data, and it can never break the page.

google analytics is a black box and I can't act on it

First-party website analytics with no cookies

Page views, clicks, form submissions, scroll depth, outbound clicks and time on page collected first-party, with no cookies and nothing that identifies a person.

I have no idea if my website is working

in The rep metric catalog
Follow-up

Average number of touches per lead — how consistently a rep keeps working a deal after first contact.

leads go quiet and nobody chases them

in Stage analytics
Frozen plan baseline

Once a project starts, the duration you committed to is frozen, and every variance in the product is measured against that frozen number.

someone changed the stage length and now nothing is late

in Sales Analytics
Global rep and role filter

One picker at the top of Analytics — All reps, Sales reps, Managers, or a named person — that re-scopes every chart on the page.

I want to see just this rep's numbers across everything

in Sales Analytics
Group compare

Pick two or three cohorts — role groups or individuals — and see win rate, time to won, average dwell and lead volume side by side.

are my newer reps actually behind or is it just fewer leads

Guided tours for the numbers

Two in-app guided tours — one on reading Analytics, one on how the Leaderboard and Rep Score work — reachable from the tab you are standing on.

my analytics page is blank, is it broken

in Sales Analytics
Headline sales numbers

Seven cards across the top of Analytics: time to first contact, time to won, time to completion, win rate, leads per week, total leads and active leads.

how fast are we actually calling new leads back

in Client Success — who is drifting, before they leave
Health score and risk level

A score out of 100 built from usage, milestones and value delivered, mapped to healthy, watch, at risk or churn risk — with hard floors that no amount of past setup can override.

we set everything up and then stopped using it

Hero image generation

Every post gets an original hero rendered in one of three house art directions, downloaded off the generator's temporary CDN and stored permanently so a published post's image can never rot.

stock photos make every builder's website look the same

in Stage SOP performance
Honest rates across SOP edits

Each step is scored only against the deals where that step was actually on the checklist at the time of the move.

changed my checklist and all my stats went to zero

Hours and labour cost for the whole team

Everything every crew has logged, priced with the same calculation each job's payout uses: who carries the hours, what each crew costs, and what a crew-day actually runs at.

what is labour actually costing me

in Hours and labour cost for the whole team
Hours by person

One bar per person showing hours, coloured by crew, with the money in the tooltip rather than on the axis.

who is actually pulling the weight

How fast you actually call people back

Measures the time from the first miss to the first observed recovery per person — a connected callback or a text back — with a set of honesty rules that stop the number being gamed or unfair.

I have no idea how long we take to call leads back

How this supplier actually performs

Late percentage, average days late, share of orders with something short or damaged, and how many claims are still unsettled — all counted from records the builder already made.

which supplier should I use

Is my number showing as Spam Likely?

Per-carrier reputation for every line, reported only when it has actually been observed — with 'unknown' treated as normal rather than green.

my number shows as Spam Likely on customers' phones

in Create a task from wherever you already are
It suggests only times you actually use

Time and offset chips marked “your usual” appear only once you have a real history at that junction — a fresh account is offered nothing.

the app keeps suggesting 9am and I never use 9am

It tells you when the building will not work

Forty-plus standing checks — opening fit, endwall shear, minimum roof slope, truss span ceilings, snow drift, stock lengths, embedment and frost depth — raised as errors, warnings or heads-ups with live numbers.

found out too late the roof pitch voids the warranty

Journeys — every builder from lead to live

One row per builder with fourteen junctions lit or dark — lead in, first contact, discovery, demo, proposal, opened, paid, signed, booked, setup, account live, texting live, team invited, first estimate — plus how long each leg took.

how long does it actually take to get up and running

in The rep metric catalog
Leads worked

How many leads a rep actively handled in the period — shown for context, never scored.

is he slow or is he just not getting leads

in Sales Analytics
Lifecycle event log

An append-only record of every lead created, stage move, won/lost and project completion, stamped with who owned it, who moved it and how long it sat.

my reports changed after someone renamed a stage

in llms.txt — the site, written for a machine that reads
llms-full.txt — every guide in one file

The complete text of every published guide in one markdown file, each fenced with its canonical URL, so a system working under a budget can answer without crawling ten pages.

AI summarises our content without crediting us

llms.txt — the site, written for a machine that reads

A single markdown file describing what every URL on the site IS — one sentence each — so an assistant deciding whether you can answer a question doesn't have to fetch and guess.

AI tools describe my competitors and not me

in Milestones and achievement ladders
Milestone celebration email

Crossing a tier sends one branded email to the account's owner and admins — confetti, the number in large type, what it means for their business, and the next tier.

software vendors only email me when they want money

Milestones and achievement ladders

Eleven ladders — leads, estimates sent, estimates approved, texts, emails, automated sends, record days and time in the platform — that fill themselves in from real work and get celebrated when a tier is crossed.

we never notice the wins

in Product usage pulse
Module heat

Active seconds per module over 30 days, ranked most to least used, including the modules with zero.

we're paying for features nobody uses

Named AI crawlers, deliberately welcomed

Twenty AI agents are named individually in robots.txt and allowed on purpose, with answer crawlers separated from training crawlers because conflating the two is how sites make themselves invisible.

should I block AI from reading my website

in The keyword universe
Niche filter — only buildable terms enter the list

Three word patterns decide whether a mined keyword belongs to the post-frame world at all, and one noise list throws out the accidental matches.

keyword tools bury me in words that have nothing to do with my business

in Stage SOP performance
Notes reps left under SOP steps

The most recent notes reps typed under a checklist step, listed with the step, stage, customer and date.

the rep said the customer wanted to wait for spring and nobody wrote it down

in Account health and retention scoring
Onboarding milestone ledger

Twenty-three weighted milestones across setup, integrations and getting value — every one derived from the table where the fact actually lives, never ticked by hand.

they signed up but never uploaded a logo

in The report knows where you were
One name for every part of the product

Bugs, feature requests and tasks raised from the same screen all get stamped with the same canonical area, so they can be counted together.

nobody can tell me which part of the software has the most problems

in What each page should rank for
One page, in full

Opening a row in the Pages table puts what people do on that page beside what it is supposed to earn — behaviour on the left, search intent on the right.

I can see the traffic but not what to change

One person's record

A per-person scorecard that adapts to their role: a field worker gets pay tier, hours, days, jobs and earnings; a sales rep gets leads, close rate and rank.

how many hours has this guy actually worked for us

in Sales Leaderboard
Overall standings

A horizontal bar per rep on a fixed 0-100 scale, medals inline on the axis, your bar highlighted, every bar clickable.

the chart looks different every week for no reason

in The blog desk
Overdue, scheduled, draft — the five states of a post

A post with a date on the calendar and a post nobody has scheduled are not the same thing, so the list separates published, overdue, scheduled, draft and archived — with the ones needing a decision first.

I have to scroll past fifty published posts to find the ones coming up

in Sales Analytics
Owner performance table

A sortable table of deals owned, won, win rate, average time to won, average dwell and moves performed, per person.

who is actually closing and who is just busy

Page titles and descriptions as data

A page's title, description, canonical and index flag live in a table that overrides what the page shipped with — so fixing an audit finding is a row edit rather than a production deploy.

changing a page title means calling the developer

in Product usage pulse
Per-person usage

Sessions, active minutes, last seen, top module and device for every person on the account, sorted by time spent.

I invited my team and I don't think anyone logs in

in Sales Leaderboard
Per-rep breakdown

A modal with one rep's score, rank, leads, wins, close rate and every metric with its value, org rank and a plain-English context line.

I want the full picture on one rep

in Stage analytics
Per-stage performance table

One row per stage: runs completed of started, average planned, average actual, average variance, how many ran long versus short, days lost, and photos taken.

how long does concrete really take on our jobs

in Sales Analytics
Pipeline by stage

A bar per pipeline stage showing how many leads are sitting there right now and what share of the pipeline that is — counted the same way the board counts them.

the chart says one thing and my board says another

in Builder dashboard
Pipeline by stage (dashboard)

A bar per sales stage with the count and value sitting in it, built from the same stage catalogue the board renders.

the dashboard chart only shows one stage

in Builder dashboard
Planned vs actual duration

Average planned days beside average actual days for every stage type that has completed work, including custom stages.

our stage estimates are always wrong

in The agency panel (who runs your platform)
Platform metrics, alerts and charts

MRR, ARR, ARPU, net new, churn rate, trial conversion and tenant totals, with three clickable alert cards and twelve-week signup and plan-distribution charts — visible to the owner alone.

is this vendor going to be around next year

Product usage pulse

A background beacon that records which screen each person is on and counts active time only while the tab is visible and they are actually moving.

usage reports that just count open tabs

in Stage complete — one send, once
Project marked complete once, with a cycle time

When every stage's applicable checkpoints are done, the project is stamped complete once — feeding lead-to-completion cycle time.

the project never shows as finished

in Rep Score
Provisional scores and the minimum-leads gate

Until a rep has worked enough leads, their score is pulled toward the team average and labelled provisional everywhere it appears.

the rookie is top of the board off two deals

in Milestones and achievement ladders
Quiet first-run backfill

The first time milestones run on an existing account, every tier already earned is recorded silently — only tiers crossed after that are celebrated.

got eleven congratulations emails in one minute

in The blog desk
Read the draft in the real template

An unpublished draft renders at its real URL for signed-in platform staff only — with a DRAFT banner and a hard noindex — so a post can be judged as a page, not as a textarea.

I can't tell how a post will look until it's live

in Builder dashboard
Rearrangeable dashboard

Drag any dashboard section by its handle to put it where you want, and the order sticks for next time.

I only care about two of these charts

in Sales Leaderboard
Rep Score

A single 0-100 score per rep, blended from close rate and speed to lead, smoothed toward the team average until the rep has handled enough leads.

the new guy closed his first lead and is suddenly top of the board

in Sales Analytics
Rep-level analytics privacy

The analytics endpoint enforces its own visibility: admins and owners see the org, sales managers see their configured team, a plain rep sees only their own leads, and crew roles are refused.

I don't want my reps seeing each other's leads

in The weekly SEO audit
Report sign-off queue

Reports carrying proposals sit as pending with a count badge on the navigation until they are approved, dismissed or fully implemented.

things get recommended and then nothing happens

in Hero image generation
Resumable image generation

Image jobs are started and parked, then collected on a later pass — so a slow picture costs nothing and never fails a post.

the post is finished but it won't publish because of a picture

in Builder dashboard
Revenue by building type

Pipeline value grouped by building type, top six, so you can see which product actually carries the business.

which building type makes us the most money

in Lead Distribution Engine
Routed Leads Count Toward Rep Score

Every engine-routed lead writes an owner-stamped record so the rep score that drives routing can actually see the leads it routed.

the leaderboard doesn't count the leads we imported

Sales Analytics

An Analytics tab inside the sales pipeline that turns every lead's real timestamps into conversion, speed, stage-time and throughput numbers without anyone entering data.

I have no idea how many leads actually turn into jobs

Sales Leaderboard

A rep-facing standings board where every salesperson sees everyone's close rate, speed and Rep Score — and learns what moves each number — without ever seeing another rep's leads.

my reps have no idea how they're doing until commission day

Sales performance (manager view)

The manager's diagnostic cut of rep performance: a standing per rep, a volume-versus-close-rate quadrant chart, and one ranked panel per improvable metric.

who on my sales team needs help and with what

in First-party website analytics
Saw it, clicked it, submitted

Three counts of unique sessions — saw a page, clicked something, submitted a form — so the drop-off between interest and enquiry is a number rather than an impression.

lots of traffic and no enquiries

in Field crew performance
Schedule reliability

A 100%-stacked bar per crew showing the share of their stages that finished early, on time or late.

is this crew usually late or was it one bad job

in Account health and retention scoring
Score history

A sparkline of the last 45 daily snapshots, each bar coloured by that day's risk band.

is this customer getting better or worse

in Sales Leaderboard
Scores shared, leads never

The leaderboard payload carries only names, roles, metrics, ranks and scores — no lead, contact, address or deal row ever leaves the server.

I want a leaderboard but my reps can't see each other's customers

Seasonal keyword intelligence

Every keyword carries its twelve-month search rhythm, and the planner looks one to two months ahead — because a post published today ranks in three to eight weeks.

everyone starts shopping for a shop in spring and my page ranks in july

SEO & Website command centre

One panel that answers seven separate questions about the website — how it's doing, where it ranks, what to attack next, what each page does, whether it's improving, what the autopilot did, and what's connected.

I have no idea if my website is actually working

SEO autopilot

The whole loop — pick the term, write the post, illustrate it, publish it on its date, tell the search engines, apply the safe corrections — runs on a schedule with a brake, a budget and a ledger.

I don't have time to write blog posts every week

SERP competitor discovery

Finds the domains that already rank for your seed keywords — even when you rank for nothing yet — and stores them with their keyword count and estimated traffic value.

I don't know who I'm actually competing with online

SERP content briefs

Before anything is written, the live top ten for the term is read and classified — comparison, listicle, guide or landing page — and the angle that beats it is written down.

I wrote a great article and it went nowhere

Site health crawl

A crawler walks up to 200 pages of the site and reports an on-page score with a count for every issue class — broken links, missing or duplicate titles and descriptions, 4xx and 5xx.

my website has errors and I have no idea

in The rep metric catalog
Speed to lead

The median time between a lead arriving and the rep making first contact — measured, per rep, from the event log.

leads sit for two days before anyone calls

Stage analytics

A settings panel that shows how each project stage performed against its plan and, right beside it, how the plan itself has been edited — because either one alone misleads.

my framing stage always runs over and I don't know by how much

Stage analytics — how the work went, and how the plan changed

Two questions kept deliberately apart: how the plan has changed, and how the work actually went.

I don't know how long framing actually takes us

in Sales Analytics
Stage dwell time

Average, median and 90th-percentile time a lead spent in each stage before moving on, with the sample size behind every bar.

deals sit in quoted forever and nobody notices

in Sales Analytics
Stage SOP performance

For every sales stage, how often each checklist step was actually ticked before the deal moved on — with the notes reps wrote under those steps.

my guys skip steps and I only find out when we lose the job

in Builder dashboard
Stage status overview

A pie of every tracked stage by status — planned, in progress, completed, delayed.

how much work is actually in flight

in Daily rank tracking
Striking-distance pages

Terms sitting between position 4 and 20 are surfaced as their own list, because moving one of those is the cheapest ranking win available.

I keep writing new pages when the old ones are nearly there

in SEO autopilot
The action ledger

Every autonomous action lands in a row with its run id, its cost, a one-line summary and the value it changed — so 'what did it do last week' is answerable and undoable.

I don't know what the automation changed on my site

The authority stage roadmap

Five stages decide what difficulty of keyword you're allowed to attack, and each one unlocks on two facts you already measure — referring domains and how many terms sit in Google's top ten.

I've been doing SEO for a year and nothing ranks

The blog desk

Write in markdown against a keyword from the roadmap with its SERP brief beside the editor, preview it in the real template, and publish — the sitemap, the engines and rank tracking all follow automatically.

publishing a blog post takes six different steps

in SEO autopilot
The brake

One toggle halts every autonomous write, and four smaller ones let a single capability be paused without stopping the rest.

I want to try automation but I need to be able to stop it

The chart tooltip standard

One shared tooltip component and a written rule that every chart hover must add the numbers the chart could not plot — never repeat the bar's own label and value.

hovering the chart just tells me what I already read

The entity graph on every article

Every article ships an @graph naming the article, its breadcrumbs, the organisation behind it, the website and the person who wrote it — with stable ids so ten pages resolve to one publisher.

AI answers describe what we do without naming us

in The writer
The house voice

The voice is one reviewable constant in the repo — post shape, tone rules and two absolute rules about competitors and sources — served to every writer so a change is a single diff.

AI writing doesn't sound like us

in SEO autopilot
The implementer — corrections applied without a person

A daily job takes the newest report and applies the proposals that are safe to apply, leaving anything touching code, outbound email or editorial judgement for a person.

recommendations pile up and nobody implements them

The inquiry desk

A read-only question-answering surface a writing agent can query — what the product is, what's already published, the house voice, linkable routes, the keyword universe with live positions, and what currently ranks for a term.

the AI wrote something about our product that isn't true

The keyword universe

Every keyword worth ranking for in the post-frame niche, mined from the sites that already rank, scored by how much traffic each one wins per unit of effort.

I don't know what people actually search for when they want a pole barn

in The writer
The link menu — no invented links

A writer may only link to routes on a generated list of pages that actually exist, and the submitted post is rejected if it carries fewer than two internal links or no outbound source.

AI wrote links to pages that don't exist on my site

in Client Success — who is drifting, before they leave
The milestone ledger — what makes an account stick

Twenty-three milestones across setup, integrations and getting value, each derived from the table where the fact actually lives and never hand-ticked.

I never finished setting it up and it never worked properly

The provider library and its audit queue

A curated library of the tools builders actually name on calls, with what they typically cost and how confident that figure is — and a review queue that merges the same tool spelled two ways.

they told me I was spending more than I actually am

The publish gate

Three checks stand between a draft and the live site — no leftover outline block, at least 350 words, and a hero image — and a machine cannot override them.

we published a half-finished page by accident

in The rolling content calendar
The publishing week

Three publish days a week are defined in one constant that the planner, the writer's schedule and the publisher all read, so they cannot disagree about when posts go out.

we publish when someone remembers

in The authority stage roadmap
The rank ladder

One picture that answers where you rank today, which terms deserve effort at that rank, and exactly what unlocks the bigger ones.

I can't tell if my rankings are moving in the right direction

in Sales Leaderboard
The rep metric catalog

One file defines the six rep metrics, their units, their direction, their score weight and the plain-English copy that teaches each one — and every screen reads from it.

my reps don't know what any of these numbers mean

The rolling content calendar

Only the next three weeks hold dates — the planner refills empty publish-day slots every day from the live-ranked queue, and never moves a date a person set by hand.

our content calendar is out of date the week after we make it

in The public blog
The RSS feed

A standard feed of every published post, because a sitemap says what exists and a feed says what changed — which is the cheaper question for aggregators and ingestion pipelines to ask.

nobody finds out when we publish something new

The scheduled publisher

A daily job publishes what's due, tells the search engines, promotes the target keyword into rank tracking and emails you — and everything it does downstream is identical to publishing by hand.

posts sit finished and never go live

in First-party website analytics
The scroll ladder — where readers stop

Four milestones instead of one flag — 25, 50, 75 and 100 per cent — because where someone stopped is the finding, not whether they got near the end.

people land on the page and leave and I don't know why

in The blog desk
The topic map

The whole content plan as one web: the platform at the centre, seven pillars orbiting it sized by their cluster's impact, every post hanging off its pillar sized by its keyword's weight.

I can't see whether our content covers everything

in The weekly SEO audit
The weekly audit email

The report arrives as a branded email that leads with what the system already did this week, and only then with what still needs a person.

I never read the marketing report

The weekly SEO audit

Once a week the system benchmarks every tracked keyword against its baseline and its position seven days ago, scores the movement, and returns a one-word verdict: baseline, improving, flat or declining.

is my SEO actually working or am I wasting money

The writer

Writes one finished 900–1,400 word post per pass against the target keyword's SERP brief, in a house voice derived from the posts already published, and refuses to return anything that would fail the publish gate.

I don't have time to write blog posts

in Hero image generation
Three art directions, chosen from a dropdown

Editorial, Blueprint or Golden hour — each with its own set of framings rotated per post, so a run of new posts never reads as one photo shoot.

every image on our blog looks like the same photo

in The keyword universe
Throughput scoring — traffic won per unit of effort

Each keyword gets one number that blends monthly volume, how winnable it is, what the searcher wants and what the click is worth — so the list has an order instead of a length.

everyone tells me to go after the big keyword and it never works

in The rep metric catalog
Time to close

Average time from a new lead to a signed deal — tracked and ranked, but deliberately excluded from the Rep Score.

how long does it take us to close a job

in The rep metric catalog
Time to quote

Median time from a new lead to a real price going out, measured by the first move into an estimate stage.

takes us a week to get a quote out

in Milestones and achievement ladders
Time-in-platform stats

Six tiles: sessions and active days, average session, longest session, total time in the platform, the module you spend the most time in, and the customer or job you spend the most time on.

which part of the software do we actually use

in Builder dashboard
Top delay reasons (dashboard)

A ranked breakdown of recorded delay causes, with the 'ahead of schedule' code excluded so a good outcome is never counted as a delay.

why do our jobs keep slipping

in Client Success — who is drifting, before they leave
Usage — sessions, active time, module heat

Sessions, active minutes and distinct people over 7 and 30 days, module heat from most to least used, a weekday-by-hour heat map, a per-person breakdown and a 30-day series.

we bought it and only use one screen

in Field crew performance
Variance trend

Average days off plan per month, one line per crew, around a zero rule — a line falling toward zero is a crew getting back on schedule.

did the talk we had actually change anything

in Field crew performance
Verdict cards that actually filter

Selecting a crew's verdict card scopes every panel below it, instead of highlighting a card while the charts keep showing everyone.

clicked a crew and nothing changed

Verified county permit data, collected and graded

A growing library of post-frame permitting rules per county and city, each row graded for confidence and carrying the sources it was read from.

do you cover my area

in First-party website analytics
Visitors versus views

A page that pulled a crowd and a page one person reloaded twenty times look identical until you count people separately from loads — so both are recorded, plus how many were returning.

my traffic numbers look good and no leads come in

in Sales performance (manager view)
Volume vs close rate quadrant

Each rep plotted by leads worked across and close rate up, bubble sized by deals won, with team-median lines splitting the chart into four coaching quadrants.

I don't know if it's the rep or the leads

What each page should rank for

Every page on the site gets a podium of the terms it should own, scored by six named factors — and each recommendation reads back as a sentence you can argue with.

I don't know what my home page is even supposed to rank for

in One conversation per customer — texts, emails and calls in a single thread
What happened to the email after you sent it

Every sent email carries a one-word status — Delivered, Opened, Clicked, Bounced — with a popover that admits how much of the open count was a machine.

did the customer actually get my estimate email

What to write next

One selection rule decides the next post for both writers: real search volume weighted by winnability, intent and season, gated by the roadmap — with a committed publish date outranking everything.

I have a content calendar nobody follows

in Product usage pulse
When the account is working

A weekday-by-hour grid of page views over the last 30 days showing when an account actually works in the product.

when is the best time to reach this customer

in First-party website analytics
Where readers go next

For every page: how many sessions landed there, how many left from there, and the five pages readers went to next — the honest test of whether the internal links work.

people read one page and leave

in Field crew performance
Where the lost days went

Every recorded delay reason ranked by the total days it cost, with a footnote saying whether it is a crew problem or a systemic one.

everyone says weather but I don't know how many days that really is

in Stage analytics
Where the time went

All delay causes across every stage, ranked by total days lost, with the occurrence count beside each.

what is actually costing us the most days across all jobs

in First-party website analytics
Where visitors came from

Every session is classified once, from its very first page view, into organic, referral, paid or direct — and organic landings are tracked per page as proof a ranking turned into an arrival.

I don't know if my SEO is bringing anyone in

in Milestones and achievement ladders
Where your time actually goes

Active-time measurement that reports sessions, average and longest session, all-time hours, which module you live in, and which customer or job took the most of your attention.

I have no idea where my day goes

in Stage analytics — how the work went, and how the plan changed
Who changed the plan, and when

Every rename, duration change, colour change, reorder and checkpoint add/remove is recorded with the person who made it.

someone changed our stage durations and nobody knows who

in Stage analytics
Who documented the work

Photo counts per person, with how many of theirs were customer-facing, and an honest count of older photos that carry no photographer.

nobody takes progress photos on my jobs

in The blog desk
Why was this post pulled?

Archiving a post requires a written reason, stored on the row with its own timestamp — because the person asking why months later is never the person who did it.

a page disappeared from our site and nobody knows why

Writing on a subscription, not an API key

A scheduled agent running on an existing Claude subscription asks the platform what to write, writes it, and posts it back — so no model API key lives on the platform and there is no per-post charge here.

I'm already paying for AI and don't want a second bill

in Milestones and achievement ladders
Your milestones on the dashboard

A dashboard section showing how many milestones you have reached, your usage stat tiles, and the four ladders you are closest to completing.

what am I close to hitting

in Sales Leaderboard
Your rank and biggest opportunity

A hero card showing the rep's rank with a medal, their Rep Score out of 100, what they lead the team in, and the single metric with the most room to improve.

I don't know what to work on

in Sales Leaderboard
Your shape vs team best

A radar with one spoke per scoring metric, your filled shape against an outline of the best number anyone on the team posted.

I'm good at some things and bad at others and can't see the pattern