Use AI for the clerical work only: sort photos into a fixed shooting order, draft captions that say what is visible and where, and lay out the measurements you took. Keep it, and yourself, away from coverage, cause and value. Those judgements belong to the policyholder and the insurer's adjuster.
Rules on what a roofer may do inside a claim differ between jurisdictions, and regulators have acted against roofing companies that crossed the line, so everything below is about documentation only. Where your rules are stricter than anything described here, yours win. Where they are unclear, a qualified adviser or your insurance regulator can tell you in one email.
Documenting versus adjusting: where the line usually sits
Published regulator guidance sorts contractor activity into two lists. One insurance regulator's list, for example, says a contractor may prepare an estimate and scope of work for the loss, recommend that the policyholder file a claim with their insurer, attend the insurer's inspection and answer questions about the estimate. It says a contractor may not review the owner's policy, advise on its provisions, choose a public adjuster or appraiser, or negotiate or take a role in settling the claim. The table below follows that pattern. It is orientation, not legal advice.
| Documenting: usually allowed | Adjusting: usually restricted |
|---|---|
| Photograph the roof and record measurements | Review the homeowner's insurance policy |
| Write captions that state what is visible | Advise what the policy covers or how to read its terms |
| Prepare a repair estimate and scope of work | Negotiate, or take a role in settling, the claim |
| Recommend that the owner contact their insurer | Choose or recommend a public adjuster or appraiser |
| Attend the adjuster's inspection | Advocate for the owner against the insurer |
| Answer questions about your own estimate | Present yourself as a claim expert |
Two cautions sit on top of that table. First, in some places a contractor cannot act as a public adjuster on a claim for a property the contractor is also repairing. Second, the right-hand column is about what you do and what you say in public. A website line that sounds like the right-hand column can be treated as the activity itself, which is why a later section rewrites typical roofing marketing lines.
Where does cause fit? Saying that a storm produced a condition is a conclusion about the claim, not a record of what the camera saw. Plenty of roofers give an opinion on cause; whether you may, and in what form, depends on your rules. The safe pattern for AI-assisted paperwork is to keep cause, coverage and date of loss out of the photo report completely. If your rules let you give a written opinion, write it yourself, sign it and keep it as a separate document.

