a Sagan program · currently in private beta

Roofing Quote Generator Agent

Your quote draft arrives as a Google Sheet with one tab per roof section, pre-filled labor hours and material prices from your cost sheet, prevailing-wage rates by county, and highlighted cells flagging what needs estimator review.
before

Field team captures CompanyCam photos with voice-note captions and an iRoofing measurement report. You open a blank Google Sheets template, create a tab per roof section, and type out every deficiency as a line item with labor hours, labor rate, burden percentage, material quantity, and material unit price. A typical multi-section commercial quote is 10-12 tabs.

after

You select the CompanyCam project, upload the iRoofing report, add per-job context notes, and the agent generates a pre-filled Google Sheet with one tab per roof section. Each tab is styled to match your existing CC337 deficiency-breakdown format. Labor hours and material prices are already filled in from your cost sheet. Cells the agent was uncertain about are highlighted for your review. You verify and finalize instead of assemble.

roofing / solar energy / home services / construction / estimation / data enrichment / fulfillment / CompanyCam / iRoofing / Google Sheets / Google Drive / OpenRouter /  roofing / solar energy / home services / construction / estimation / data enrichment / fulfillment / CompanyCam / iRoofing / Google Sheets / Google Drive / OpenRouter / 
the problem

Every commercial roofing quote starts with five hours of manual data entry

Your field team captures CompanyCam photos with voice-note captions and pulls an iRoofing measurement report.

01
The bottleneck

Photo captions and measurements exist. The cost sheet exists. But assembling them into a line-itemed quote is manual, slow, and blocks your estimator from the work that actually requires judgment.

02
The cash impact

Five hours per quote at your labor rate is real money. More important: every quote that sits in draft is a customer who's cooling off or calling your competitor.

the math, if you want to look

Your quote draft arrives pre-filled, ready for review

proof 01
Prevailing wage built in

Flip between private and prevailing wage with one cell edit. County lookup pulls the right hourly rate automatically. The whole sheet updates.

proof 02
Your cost sheet is the brain

You maintain a table of labor hours per task, material unit prices, and business rules. The agent reads this on every run. When you edit a generated quote, those edits are captured as candidates for the cost sheet, never auto-merged.

proof 03
Per-job context honored

Type or dictate context notes in plain English: 'brown roof replace, gray roof give repair plus replace options, secure-area access: +2 hrs per day.' The agent applies these when pricing the quote.

The agent reads CompanyCam photos with auto-transcribed voice-note captions, parses your iRoofing measurement report for section names and square footage, applies your maintained cost sheet with prevailing-wage county rules, and writes a per-roof-section quote draft in Google Sheets. One tab per roof section, styled to match your existing CC337 deficiency-breakdown format. Labor hours, material prices, and burden percentages are already filled in. Cells the agent was uncertain about are highlighted so you focus your review time where it matters.

how it works

From field photos to quote draft in minutes

The workflow replaces the blank-sheet assembly step with a structured review.

step 01
Pick a CompanyCam project and upload the iRoofing report

Select the project from your CompanyCam list. Upload the iRoofing PDF with section measurements and square footage.

step 02
Add per-job context in plain English

Type or dictate notes: roof type, deficiencies, access constraints, wage type (private or prevailing), and county if prevailing wage applies.

step 03
The agent generates your quote draft

Reads photo captions, parses measurements, applies your cost sheet and rules, and writes a Google Sheet with one tab per roof section. Each tab is styled like your CC337 deficiency-breakdown format: Deficiency #N, Pricing Breakdown, Materials, Totals, Scope of Work.

step 04
Review and finalize

Cells the agent was uncertain about are highlighted with notes. You verify those cells, make any edits, and mark the quote final. Your edits are captured as cost-sheet improvement candidates.

ai agent · estimator console inputs transform outputs public preview
inputs
CompanyCam project photos with auto-transcribed voice-note captions +

Every photo in the project includes a caption that your team recorded as a voice note. The agent reads these captions to understand what deficiencies are present.

iRoofing measurement report PDF +

Section names, square footage per section, and pitch factor. The agent parses this to structure the quote by roof section.

Per-job context notes in plain English +

You type or dictate notes: roof type, deficiencies, access constraints, wage type (private or prevailing), and county if prevailing wage applies.

Your maintained cost sheet +

Labor hours per task, material unit prices, burden percentage, county prevailing-wage rates, and business rules. The agent reads this on every run.

transformation
Parse photo captions and measurement report +

Extract deficiency descriptions from CompanyCam captions and section structure from the iRoofing PDF.

Apply cost sheet and rules +

Match deficiencies to labor tasks in your cost sheet, look up material prices, apply burden percentage, and honor per-job context notes and wage-type rules.

Generate per-section tabs +

Create one Google Sheet tab per roof section, styled to match your CC337 deficiency-breakdown format. Populate Deficiency #N, Pricing Breakdown, Materials, Totals, and Scope of Work.

Flag low-confidence cells +

