Roofing Social Media: Turn Finished Roofs Into a Month of Posts With AI

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Roofing Social Media: Turn Finished Roofs Into a Month of Posts With AI.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Roofing Social Media: Turn Finished Roofs Into a Month of Posts With AI.

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.

Follow me on Instagram@sagnikteaches

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.

Connect on LinkedInSagnik Bhattacharya
LevelWhat you may postWhat the customer agrees toRecord
1: roof onlyExterior photos of the roof work, with no house number, street sign, number plates or people visibleA tick-box line in the proposalTick-box saved on the job record
2: home visibleThe outside of the house and a general area description, but no house numberA tick-box plus a choice of how much area detailSaved with the choice
3: people or wordsFaces, a first name, a review quote or a video of the householdA written message each time, naming the platform and the exact photo or quoteMessage 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.

Subscribe on YouTube@sagnikteaches
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 thumbnail

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 now

Shoot 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.

  1. 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.
  2. 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.
  3. 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.
  4. Keep paperwork out of shot. Invoices, permits, insurance letters and screens go face down or indoors before anyone starts taking photos.
  5. 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.

ColourWhat it meansWhat to do
GreenRoof work only, with nothing that identifies a home, person or vehicleCleared for posting, as long as the customer gave level 1 permission
AmberSomething that cropping or a retake can remove: a house number, street sign, number plate or neighbour's gardenCrop or retake; clear it only if the result is clean at full size
RedFaces, children, interiors, paperwork or screens in shot, other firms' vehicles, or crew working without fall protectionDo 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.

WeekJob (illustrative)Post 1Post 2Post 3Post 4
1A: 28-square hip re-roof, six decking sheets replacedBefore-and-after pairWhat we found under the shinglesA two-day re-roof in orderThank-you, only if level 3 is on file
2B: repair, 14 shingles and one pipe bootBefore-and-after close-upWhat a cracked pipe boot looks likeRepair or replace: how we decideA customer question answered, no names
3C: low-slope garage roof, new membraneBefore-and-after pairWhat goes under the membrane, layer by layerA day on a flat roofThank-you, only if level 3 is on file
4D: ridge vent in place of two box ventsBefore-and-after of the rooflineWhy we swapped the ventsThe same swap seen from the attic side, no interiorsMonth 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 saidWhy it is a problemWhat to post instead
"Storm damage repaired"True only if the job was storm damage, and it edges towards claim adviceDescribe 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 claimsLeave it out; answer claim questions in conversation, not in a caption
"Leak-proof for life"An absolute promise your warranty won't matchIf you mention a warranty, state its actual length and say terms are on request
"Best roofers around"An unprovable superlativeRemove 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 roofDescribe what you fitted: "ridge vent along the full ridge"
"Fully licensed and insured"Must be true on the day the post goes liveSay 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.

OptionWhat the page saysCost for two channels
Meta Business SuiteLets 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 scheduleCheck on the page
Buffer FreeUp 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.

  1. Posts published against the sixteen planned.
  2. Consent records on file against jobs posted. It should be four out of four; anything less pauses that job's posts.
  3. Enquiries that mention a post. Add "how did you hear about us?" to your enquiry form or call script and tally the answers.
  4. 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

Sources: CompanyCam Marketing Suite, features and pricing pages; Buffer pricing page; Meta Business Suite page (all read November 2026).

Want a posting routine that doesn't eat your week?

On a 1:1 call we'll map how job photos reach you today, set up the job note, consent step and drafting prompts, and decide whether your photo app can handle the scheduling.

Book a 1:1 call with me