80+ profiles. 15 posts each. Two hours a week to run.
A marketing agency was burning three hours a day producing Google Business Profile posts for restoration companies. We built one system that ran the whole fleet. Three hours daily became two hours weekly. The team stopped producing and started doing the work they were hired for.
80+
Profiles
1,200
Posts / month
−93%
Review time
1
Operator
Three hours a day. Generic posts. One bottleneck.
A digital marketing agency was managing Google Business Profiles for over eighty disaster restoration companies. Each profile needed fifteen posts a month. Each post needed to read like someone who actually knew the business — what services it offered, what season it was, what disaster the local market was most worried about that week.
A flooded basement in Burlington in March is not the same story as a storm-damaged roof in Savannah in October. A generic prompt produced posts that didn’t pretend to know the difference.
The SEO lead spent three hours a day on GBP work alone. Quality drifted as the workload grew. The team that was supposed to be doing strategy was trapped in production.
Calendar trigger
The monthly batch fires for one company. The calendar knows what content is due, when each post should land, and which company's queue is next.
Business intelligence
The system pulls the company's profile: services offered, service area, recent reviews, the local landmarks customers reference. Burlington homeowners read different content than Mobile homeowners.
Seasonal lens
January in Vermont means frozen pipes. June in Florida means storm prep. The system layers the season over the market and surfaces a topic the audience actually needs this week.
A Burlington homeowner’s cold-snap checklist
When the thermometer dips below 15°F around Lake Champlain, water in uninsulated pipes can freeze in under four hours.
The damage doesn’t announce itself until the thaw — and by then the drywall behind your kitchen sink is already saturated.
✓ local hook Beacon’s crews mobilize within 60 minutes of a Burlington call, 24/7, even on the coldest nights.
Draft + image
Claude writes a local-anchored post grounded in the business, the season, and the audience. A hero image generates in parallel — restoration site, post-flood living room, frozen pipe close-up.
Editorial review
Post lands in Airtable as Pending Review. One person scans the queue, edits where it needs editing, approves what's clean. Pending Review → Approved in one click.
A Burlington homeowner’s cold-snap checklist for the next deep freeze…
Auto-publish
Approved posts publish to Google Business Profile on schedule. Status flips to Live in Airtable. The calendar already has next week's batch queued.
Six stages. One published post.
n8n underneath, Claude in the middle, Airtable on the surface. The next six panels are the stages, in order. Scroll to watch each one.
One dashboard. Eighty companies. Two hours a week.
The whole fleet sits in one Airtable base. Company profiles on the left. This week’s pipeline at a glance. The editorial queue ready to review.
One person scans the queue, edits where it needs editing, approves what’s clean. Pending Review → Approved in one click. The same dashboard that used to need three hours daily now needs two hours a week to keep moving.
Pipes That Burst at 3am
When the thermometer dips below 15°F around Lake Champlain, water in uninsulated pipes can freeze in under four hours.
5 Holiday Fire Hazards You'll Miss
Most kitchen fires aren't from cooking. Fryers, candles, and overloaded outlets account for two-thirds of December insurance claims.
Mold Behind the Drywall
By the time the spot shows on the surface, the colony's been growing in the cavity for six weeks.
Storm-Damaged Roof First 48hrs
What insurance adjusters look for, what documentation matters, and the one thing most homeowners skip.
When Spring Floods Hit Basements
It's not the snowmelt itself. It's the saturated ground that stops absorbing it. Here's the warning sign nobody watches.
Sewage Backup: What Insurance Skips
Most policies cap sewer-line damage at $5K. What that won't pay for, and the rider that fixes it.
Smoke Smell That Won't Quit
Why three rounds of cleaning didn't work, and the structural treatment most companies skip on small jobs.
Sump Pump Quits Mid-Storm
The 2am call most homeowners make to us starts the same way. Three things you can do before it gets that bad.
After-Hurricane Walk-Through
What to document, what to touch, and what to leave for the adjuster. Mistakes made in the first hour cost weeks later.
Wind-Driven Rain Through Siding
Vinyl siding is rated for 110 mph, not for 60 mph rain coming sideways. The damage hides until summer.
The Slow Leak That Cost $14K
It started in the upstairs bathroom. By the time anyone noticed, the joists below were already compromised.
Restoration vs Renovation
When insurance pays one but not the other, and how to read the policy language before you sign anything.
Twelve posts from this month. Same engine. Different audiences.
A flooded basement in Lincoln reads differently than a wind-damaged roof in Helena. The system writes for the company, the market, and the week — not from a template.
The posts below are a slice of last month’s output. Twelve of about twelve hundred. Same workflow under all of them.
05 / The lesson
Generic in, generic out. Specific in, specific out.
The model didn't change. The research did. A generic prompt with a business name produces generic content. A prompt with three layers of context produces content the business owner would post themselves.
The first version of the system pulled business name and location. Posts were technically correct but flat. When we rebuilt the research layer to include service mix, seasonal calendar, recent reviews, and local landmarks, the posts started reading like the business owner wrote them.
This was our first automation project at scale. The proof we needed to show ourselves that AI content can replace manual production without the output getting worse — and that the editorial layer is what makes the difference.
Next step