Highlight cells where the agent had to make an educated guess (e.g., labor hours it inferred from context) so you know where to focus your review.

outputs
Google Sheet quote draft with one tab per roof section +

Each tab is styled like your CC337 deficiency-breakdown format: Deficiency #N, Pricing Breakdown (Hours/Day × Rate × # Workers × Days = Total), Materials (Unit × Quantity × Price = Total), Subtotal, Tax, Deficiency Total, Scope of Work.

Highlighted cells with review notes +

Cells the agent was uncertain about are visibly highlighted with a cell note explaining what needs human review.

Proposal Acceptance tab +

A standard tab for customer signature and acceptance.

draft ready for estimator review _
tech used
CompanyCam API for project photos and voice-note captionsiRoofing PDF measurement reports with section dataGoogle Sheets API for quote generation and outputOpenRouter for AI-powered line-item drafting
tool alternatives
CompanyCam or another field-documentation platform with photo captions and project groupingAny roof-measurement tool that exports section data and square footage
honest qualification

Is this for you?

built for you if
  • + Roofing contractors bidding multi-section commercial projects - You have CompanyCam photos with voice-note captions, iRoofing measurement reports, and a maintained cost sheet with labor hours and material prices. This agent turns those inputs into a pre-filled quote draft.
  • + Teams that flip between prevailing wage and private wage - You bid both public works (government, school districts) and private commercial jobs. The agent handles both with a single wage-type selector and county lookup.
  • + Estimators who want to review, not assemble - You have the judgment to verify and finalize quotes, but you don't want to spend five hours typing labor hours and material prices into a blank sheet.
not for you if
  • - Teams without CompanyCam or iRoofing - This agent reads CompanyCam photo captions and iRoofing measurement reports. If you use different field-documentation or measurement tools, the inputs won't match.
  • - Fully automated quoting without human review - This is a draft generator, not a final-quote engine. You review and finalize every quote before it goes to the customer. If you need fully automated quoting with no human touch, this isn't the fit.
  • - Residential repair quotes - This agent is built for multi-section commercial bids with prevailing-wage complexity. Residential repair quotes have different workflows and cost structures.
pricing

Scoped build plus usage-based runs

to build

The build includes the web app, cost-sheet editor, manual-edits review queue, Google Sheets integration, and CompanyCam API setup. You pay for the build upfront. Then you pay per quote generated based on the number of roof sections and the complexity of the measurement report.

then
  • Build cost covers design, development, testing, and deployment to Railway.
  • Usage cost is per quote generated. Pricing scales with roof-section count and measurement-report complexity.
  • You maintain your own cost sheet in the app. Updates take effect on the next quote.
  • Google Sheets output lands in your Drive under a designated 'Generated Quotes' folder.
FAQ
How much time does this save per quote?

The agent pre-fills your Google Sheet with labor hours, material prices, and prevailing-wage rates from your cost sheet, cutting the assembly step from five hours to minutes. You verify highlighted cells instead of typing every line item from scratch.

Do I have to use CompanyCam and iRoofing, or can I use other tools?

This agent reads CompanyCam photo captions and iRoofing measurement reports. If you use different field-documentation or measurement tools, the inputs won't match. You'd need to migrate to CompanyCam and iRoofing or build a separate integration.

Can the agent generate a final quote automatically, or do I still need to review it?

This is a draft generator, not a final-quote engine. The agent highlights cells where it was uncertain so you know where to focus your review. You verify and finalize every quote before it goes to the customer. This keeps you in control of pricing and scope.

How does prevailing wage work with this agent?

Flip between private and prevailing wage with one setting on the quote form. If you select prevailing wage, choose your county and the agent pulls the right hourly rate automatically. The entire quote updates with the new rate. You can change wage type mid-quote if needed.

What happens when I edit a quote after the agent generates it?

Your edits are captured as candidates for your cost sheet. When you mark a quote final, the app tracks what you changed. Chad reviews these patterns and approves updates to the cost sheet one at a time. No changes are auto-merged. You control what the cost sheet becomes.

Is this built for residential repair quotes or commercial bids?

This agent is built for multi-section commercial bids with prevailing-wage complexity. Residential repair quotes have different workflows and cost structures. If you bid both, this tool is for your commercial work.

How does the agent know what deficiencies are on the roof?

Your field team records voice notes on CompanyCam photos describing what they see (cracked skylights, delaminated seams, rotted joists, etc.). CompanyCam auto-transcribes these notes into captions. The agent reads those captions, not raw audio or photos. This is why we call it half man, half beast: your team does the observation, the agent does the assembly.

What if the agent gets labor hours or material prices wrong?

Cells the agent was uncertain about are highlighted with a note explaining what needs review. You verify those cells and make edits in the Google Sheet. Your edits are captured as improvement candidates for your cost sheet, so the agent learns from your corrections over time.

next step

Ready to stop assembling quotes line by line

Book a call with the Sagan team to walk through your CompanyCam projects, iRoofing reports, and cost sheet. We'll confirm the prototype scope and timeline.