a Sagan program - currently in private beta

Repair estimates drafted
before the next inspection.

Your estimator should review and send, not build quotes from scratch.
before

Estimator opens CompanyCam, matches photos to scope notes, pulls iRoof measurements, writes line items, builds a Google Sheet, and emails the homeowner days later.

after

Estimator opens a draft estimate with line items already matched to the pricing template, photo references attached, and a missing-info checklist, then reviews and sends.

roofing / home services / storm restoration / estimation / quote generation / workflow automation / CompanyCam / iRoof / Google Sheets / HubSpot / Jobber / ServiceTitan /  roofing / home services / storm restoration / estimation / quote generation / workflow automation / CompanyCam / iRoof / Google Sheets / HubSpot / Jobber / ServiceTitan / 
the problem

Four-hour quotes become a storm-week backlog.

Photos, measurements, scope notes, and pricing rules live in different tools. Every quote waits for someone to stitch them together by hand.

01
Opening CompanyCam

Photo albums exist but require manual matching to scope notes.

02
Pulling iRoof measurements

Measurement reports are ready but need manual entry into the estimate.

03
Writing line items

Pricing template exists but each quote requires manual assembly.

the math, if you want to look

Why this is worth automating

prd
Draft ready for review, not assembly

Estimator opens a populated Google Sheet with line items already matched to your pricing template, not a blank sheet and a pile of photos.

prd
Photo references attached

Each line item links to the CompanyCam photo that supports it, so the estimator does not re-match scope.

prd
Missing info flagged upfront

A checklist surfaces incomplete measurements or low-confidence matches so the estimator knows what to verify before sending.

The estimator receives a draft estimate with photo references, normalized quantities, and flagged assumptions instead of building the first pass by hand. Review and send instead of assemble and review.

how it works

How the agent works

The agent reads your job record, pulls the matching photo album and measurement report, matches visible damage to your pricing template, and drafts a review-ready estimate.

step 01
Read the job record

Pull customer, address, job type, and inspection notes from your CRM.

  • HubSpot, Jobber, ServiceTitan, Salesforce, or equivalent CRM
step 02
Fetch the photo album and measurements

Match the job to the CompanyCam album and iRoof measurement report.

  • CompanyCam API
  • iRoof API
step 03
Normalize scope and quantities

Parse iRoof measurements and match visible damage in photos to scope notes.

  • CompanyCam captions
  • iRoof measurement data
step 04
Draft line items

Match scope to your pricing template and write line items in your quote sheet format.

  • Google Sheets price book
  • CRM quote template
step 05
Flag assumptions and gaps

Mark missing measurements, low-confidence photo matches, or pricing assumptions for estimator review.

  • Review checklist
step 06
Send draft for review

Deliver the estimate draft to your estimator via email, Slack, or CRM notification.

  • Email
  • Slack
  • CRM
ai agent · estimator console inputs transform outputs public preview
inputs
CRM job record +

Customer, address, job type, and inspection notes from HubSpot, Jobber, ServiceTitan, Salesforce, or equivalent.

CompanyCam photo album +

Job photos with captions and folder organization matching the job record.

iRoof measurement report +

Quantified scope data: square footage, linear feet, counts, and damage classifications.

Pricing template +

Google Sheets price book or CRM quote template with line-item categories and unit costs.

transformation
Identify quote type +

Read job type and inspection notes to determine which pricing template and scope categories apply.

Match photos to scope +

Link CompanyCam photos and captions to visible damage and scope notes.

Normalize measurements +

Parse iRoof data and convert to quantities that map to your pricing template.

Draft line items +

Write line items in your quote sheet format, matched to pricing template categories.

Attach photo references +

Link each line item to the CompanyCam photo that supports it.

Flag assumptions +

Mark missing measurements, low-confidence matches, or pricing assumptions for estimator review.

outputs
Estimate draft +

Google Sheets or CRM quote object with line items, quantities, and unit costs populated and ready for estimator review.

Photo references +

Links or captions attaching each line item to the CompanyCam photo that supports it.

