Pick four finished jobs, write one line of facts about each, and have ChatGPT or Claude draft four posts per job: a before-and-after, what you found, how the job ran and a thank-you. Post only jobs where the customer agreed in writing to photos of their home, any people shown and whatever address detail you plan to use.
Consent is the step most roofing guides skip, and the tools won't prompt for it. CompanyCam's Marketing Suite page, for example, says nothing publishes without your approval, but it says nothing about the homeowner's. So the permission record has to live in your own process, ideally in the proposal, before anyone takes a photo. The rest is routine: sort the photos, write the note, draft, check the claims, schedule.
Ask for photo permission before the job, not after the post
Asking at proposal stage is easier than asking at handover. The customer is already reading your paperwork, nothing has gone wrong, and a tick-box feels routine. Asking afterwards turns it into a favour requested from someone who has just paid you. Keep the permission separate from the contract terms, make it optional, and split it into levels, so a customer who is happy for the roof to appear but not their house can say so.
| Level | What you may post | What the customer agrees to | Record |
|---|---|---|---|
| 1: roof only | Exterior photos of the roof work, with no house number, street sign, number plates or people visible | A tick-box line in the proposal | Tick-box saved on the job record |
| 2: home visible | The outside of the house and a general area description, but no house number | A tick-box plus a choice of how much area detail | Saved with the choice |
| 3: people or words | Faces, a first name, a review quote or a video of the household | A written message each time, naming the platform and the exact photo or quote | Message saved with the post |
Whatever wording you use should say what you will show, where it will appear (website, social posts and paid ads are different uses, so name each), roughly how long it stays up and how the customer can ask you to remove it. This short version is a starting point to take to an adviser (illustrative, not legal advice), because privacy and image rules differ from region to region.
PHOTO PERMISSION (optional)
We would like to use photos of the finished roof, taken from outside, on our website and social media pages. We will not show your name, house number or any people.
[ ] Yes, you may use roof photos.
[ ] Yes, you may also show the front of the house, with a general area description but no house number.
We will ask you separately before showing anyone's face or quoting you. Photos for paid advertising need a separate yes. You can ask us to take any post down at any time by contacting us, and we will remove it from our own channels within [N] days.
If your proposal software lets you add a page of free text, the permission line can sit there; the proposal software tutorial shows how to load text pages into a Roofr template.
Two groups turn up in photos without being asked. Your own crew should agree to appear, ideally in their terms of work or a quick written note. Neighbours, their vehicles and passers-by are best handled by composition: shoot from angles that leave them out, crop what remains, and skip the photo when cropping won't work. A realistic slip is a customer who said yes to the house while the same photo showed a neighbour's van with a readable number plate. The customer's permission never covered that.

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 with the sorting in mind: five habits for the crew
Most amber and red photos come from habit, not carelessness: a phone raised to catch the whole front of the house, a tablet left on the tailgate. Five habits cut the sorting time and make the before-and-after pairs better.
- Fix the viewpoint. Take the "before" from a marked spot, such as one ladder position or one corner of the drive, and the "after" from the same spot. A pair that lines up reads as evidence; two random angles read as a gallery.
- Shoot wide, then close. One wide shot for context and one close shot of the detail you will talk about: the rotted sheet, the cracked boot, the finished valley. Close shots are almost always green.
- Point the lens at the roof. Keep house numbers, gates, cars and neighbours out of frame as you shoot, instead of repairing the picture afterwards.
- Keep paperwork out of shot. Invoices, permits, insurance letters and screens go face down or indoors before anyone starts taking photos.
- Match the light where you can. A "before" in morning sun and an "after" under cloud makes the roof look different for the wrong reasons. If the light differs, say so in the caption, and apply no filters to either photo.
Put the five habits on a card in the van or in the job checklist of your photo app. A minute at the roof saves a lot of cropping at a desk, and the crew, not the office, is the only one who can fix the problem where it starts.
Sort each photo set into green, amber and red
A job leaves thirty or forty photos on someone's phone. Spend ten minutes sorting them before any AI sees a word about the job, using three colours.
| Colour | What it means | What to do |
|---|---|---|
| Green | Roof work only, with nothing that identifies a home, person or vehicle | Cleared for posting, as long as the customer gave level 1 permission |
| Amber | Something that cropping or a retake can remove: a house number, street sign, number plate or neighbour's garden | Crop or retake; clear it only if the result is clean at full size |
| Red | Faces, children, interiors, paperwork or screens in shot, other firms' vehicles, or crew working without fall protection | Do not post; keep for your own records |
Take ten photos from one job (illustrative). Four are green: the old ridge, the new valley, the ridge vent close-up and the finished ridge from the ladder. Three are amber: a street view with the house number on the gatepost, a driveway shot with a van's plates in it, and a wide shot that includes the neighbour's garden. Cropping rescues two of them. Three are red: the customer's child at an upstairs window, an invoice on a tablet in the foreground, and a ceiling stain inside. That leaves six usable photos, enough for four posts.
Check the files as well as the pictures. Phone photos can carry GPS coordinates in their metadata, and some posting tools strip them while others may not, so test one post with a dummy photo and inspect the saved image. Keep the cleared photos in one tag or album so that nobody schedules from the full camera roll. If your photo app lets you pick photos for a shared gallery, as CompanyCam does for its project galleries, use the same habit there. The comparison of CompanyCam alternatives for roofers covers the photo apps themselves.
The one-line job note that replaces uploading photos
A caption needs facts that photos can't show: how many sheets of decking were replaced, how long the job took, what the customer asked for. A job note carries those facts, and it means the AI never has to see the customer's house. Keep it to one paragraph with the same fields every time:
- Job type, size and what was removed.
- What was installed, in plain words, with a brand only if it appears on the invoice.
- What you found, with a number.
- How long it took, and anything that changed the plan, such as weather.
- The consent level on file (1, 2 or 3).
- Things the AI must not mention.
JOB NOTE
Re-roof, hip roof, 28 squares. One layer of asphalt shingles removed. Installed architectural shingles in charcoal, synthetic underlayment, new drip edge, ridge vent along the full ridge. Found six sheets of rotted decking beside the chimney, replaced. Two days; rain delayed the start of day two by three hours.
Consent: level 2 (house visible, no number, no people).
Do not mention: price, insurance, customer name, street.
If you do want the AI to read photos, upload only the cleared ones, check your chat tool's data settings and plan terms first, and describe rather than upload anything amber. Most captions don't need the image at all: the note holds the facts and the photo does the showing.
Prompt: four posts from one job, a draft, and what we cut
Save this as the project's standing instruction, then paste a job note under it for each roof.
You write social media posts for a roofing company, [COMPANY NAME]. Use only the facts in the job note below. If a fact is missing, write [CHECK: what is missing] instead of guessing.
Write four posts, each 60 to 90 words, for Facebook and Instagram:
1. Before-and-after: what the roof was, what we did, how long it took.
2. What we found: the problem we discovered, in plain words, and what we did about it.
3. How the job ran: the days in order, including any delay.
4. A thank-you, written without naming or quoting the customer unless the note says consent level 3.
Rules: no superlatives (best, number one, unbeatable). No claims about insurance, savings, storms or warranties unless the note states them. No brand names unless the note names them. No place names, or hashtags that name a place, unless the note allows it. End each post with one plain call to action: message us to arrange an inspection. After each post add one line of alt text describing only what is visible in the roof photos, with nothing that identifies the house.
JOB NOTE
[paste the note]
Here are the first two posts from a typical draft for the sample note (illustrative):
POST 1
Before and after: a 28-square hip roof, re-covered in two days. Out came one layer of worn asphalt shingles. In went new synthetic underlayment, new drip edge, charcoal architectural shingles and a ridge vent along the full ridge. A little rain pushed the start of day two back by three hours, but the roof was finished by evening. Message us to arrange an inspection.
Alt text: A roof with weathered shingles beside the same roof with charcoal shingles and a ridge vent.
POST 2
Under the old shingles beside the chimney we found six sheets of rotted decking, the kind of damage you can't see from the ground. We replaced them before the new roof went on, so the leak risk is gone for good and your family can sleep easy. Message us to arrange an inspection.
Alt text: Rotted roof decking beside a chimney.
Three things had to go before either post was published.
- "Worn" and "finished by evening" appear nowhere in the note. Small inventions are how a caption turns into a statement you can't back up, and a customer may remember that the crew left at nine.
- "The leak risk is gone for good" is a promise about the future. The honest version is the plain fact: "We replaced them before the new roof went on."
- "Sleep easy" is an emotional claim about an outcome. It came out with the promise.
Read each edited post aloud before it goes in the queue. If it doesn't sound like you, change the words; the facts are what the AI is there to carry, and your voice is what readers remember.
Four roofs, sixteen posts: the calendar
One job gives four posts, four jobs give sixteen, and sixteen posts is about four a week, a pace most small crews can keep. Spread each job's posts across the month so they don't sit together, and lead each week with a before-and-after, because a pair of photos reads at a glance.
| Week | Job (illustrative) | Post 1 | Post 2 | Post 3 | Post 4 |
|---|---|---|---|---|---|
| 1 | A: 28-square hip re-roof, six decking sheets replaced | Before-and-after pair | What we found under the shingles | A two-day re-roof in order | Thank-you, only if level 3 is on file |
| 2 | B: repair, 14 shingles and one pipe boot | Before-and-after close-up | What a cracked pipe boot looks like | Repair or replace: how we decide | A customer question answered, no names |
| 3 | C: low-slope garage roof, new membrane | Before-and-after pair | What goes under the membrane, layer by layer | A day on a flat roof | Thank-you, only if level 3 is on file |
| 4 | D: ridge vent in place of two box vents | Before-and-after of the roofline | Why we swapped the vents | The same swap seen from the attic side, no interiors | Month recap: four roofs, four jobs |
Notice that not every job has the same four posts. A repair has no big reveal, so its best material is the small failure, such as a cracked boot, explained in plain words. A job with no level 3 permission loses its thank-you, and the slot goes to a question customers ask often. Short video fits the same plan: a 20-second clip built from one green photo set, with the post text as the script.
Time is the real cost. My estimate for a first month with a free scheduler is about 20 minutes per job to sort photos and write the note, 15 for the AI drafts and edits, 10 for the permission records and 10 for scheduling. That is 55 minutes a job and under four hours for the month. Later months run faster because the prompt and the permission wording already exist. Treat these figures as a starting guess and time your own first two jobs. For a storm-season version of the same idea, see the worked storm-season content plan.
Claims you can caption and claims to leave out
AI writes confident copy, and confident copy is where overclaims creep in. Check every draft against this list before it goes in the queue.
| What the draft said | Why it is a problem | What to post instead |
|---|---|---|
| "Storm damage repaired" | True only if the job was storm damage, and it edges towards claim advice | Describe the work: "Replaced 14 shingles and a cracked pipe boot" |
| "We got the insurer to pay in full" | An outcome you don't control, and an invitation to ask you to handle claims | Leave it out; answer claim questions in conversation, not in a caption |
| "Leak-proof for life" | An absolute promise your warranty won't match | If you mention a warranty, state its actual length and say terms are on request |
| "Best roofers around" | An unprovable superlative | Remove it, or use a fact such as "family-run, [N] years trading" if true |
| "Cuts your energy bills" | An outcome you can't measure on one roof | Describe what you fitted: "ridge vent along the full ridge" |
| "Fully licensed and insured" | Must be true on the day the post goes live | Say it only while your documents are current, and keep copies where the poster can check |
Two further rules. Never use AI to create or touch up an "after" image: a roof that doesn't exist is a fake, and a retouched one invites the question of what else was edited. And quote a review only if the reviewer agreed (level 3), unchanged, with a first name at most. The tutorial on getting more reviews after every job covers asking for them.
Video and listing updates from the same job note
The job note feeds more than captions. A 20-second clip needs a script and an update to your business listing needs two sentences, and a small change to the prompt produces both from the facts you already wrote down.
From the job note above, write (1) a video script in three beats, one sentence each of 15 words or fewer, in plain spoken English: the before view, the problem we found, the finished roof; (2) a two-sentence update for our business listing; (3) a one-line caption for the photo gallery on our website. Same rules as before.
For the sample job, the script that comes back is close to this (illustrative): "Here is a 28-square hip roof before we started." "Under the old shingles, six sheets of decking beside the chimney had rotted." "Same roof two days later, with new decking, charcoal shingles and a ridge vent." Every beat comes straight from the note, which is the test. Have the foreman say the lines on site; a real voice on a real roof needs no explanation, and the clip can only claim what the note says.
The listing update works the same way: "Finished this week: a 28-square re-roof with a ridge vent, completed over two days. Message us to arrange an inspection." It names no street and no customer, so it stays inside level 1 permission. Reusing one note this way is also what keeps your message consistent: the website, the listing and the posts all say the same thing about the same roof.
Scheduling: free tools against CompanyCam's add-on
Scheduling is a small job, so the question is how much to pay for it. These are the figures on the vendors' own pages as I read them in November 2026; plans change, so check before you buy.
| Option | What the page says | Cost for two channels |
|---|---|---|
| Meta Business Suite | Lets you create or schedule posts, stories and ads for Facebook and Instagram. The page doesn't state a cost or how far ahead you can schedule | Check on the page |
| Buffer Free | Up to 3 channels and 10 scheduled posts per channel, which the page says you can refill anytime | $0 |
| Buffer Essentials | $5 per channel a month on yearly billing ($60 a channel a year), unlimited scheduled posts; the AI Assistant is on every plan, Free included | $120 a year, about $10 a month |
| CompanyCam Marketing Suite | $99 a month after a 14-day trial, or $79 with annual billing on your base plan; drafts the title, description, photos and caption from what you captured; posts to Facebook, Instagram, X, TikTok, LinkedIn, YouTube and Google; nothing publishes without your approval | $99 a month, or $948 a year at $79, on top of the base plan |
Run the sums on a sixteen-post month. Split as eight posts per channel, it fits Buffer's free plan with room to spare. Send all sixteen to both channels and you schedule ten per channel now and the remaining six as the first ones go out. Buffer Essentials removes that limit for about $10 a month on yearly billing. The Marketing Suite costs about eight to ten times that for two channels, so what you are paying for is the caption drafting and one-click publishing across more networks.
A rule of thumb: if the drafting step in this tutorial is working for you, the add-on buys little. If your crew takes good photos and nobody ever writes the posts, it may be what keeps the habit alive. Use the 14-day trial on two real jobs and count how many drafts you would publish without editing. Whichever tool you pick, your consent check goes before the approve button, because the tool's approval step is yours, never the homeowner's. The pre-post checklist for local businesses is a useful second pair of eyes.
When a customer asks you to take a post down
It will happen, sometimes months later and usually politely, and the process matters more than the reason. Acknowledge the request the same working day. Remove the post from your own pages first, then look for copies: the scheduled queue, a story highlight, a reel built from the same photos, an advert using them and your website gallery. Record the date and what you removed, and beat any deadline you promised. A short reply (illustrative):
Hi [first name], thanks for letting us know. We have taken the post down from our pages and will check our website and scheduled posts today. I will confirm in writing once everything is removed. [your name]
This is also why the consent record names each use. A customer who agreed to website photos has not agreed to paid ads, and the record shows which copies could exist. Photos that other people have shared or reposted are beyond your reach, so say in your wording that you will remove posts from your own channels.
A four-week scorecard to see whether it earned its time
At the end of the month, count four things and compare them with the plan.
- Posts published against the sixteen planned.
- Consent records on file against jobs posted. It should be four out of four; anything less pauses that job's posts.
- Enquiries that mention a post. Add "how did you hear about us?" to your enquiry form or call script and tally the answers.
- Comments and messages answered within a day.
Suppose, as an illustration, the month brings 20 enquiries and three name a post: 15 per cent. At under four hours of work and nothing paid beyond a free scheduler, that is an easy keep. If it were none of 20 after two months, change the posts before you change the tool: try shorter before-and-after pairs, answer a question customers ask often, or add a short video from the same photos. Drop any post type that draws no comments or enquiries in two rounds, and keep a note of the ones that do.
Photo consent and posting questions from roofers
Do I need consent to post a roof photo without an address?
It depends on what else the frame shows and on the rules where you work. A roof seen from a distance with no house number, number plates or people is the lowest-risk kind, but a tick-box permission line costs you nothing and settles the question. Ask an adviser to confirm your wording, because privacy and image rules differ by region.
Can AI look at my job photos and write the captions?
ChatGPT and Claude can read uploaded images, but you decide what goes in. Upload only photos that passed your consent check, review your plan's data settings first, and add a job note too, because a photo can't tell the AI how many sheets of decking were replaced or that rain delayed day two. Treat every caption as a draft you edit.
Is CompanyCam's Marketing Suite worth $79 to $99 a month?
Only if you already use CompanyCam and would not otherwise keep posting. The page I read lists $99 a month after a 14-day trial, or $79 with annual billing on your base plan, and says it drafts captions from the job and publishes to several networks after your approval. A free scheduler posts for less, but you write the captions yourself.
How long should a customer's photo permission last?
State a period in the wording, or say it lasts until the customer withdraws it, and promise to remove posts on request within a set time. Open-ended permission with an easy way out is simpler to run than a fixed term. Either way, record the date and the uses agreed, such as website, social posts or paid ads, so you can check later.
Further reads
- How to Respond to Negative Roofing Reviews With AI: Claims and Delays — Replies for the awkward comments a busy page attracts.
- Roofing Facebook Ads: Copy and Audiences Tested With AI on a Small Budget — Paid ads need their own photo permission and tighter claims.
- Bathroom Fitter Marketing: Before-and-After Posts From Job Photos With AI — The same job-photo method in another trade, for comparison.
- Wedding Venue Instagram: Real-Wedding Posts and Couple Consent With AI — A second take on consent wording for people in photos.
- Landscaping Business AI: Review Requests Built From Job Photos — Ask for reviews right after the job photos are taken.
- Roofing Storm Leads: Triage and Follow Up After Hail With AI — What to do with the enquiries your posts bring in after hail.
- AI SEO for Roofers: Hire an Agency or Do It Yourself? — Agency or DIY for a roofer's search and AI visibility: pitch claims to check, break-even sums, a weekly rota, a ChatGPT test sheet and contract clauses.
- Pressure Washing Marketing Ideas: Neighbour Offers and Posts With AI — Five neighbour offers with wording and sums, a 13-minute photo-to-post routine, Google Business Profile rules, and how to get permission for job photos.
- Roofing Company Names: Test a Shortlist for Trust, Search and Signage — A shortlist method for roofing company names: generate options with AI, then score them on clarity, search, signage and availability.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: CompanyCam Marketing Suite, features and pricing pages; Buffer pricing page; Meta Business Suite page (all read November 2026).