The Complete Excel Course with AI Integration
From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.
By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner
Buy nowShoot in a fixed order so there is something to sort
AI sorts well when the camera has already been consistent. A fixed order means photo 9 is the same kind of picture on every job, so a gap, such as no close-ups for one slope, is obvious before you leave the driveway. The sequence below suits a typical pitched roof with several slopes. Adapt it once, then keep it identical.
- The house number or a sheet of paper with the job reference, then the front of the house for context.
- All four elevations from the ground, so each slope can be placed against the building.
- One overview of each slope, shot from the same side every time, plus a wide ladder shot if a slope cannot be seen whole.
- The test area on each slope: a wide shot showing where the marked area sits, then the area itself with chalk lines and a tape in frame.
- Close-ups of each condition you will describe, with a tape, a coin or a chalk circle for scale. Marks inside a test area are shot here, one close-up per cluster.
- Ridge, hips and valleys, one photo per run.
- Vents, pipe boots, flashings and skylights, each photographed whole and then close up.
- Gutters and downspouts, plus any soft metals or other items you noticed.
- Interior or attic evidence, only if the owner agrees and it is safe to reach.
Photograph the slopes where you found nothing, too. A report showing four slopes, two with marks and two without, reads as an honest record. A report with only the bad slopes reads as a sales pitch. Shoot from where you can work safely: a ladder view, or a drone you are permitted to fly, shows slopes you should not walk.
Take a roofer inspecting a two-storey house with four slopes who ends the visit with 46 photos (the numbers are illustrative). Grouped by the sequence above, the set looks like this:
| Group | Photos | What the group records |
|---|---|---|
| Context: job reference, front of house | 2 | Which property, which day |
| Elevations | 4 | Where each slope sits on the building |
| Slope overviews | 5 | General condition of four slopes, plus one wide ladder view |
| Test areas and close-ups of marks | 16 | Four wide shots of the marked areas and twelve close-ups of marks |
| Ridge, hips, valleys | 4 | Caps and junctions |
| Vents, pipe boots, flashings | 6 | Penetrations and metalwork |
| Gutters and downspouts | 5 | Items around the roof edge |
| Interior or attic | 4 | Evidence from inside, with the owner's consent |
| Total | 46 |
Forty-six photos without descriptions are forty-six puzzles for someone to solve later. The dates, slope labels and photo numbers have to live in the captions or file names, because a chatbot will not see them otherwise: Anthropic's vision documentation says Claude does not receive any metadata from images passed to it, and it is safest to assume the same of any chatbot. For a roof like this one, plan roughly forty minutes on site and another twenty for captions, with the review time covered later.
Captions that say what the camera shows, nothing more
A good caption has five parts in a fixed order: the slope or area, the component, what is visible, the scale or measurement, and the photo number out of the total. Everything beyond those five is opinion, and opinion is what the AI must never add.
| Before | After |
|---|---|
| Hail damage on rear slope. | Rear slope (B), lower third, test area 2: 11 circular impact marks inside the chalked 10 ft by 10 ft square. Granule loss visible at 6 of them. Photo 19 of 46. |
| Bad flashing. | Chimney, step flashing on the left side: sealant cracked along about 14 in. Metal flashing in place. Photo 33 of 46. |
| Wind damage on the ridge. | Ridge cap, rear slope: 3 tabs creased along the ridge line over about 4 ft. No missing tabs visible from this angle. Photo 29 of 46. |
| Roof is at end of life. | Front slope (A), general view: granule loss and curled tab edges visible across the lower half. Age of roof not documented. Photo 7 of 46. |
The right-hand versions are longer and duller, which is the point. Each one can be checked against its photo by someone who has never met you. The left-hand versions each smuggle in a conclusion: a cause, a condition rating or a verdict. Keep a short list of words that mark the difference, and give it to the model as a rule.
| Observation words: use freely | Conclusion words: keep out of the photo report |
|---|---|
| visible, measured, counted, marked, cracked, lifted, creased, missing, stained, dented, exposed, loose, not stated | caused by, due to, storm damage, hail damage, wind damage, covered, claimable, wear and tear, pre-existing, total loss, will be approved, deductible |
"Needs replacing" and "should be repaired" are recommendations. They belong in the estimate, not in a caption.
A caption prompt that refuses to give opinions
Give the model the photos in order, then your own numbered notes. Counts, measurements and orientation come from the notes, never from the picture. Put the images before the text: Anthropic's documentation says Claude works best when images come before text, though other layouts still perform well.
You are helping a roofing contractor caption photos for a roof documentation report. For each photo I give you a number and my own notes. Write one caption per photo.
Rules:
- State only what is visible in the photo or stated in my notes. Use my counts and measurements. Never estimate your own.
- Format: [slope or area], [component], [what is visible], [scale or measurement from my notes], Photo [n] of [total].
- Do not mention cause, storms, hail, wind, age, wear, coverage, claims, insurers, value or what should be done.
- If you cannot tell something from the photo or my notes, write NOT STATED.
- Copy my left and right exactly. Never infer orientation.
PHOTOS AND NOTES:
[attach photos in order, then paste a numbered list of notes, for example: "19. rear slope B, test area 2, 11 marks. 20. same area close-up, 7 marks. 9. slope C is the garage roof, on the right facing the house from the street."]
Here is an illustrative output for six of the photos. It is a decent draft with four faults I would catch on review.
2. Front of house, ground level, house number visible beside the door. Photo 2 of 46.
7. Front slope (A), lower half: aged shingles with granule loss and curled tab edges. Photo 7 of 46.
9. Left slope (C), overview, garage roof, eaves to ridge. Photo 9 of 46.
19. Rear slope (B), test area 2: 11 circular impact marks inside the chalked square, consistent with hail impact. Photo 19 of 46.
20. Rear slope (B), test area 2, close-up: 9 marks within the tape. Photo 20 of 46.
29. Ridge cap, rear slope: 3 creased tabs over about 4 ft. Photo 29 of 46.
- Caption 19, "consistent with hail impact". That is a cause opinion. The prompt banned it and the model produced it anyway. Delete the phrase; a banned-word rule lowers the odds but does not remove them.
- Caption 7, "aged shingles". An age and wear judgement. My notes said the age is not documented, so the caption should say exactly that.
- Caption 20, "9 marks". My notes said 7. Anthropic's documentation says Claude can give approximate counts but may not always be precisely accurate, especially with many small objects. A wrong number that looks like a fact is the worst failure on this list, so every count in a caption gets checked against the field notes.
- Caption 9, "Left slope (C)". My notes put the garage roof on the right, facing the house from the street. The model flipped it. Left and right is a spatial judgement, and the same documentation says Claude's localisation outputs are approximate and should be verified, so orientation also comes from your notes.
One more habit helps. Paste only the fields the model needs: photo number, slope label, count, measurement. If you paste the booking message ("customer rang after the storm, wants a check"), the words storm and damage leak into the captions even though you banned them. Context you did not mean to share becomes content you did not mean to publish.
The measurements log: AI formats it, you fill it
Area and pitch come from an aerial measurement report, or from a tape and a pitch gauge. They do not come from asking a chatbot to judge a photo. The comparison of Roofr, EagleView and Hover roof reports covers the paid report route; for the log itself, the model's job is to arrange numbers you supply. For the illustrative roof, the log looks like this:
| Slope | Pitch | Area | Test area | Marks counted | Other recorded items |
|---|---|---|---|---|---|
| A, front | 6 in 12 | 1,150 sq ft | 10 ft by 10 ft | 9 | Curled tab edges, lower half |
| B, rear | 6 in 12 | 1,150 sq ft | 10 ft by 10 ft | 11 | 3 creased ridge tabs |
| C, garage | 4 in 12 | 520 sq ft | 10 ft by 10 ft | 3 | None recorded |
| D, porch | 3 in 12 | 180 sq ft | 5 ft by 5 ft | 0 | None recorded |
| Whole roof | 3,000 sq ft (30 squares) |
Arrange the numbers below into the table columns Slope, Pitch, Area, Test area, Marks counted, Other recorded items. Mark any cell I did not give you as EMPTY. Never fill an empty cell. Do not total anything except area. Do not estimate or extrapolate any count.
The last instruction exists because extrapolation is tempting and wrong for this document. Eleven marks in a 100 sq ft test area on a 1,150 sq ft slope (11.5 squares) would extrapolate to about 127 marks across the slope. That number appears in no photo. It is an assumption about the slope, and assumptions about the slope are for the adjuster and the estimator. Record what was counted, where, and stop.
The report itself: sections that stay claim-neutral
Six sections are enough, and each has one job.
- Job facts: address, date, time on site, who inspected, equipment used and the conditions on the day.
- Scope of inspection: what you inspected and what you did not, for example "attic not accessed" or "rear slope viewed from the ladder only".
- Photo log: every photo, numbered, in shooting order, with its caption.
- Measurements log: the table above.
- Observations: a short list of conditions, each tied to photo numbers and a count or measurement. Nothing about cause, age or cover.
- Attachments: one line saying the repair estimate is a separate document.
Put a plain statement on the first page. This version is a starting point, and it is worth one read by an adviser who knows your rules:
This report records conditions observed and measured on [date] by [name] of [company]. It does not address what an insurance policy covers, the cause or date of any condition, or the value of any claim. Those matters are for the policyholder and the insurer.
If you already use CompanyCam, its Documents feature can hold this layout. According to its help centre, the Summary, Daily Log and Progress Recap documents are generated from selected photos that carry photo descriptions, they use AI credits on select plans, and a photo without a description produces an empty document. Quick Caption, the voice-to-caption tool, runs in the mobile app on every plan and does not count against the AI action limit, so it is the quickest way to get descriptions onto photos while you are still on the roof. The same help centre says to review and edit every generated document before sharing it. For a claim-neutral report that means deleting any evaluative sentence the tool adds. The companion tutorial on turning inspection photos into a customer-ready report takes the CompanyCam route step by step.
Wording on your ads and website that cannot be read as adjusting
The restricted column in the first table covers speech as well as action. One regulator's guidance lists lines such as "we are insurance claim experts" and "we are an advocate for you against your insurance company" among statements that breach its rules for contractors. In one published case, a roofing company that offered public-adjuster services alongside repair work was ordered to stop, then agreed a consent order, retrained its staff and revised its website. AI will happily write the first kind of line if you ask for storm marketing, so hand it the safe versions as rules.
| Risky line | Documenting version |
|---|---|
| We handle your insurance claim from start to finish. | We inspect, photograph and measure your roof, then give you a written repair estimate you can share with your insurer. |
| Insurance claim experts. | Roof inspections with a photo report you can give to your insurer. |
| We fight your insurance company so you get a new roof. | If you decide to file a claim, you can give your insurer our photo report and estimate. Your policy decides what is covered. |
| Your storm damage will be covered. | We can check the roof for visible damage. Whether your policy covers it is for your insurer to decide. |
Leave deductibles out of your marketing unless an adviser has cleared the wording. What you may offer or say about them differs by place, and a chatbot does not know your rules. The storm-day phone line is the other place wording slips, and the AI receptionist tutorial on storm-day calls and claim questions covers that side.
A second AI pass that hunts for opinions
Captions are not the only place opinions creep in. The observations list, the cover email and the summary paragraph all attract them. A second prompt, run on the finished report in a fresh chat, acts as a scanner:
Below is a roof documentation report. Find every sentence or caption that states or implies any of these: a cause of damage, a date of loss, that something is or is not covered, the age or wear of the roof, the value of a claim, an instruction to the homeowner about their insurance, or a promise about what an insurer will do. Quote each sentence, name the category and suggest a neutral rewrite that states only what is visible or measured. Say nothing about neutral sentences.
[paste the report text]
An illustrative run on a draft that went through no human edit came back like this:
| Sentence found | Category | Neutral rewrite |
|---|---|---|
| Photo 29: Wind damage to ridge cap. | Cause | Ridge cap, rear slope: 3 tabs creased along the ridge line. Photo 29 of 46. |
| The roof shows normal wear for its age. | Age and wear | Granule loss visible on the front slope, lower half. Age of roof not documented. |
| Impact marks consistent with the storm on 12 June. | Cause and date of loss | Delete. Cause and date are not ours to state. |
| Your insurer should approve a full replacement. | Coverage promise | Delete. |
| Please file before the deadline. | Instruction about insurance | If you decide to file a claim, contact your insurer and check your policy for any time limits. |
Treat the output as a list of suspects, not a clean bill of health. The scanner can miss a sentence, so you still read every line yourself. What it does well is find the sentence you stopped seeing after the third read.
Handing it over: who gets what, and what you keep
The homeowner receives the photo report and, separately, your repair estimate. What they do next is theirs to decide. A short cover message keeps the roles clear (an illustrative draft, with placeholders):
Hi [first name], attached are the photo report and our repair estimate from [date]. The report records what we saw and measured. It does not say what your policy covers or what caused any condition. If you decide to make a claim, you are welcome to give both documents to your insurer, and I can attend the adjuster's inspection to answer questions about our estimate. [your name]
Keep the originals. Store the full-size, unedited photos with their original files, and keep a copy of the report exactly as you sent it. Do not crop out context, and never use AI to sharpen, brighten, repair or generate any image that goes near a claim. Anthropic's documentation notes that Claude cannot determine whether an image is AI-generated, so a chatbot is no safeguard against a doctored picture. The safest record is one that was never touched. If you use a chatbot at all, the originals stay out of its way: you upload copies to caption, not the master files.
Whether the adjuster, the owner or anyone else uses your report is out of your hands. Your duty ends at making it accurate, dated and neutral. For the licensed side of claims work, where adjusters and public adjusters actually negotiate, see AI for public adjusters: claim packages and carrier letters. If you also handle the early calls, triaging storm leads after hail shows how to book inspections without promising outcomes.
Ten minutes before the report goes out
Run this list on every report before it goes out. It takes ten minutes and each item has caught something at least once.
- Every caption ends with its number out of the total, and no number is missing from the sequence.
- Every count and measurement matches the field notes, not the AI's reading of the photo.
- Search the whole document for: cause, caused, storm, hail, wind, covered, claim, insurer, wear, age, deductible. Each hit is either deleted or justified.
- The scope statement is on page one, and every area you did not inspect is listed.
- The original photos are untouched and stored.
- The repair estimate is a separate file.
- The cover message says nothing about coverage.
- Your website and ads pass the same search.
Two illustrative mistakes show how the list earns its keep. In the first, six captions came back saying "storm damage to rear slope". The job had been booked as a "storm check" and the owner's message was pasted into the prompt, so the words leaked. The fix was to paste only photo numbers and notes. In the second, the model reported nine marks where the field notes said seven; nobody caught it until the adjuster counted the close-up, and the report lost credibility on every other number. Counts now come from notes only, and the review compares each one.
To know the routine is working, pull five finished reports and count how many captions you edited by hand. That number should fall as your notes improve. If it does not, the notes are too thin or the prompt rules are being ignored, and both are fixable.
Questions roofers ask about documenting claims with AI
Can I tell the homeowner their roof is probably covered?
Avoid it. Whether a policy covers a condition depends on its terms and on the insurer's decision, and in places where contractors may not advise on a policy, telling an owner what is covered can be treated as adjusting. Say what you saw and measured, and that the policy and the insurer decide the rest.
Can AI write the repair estimate that goes with the claim?
AI can arrange your line items and tidy the wording, but you set the quantities and prices, and the estimate stays a separate document from the photo report. Mixing them invites the photo report to pick up opinions about scope, value or cause that do not belong in a record of observations.
Is it safe to upload a homeowner's roof photos to a chatbot?
Photos can show faces, number plates, house numbers and documents. Crop or skip anything personal, keep the address out of prompts, and consider a business plan where the vendor states content is not used for training by default. Check your own customer terms and any data rules that apply to you.
What if the adjuster disagrees with my report?
Do not argue about coverage. Ask which photo or measurement is in doubt, offer additional photos of that area, and let the policyholder and the insurer settle the rest. A report that only records what is visible is easy to defend, because there is nothing in it to disagree with except the facts.
Further reads
- CompanyCam Alternatives for Roofers: AI Photo Reports and Checklists — Other photo apps with AI reports and checklists compared.
- AI Generated Roof Measure: How Accurate Is It? A Five-Roof Test — How far to trust AI roof measurements, tested on five roofs.
- AI Roof Inspection Software: What Drone and Photo Tools Really Detect — What drone and photo tools really detect, and what they miss.
- Can Roofers Use Voice AI to Turn Inspection Notes Into Estimates? — Turning spoken inspection notes into estimate lines.
- Roofing Contract Template: Can AI Tighten the Wording? What a Lawyer Checks — Contract wording AI can tighten and a lawyer must check.
- Roofing Change Orders for Rotten Decking: A Worked Example, AI-Drafted — Pricing hidden decking damage found once the roof is open.
- AI for Body Shops: Insurer Paperwork, Supplements and Job Notes — Where AI helps a collision repair shop with paperwork: photo captions, supplement requests, daily job notes and repair summaries, and what a person must sign.
- Can AI Help With an Airbnb Damage Claim? Evidence and Wording — An evidence pack for Airbnb damage claims: before and after photos, timeline, receipts and claim wording drafted with AI, plus Airbnb's deadlines.
- AI Automation for Roofers: Six Workflows Worth Setting Up First — Call answering, estimate follow-up, measurements, instant estimates, inspection reports and job close: what each costs, how to start and what to watch.
- Roofing Chatbot Platforms With AI Compared: Qualifying Storm Enquiries — No roofing chatbot wins on its vendor page alone: the ten questions a storm bot must ask, nine platforms compared, and a ten-enquiry test to run first.
- Roofing Software for Small Contractors: CRM or Field Service App With AI? — AccuLynx and JobNimbus against Jobber, Housecall Pro and Roofr: a job-shape test, real list prices, quote-only questions and what each vendor's AI does.
- Siding Contractor Software: What to Pay For and Where AI Helps — CRM, estimating, measurement and photo software for a small siding firm compared on price, with a worked five-person choice and the AI that earns its place.
- Roofr's AI Receptionist: Is the Add-On Worth It for a Small Roofer? — What Roofr's AI Receptionist does, how its two pricing pages differ, a missed-storm-call payback sum and five test calls before you pay.
- AI in Roofing: Weather-Delay Messages and Rescheduling Checklist — A roofing weather-delay checklist: five customer notices, a crew rescheduling routine and a named forecast, with the foreman making every go or no-go call.
- ChatGPT for Roofing: 10 Prompts for Estimates, Inspections and Warranty — Ten ChatGPT prompts for a roofing company's inspections, estimates and warranty replies, each with a filled example and a check before it is sent.
- Door-to-Door Roofing Sales: Scripts and Follow-Up Texts Written With AI — A 20-second doorstep script, honest objection replies and a three-text follow-up, with the permit and consent checks to make before anyone knocks.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: Anthropic vision documentation (image limits, counting and metadata); CompanyCam help centre (Quick Caption, AI documents); an insurance regulator's published guidance and press release on contractors and public adjusting.