Missing-info checklist +

List of incomplete measurements, low-confidence photo matches, or pricing assumptions the estimator should verify before sending.

Estimator notification +

Email, Slack, or CRM alert when the draft is ready for review.

draft ready for estimator review _
tech used
CompanyCam photo albums and captionsiRoof measurement reportsCRM job records (HubSpot, Jobber, ServiceTitan, Salesforce)Google Sheets price book and quote templateEmail or Slack for draft delivery
tool alternatives
CompanyCam or another job-photo platform with captions and album organizationiRoof or another measurement provider with quantified scope dataHubSpot, Jobber, ServiceTitan, Salesforce, or equivalent CRM with job records and customer fields
honest qualification

Is this for you?

built for you if
  • + Teams with CompanyCam and iRoof - You already capture job photos with captions and measurement reports; the agent reads them instead of your estimator.
  • + Teams with a standardized pricing template - You have a Google Sheets price book or CRM quote template; the agent matches scope to it instead of your estimator building quotes from scratch.
  • + Teams with high inspection volume during storm season - Backlogs form because estimating capacity is the bottleneck, not source data or pricing rules.
  • + Teams that review estimates before sending - Your estimator has time to review a draft; they do not have time to build one from scratch.
not for you if
  • - Teams without job photos or captions - The agent cannot infer scope from missing photos or sparse captions.
  • - Teams without measurement reports - The agent cannot estimate quantities without iRoof data or equivalent measurements.
  • - Teams without a pricing template - The agent matches scope to an existing template; it does not create pricing rules from scratch.
  • - Teams that need fully autonomous estimates - This agent produces review-ready drafts, not final estimates. Estimator review is a required step.
pricing

Straightforward. No retainer. No surprises.

to build

Scoped one-time build to integrate your CompanyCam, iRoof, CRM, and pricing template. Usage cost depends on estimate-draft run volume.

then
  • Scoped implementation to your pricing template, CRM, and photo/measurement systems
  • Usage-based pricing for estimate-draft runs
  • No per-user or per-quote licensing
FAQ
Can this work with CompanyCam photos?

Yes. The agent reads CompanyCam photo albums with captions and matches visible damage to scope notes in your job record. Photo references are attached to each line item in the estimate draft so your estimator does not re-match scope.

Does the agent send estimates automatically to homeowners?

No. The agent produces a draft estimate for your estimator to review first. The estimator receives a populated Google Sheet or CRM quote object with line items already matched to your pricing template, photo references attached, and a missing-info checklist. They review and send instead of building the first pass by hand.

What happens if iRoof measurements are incomplete?

Missing measurements are flagged in the missing-info checklist that comes with the estimate draft. Your estimator sees exactly what data is incomplete before sending the quote, so they can verify or request additional measurements from the field.

Can this work with a CRM other than HubSpot?

Yes. The agent reads job records from HubSpot, Jobber, ServiceTitan, Salesforce, or any equivalent CRM as long as it stores customer, address, job type, and inspection notes. The integration is scoped to your specific CRM and job-record structure.

Does the agent replace our pricing template?

No. The agent matches scope to your existing pricing template. It reads your Google Sheets price book or CRM quote template and drafts line items using your categories and unit costs. You keep full control of pricing rules.

What if job photos have sparse captions?

The agent relies on photo captions and scope notes in your job record to match visible damage. If captions are sparse or inconsistent, the agent flags low-confidence matches in the missing-info checklist so your estimator can verify before sending.

Can the agent send drafts to Slack or email instead of just Google Sheets?

Yes. The estimate draft is produced in Google Sheets or your CRM quote object, and the agent can notify your estimator via email, Slack, or CRM alert when the draft is ready for review.

How long does it take to build this for our team?

This is a scoped one-time build to integrate your CompanyCam, iRoof, CRM, and pricing template. Implementation time depends on your specific systems and data structure. Contact us to discuss your setup.

next step

Stop writing quotes at 11pm.

If estimating is where jobs slow down, join the waitlist and we will map the agent around the quoting workflow you already run.