Corpus Loop
Case study · Content Automation

Every post, written and designed by hand. Not anymore.

We built the system that turns one flagged row in a content calendar into a finished, on-brand LinkedIn and Instagram post — copy, graphic, and a human’s final yes — without anyone opening a design tool.

Manual content hours / week
Before
3–5 hrs
After
0 hrs · automated
Client
VisionIQ
Sector
Event Management & Marketing Agency
Market
Germany
Channels
LinkedIn · Instagram
Role
Automation build, agency team
Live since
March 2026
Stack
n8n · GPT-5 · gpt-image-1
Surface
Microsoft 365 / SharePoint
01 · The client

An agency that sells relief from deadlines. Except its own.

VisionIQ is a marketing and event-management agency based in Germany. Their pitch to clients is operational relief — they run the event management, the timelines, the vendor coordination, so their clients’ teams don’t have to. Their own growth channel makes the same promise, repeated in public: „Wir sorgen für Leads“ — organic content on LinkedIn and Instagram that turns their operational discipline into visible proof.

That only works if the content actually goes out — every week, on-brand, on both platforms, without fail. But the same team running client events had no spare capacity to also write, design, and schedule its own marketing. The agency selling other people relief from deadlines was quietly missing its own.

02 · The problem

Two platforms, one designer’s afternoon. Every single time.

Every post — LinkedIn and Instagram — was built by hand: the copy written twice, once in a business register for LinkedIn and once with a warmer hook for Instagram, then a design tool opened to build a graphic that matched the brand’s exact palette and layout rules from a blank canvas.

None of that judgment was optional, even for routine posts — a stat callout, a location update cost the same afternoon as anything else. There was no system holding the brand consistent between one session and the next; consistency lived in memory, not in a spec.

3–5
hours a week spent on manual writing and design
2×
every post written and designed twice — once per platform, from scratch
0
systems enforcing brand consistency between one post and the next
03 · Our approach

Keep the spreadsheet. Remove everyone’s afternoon.

The team already ran their content plan from a spreadsheet — so we didn’t ask them to adopt a new tool. We turned that spreadsheet into the trigger, the brand system, and the approval gate for a fully automated pipeline.

RULE 01

The calendar stays the interface — a checkbox is the entire control panel, no new software for the team to learn.

RULE 02

Brand consistency is enforced by the machine, not memory — exact palette, layout logic, and zero-typo German copy are written into every generation.

RULE 03

Nothing publishes without a human’s yes — generation and publishing are two separate gates, on two separate schedules.

04 · How it works

One flagged row in. A published post out.

VisionIQ content automation workflowTwo connected loops. The generate loop sends a flagged content-calendar row to GPT-5 for copy and image generation for an on-brand graphic, then syncs the draft back. The publish loop requires human approval before a scheduler publishes to LinkedIn and Instagram.GENERATE LOOPPUBLISH LOOPflagged rowcopy donedraft + image synced backcheckbox → approvedon scheduleContent CalendarSharePoint Excelsingle source of truthGPT-5writes IG + LI copybrand voice, formal "Sie"gpt-image-1on-brand graphicfixed palette, zero-typo ruleApproval Gatehuman reviews firstnothing publishes without itSchedulerchecks the row is readyskips it if not, silentlyLinkedIncompany pageInstagrambusiness account
The generate loop drafts into the calendar; the publish loop only fires once a row is approved, complete, scheduled, and not already posted.

Brand rules the AI can’t skip

Exact hex codes, forced logo placement, the "marker highlight" treatment on key stats, and a double-check instruction against German spelling errors are written directly into the image-generation prompt — not left to whoever’s designing that day.

One spreadsheet, two platforms, zero collisions

Branching logic decides whether a row needs Instagram, LinkedIn, or both, and only ever writes back the cells that row owns — nothing else gets touched.

A gate that can’t double-post

A row goes live only if it’s approved, content-complete, scheduled, and not already marked posted. Miss any one of those, and the scheduler skips it — silently, safely.

Lives inside their own Microsoft 365

A four-step Graph API handshake — token, site, drive, table — means there’s no separate content tool bolted on. Everything stays inside the SharePoint the agency already runs.

05 · The results

From a design tool, every time. To a checkbox, sometimes.

2–3
posts generated per week — uncapped, set by the team
6 mo
in continuous production, live since March 2026
2
platforms auto-published from one calendar row — LinkedIn & Instagram
Grid of VisionIQ Instagram posts, all generated through the pipeline, showing consistent on-brand layout and color treatment across posts
VISIONIQ · INSTAGRAM GRID · AI-GENERATED, ON-BRAND
A live VisionIQ LinkedIn post with copy and graphic generated by the content pipeline
LIVE ON LINKEDIN · COPY + GRAPHIC, ONE PIPELINE

Figures reflect the agency’s own estimate of prior manual effort. VisionIQ reviews and approves every post before it publishes — the system is not fully unattended, and isn’t meant to be.

07 · What’s next

This is a blueprint. Not a one-off.

The pattern here isn’t specific to VisionIQ or to SharePoint — a spreadsheet as the single source of truth, brand rules encoded once, and a human approval gate before anything goes live. That shape fits any team spending hours a week on manual content, running on whatever calendar they already trust: Airtable, Notion, Google Sheets, or the Microsoft 365 they’re already inside.

Talk through your content pipeline