Here's the week you run.
Here's what stops being your job.
Knock the door. Catch the lead. Measure the roof. Price it. Get it signed. Clear the permit. Put a subcontractor on it. Run the carrier. Collect. Pay everybody. Know what it made. Every one of those is somebody's afternoon — and most of that afternoon is typing, chasing and looking things up. That part is what we take.
Revenue by month
Last 6 mo ▾Lead sources
Jobs needing attention
View all 18| Job | Stage | Assignee | Value | Next step |
|---|---|---|---|---|
| Hvillard — 2841 Fenmore St Insurance Restoration | Adjuster assigned | D. Cho | $18,900 | Today 2:00 PM |
| Okafor — 119 Crestline Ave Retail Replacement | Proposal Sent | R. Diaz | $41,250 | Follow-up call |
| Bergstrom — 77 Alder Ct Insurance Restoration | Upcoming | K. Patel | $12,480 | Assign subcontractor |
| Nguyen — 5502 Birchwood Ln Retail Replacement | Proposal Signed | R. Diaz | $16,700 | Collect initial payment |
This one is live. Try it right now.
This is the same idea the product runs on. Ask what OneRoof does, how a job moves, or what it costs — you'll get a straight answer, including when the answer is no.
Answers come from what OneRoof actually does today. It has no access to any account or customer data, and it won't invent a feature to win the sale.
Rather just start?Create an accountTalk to a person
Three things your office does every week — and stops doing here.

Everything between the door
and the last person paid
In the order the work actually happens. Each one starts with the part you already know — and ends with the part that stops being somebody's afternoon.
You find out Friday which streets actually got knocked
The door data lives in a rep's head and a paper map. By Monday a “not home” and a “not interested” look the same, so you re-knock the warm ones and skip the cold.
Zones are drawn and assigned, and every knock lands against one of five dispositions — Send to Sales, Not Home, Not Homeowner, Not Interested, Answered — on the map the next rep opens. Send to Sales files the lead into the CRM itself, so nobody keys a name off a text message. Property & owner data comes up at the door.
The lead that came in while you were on a roof
Four inboxes for leads: the website form that emails somebody, the phone that rang at two o'clock, the canvasser's text, and your own inbox. The one you lose is always on the channel you weren't watching.
A website form submission becomes a contact on the pipeline and stage you chose, deduped on phone, with nobody opening an email to make it happen — and if that number is already yours, it appends instead of starting a second file. A missed call is an event your automations act on.
Somebody retypes the measurement report into the estimate
The report lands as a PDF in an email, and then a person types squares, pitch, ridge, hip, valley, eave and rake into an estimate. Every retype is a chance to lose a square.
Upload the report and it is read for you — squares, pitch, waste, facet count and every edge length, onto the contact and into the bill of materials. Or order an aerial report from the job you're already looking at. The typing ends there.
The labor number in the spreadsheet was right eighteen months ago
The estimate lives in a workbook only one person can drive, and everybody else waits for that person to get off a roof.
Set a labor rate per material and a markup once, and every estimate resolves from it — nothing is re-derived per job. The bill of materials carries the consumables that get forgotten and then bought twice: coil, ridge and cap nails, cement, sealant, butyl tape, pipe boots, off-ridge vents sized off attic NFA.
Chasing the second homeowner for a week
The proposal goes out as a PDF, gets printed, signed, photographed badly — and somebody has to remember the other name on the deed.
Every homeowner on the deal is asked to sign. When the last one does, it comes back for your countersignature — and once you add it, the executed PDF and its Certificate of Completion file themselves onto the contact and go back to the homeowners — no download, no re-upload, no “did we ever send it?”. Your rep isn't pinged until everyone has actually signed.
The permit never went in, and you find out on install day
Everything that has to be true before anybody shows up lives in one person's memory — and that person is on a roof.
Permit, Materials and Crew requirements ride every job type, each set to track, warn or block. A blocking one stops the job moving on the board, so the catch isn't somebody's memory. A requirement at risk alerts its assignee and the job's assignee once, and never nags twice.
The adjuster's numbers are buried in a mail thread
The ACV lands on a Tuesday, and by the time it matters nobody can find which email said what, so the supplement goes in late.
One policy per contact with the agent on it; a claim per storm with its own adjuster. When the adjuster writes in, the claim number, status, ACV, RCV, deductible and date of loss come out of the email and wait on the claim as accept-or-dismiss chips. You stop reading the thread to find a number — and it never invents a dollar amount.
Friday's sub pay gets rebuilt from memory
Sub pay is a spreadsheet, and it's the spreadsheet that gets you sued. Every material pays a different rate, and the canvasser is on a different deal than the rep.
Rates go in once — per square, per material, standing seam and architectural shingle at their own numbers — alongside three payout kinds: per square, flat per job, or a percentage on sale or on profit. The job carries its own math. At settlement the cost ledger freezes, so a later rate edit can't retro-change what someone was paid, and nobody gets paid because software decided to.
You find out the job lost money when the year closes
Costs land in three places and get added up months later — by which point the next twenty jobs are priced the same wrong way.
The margin sits on the card while the job is still running: materials, receipts, sub labor off the rate card, real payouts sent. Every line is badged an estimate or real money out, and a payout still in flight is never counted as spent. There's no report to run.
Don't know how to do something?
Just ask your copilot.
You don't have to learn it to use it — you can just ask for it. No manual. No training day. No ticket sitting somewhere while the job waits. No hunting through settings for the switch somebody showed you once. Type it the way you'd say it out loud, and the copilot either walks you to it or does it for you.
And it asks first. Every action it takes on your behalf comes up as a confirmation card before anything is written.

“where do I set subcontractor pay rates?”
It walks you there in the app — and can click through the screens with you — instead of telling you where to click. Ask a question in the settings search bar and a sentence comes back.
“move the Okafor job to the next stage”
The copilot does it, and shows you a confirmation card before it writes anything. Creating a task, scheduling an appointment, updating a contact, sending a payment link — every one asks first, and cancelling an appointment makes it state a reason on the card.
“when a financing deal is signed, email the sales manager and move it to Proposal Signed”
The trigger, the conditions and the actions come back drafted on the canvas. You fill in who, and save. It can only build what the engine actually runs — so it can't hand you a rule that silently never fires.
“jobs waiting on a permit”
Type the sentence instead of learning the filters, and the deterministic search runs it against your real rows. It escalates to the model only when you press for it — never on every keystroke.
The paperwork reads itself
The permit office writes at 4:40 on a Friday. The carrier writes on Saturday. Somebody has to open it, work out which job it belongs to, move the punchlist and file the PDF. Nobody does that here: your connected inbox is checked every minute, and the email is read, matched to the job, the punchlist moved and the PDF filed onto the contact before anyone opens it. Only the emails matching a rule you set are touched — everything else is left alone.
Squares stop being typed twice
A measurement report you upload is read into squares, total area, pitch and predominant pitch, waste factor, facet count, and ridge, hip, valley, eave and rake lengths — plus the material list.
Receipts stop riding around in the truck
Photograph one and the total is read off it, in the field, on the way out of the supply house — and it lands against the job's costs.
Certificates stop expiring quietly
A subcontractor's certificate of insurance is read into coverages, limits and dates. A rule decides compliance — not the model's opinion — and re-checks at 30 days, 14, 7 and the day it lapses, once each.
Claim numbers stop being copied out of email
An adjuster's email arrives as proposed claim updates, each with accept and dismiss on it. Nothing is applied for you, and no dollar amount is ever invented.
When it isn't sure, it doesn't guess.
It puts it in front of a person.
Nothing signs, nothing pays, and no rule you write ever messages your homeowner — every automation in the engine notifies your own team. The proposal and the payment link still go out from the job; a person sends them, and the executed copy goes back on its own only once you have countersigned. Every write the copilot makes asks you first, and cancelling an appointment makes it state a reason on the card.
Document and email extraction run on Claude Sonnet. The automation builder and the copilot chat run on Claude Opus 4.8. The voice copilot runs on Google Gemini. Every token is metered and published on the rate card.
Need a new automation?
Just tell us what you need and we'll build it for you.
Describe the rule you want in your own words. If the automation engine can run it, we build it with you. If it needs new product, we say so — you never sit waiting to find out.
Worth knowing before you ask: every automation in the engine notifies your team. A text or email to the homeowner isn't something it sends.
You shouldn't need a quote
to find out what it costs.
Start at $49/mo, then add only the seats and features you actually need. Every add-on and every metered token — dialer minutes, texts, AI, property & owner-data lookups, measurements — is published on a single rate card you can read before you buy. No quotes, no forced tiers, no annual lock-in.
See every price →
The roof is still your work.
The paperwork doesn't have to be.
Month-to-month · every price published · your data stays yours.