Automating a Bottleneck: How We Built a Custom Photo Approval Workflow & Publishing Engine Using Frame.io, n8n, and Cloudflare Workers
A clean, reliable publishing and approval workflow is the engine behind real-time event photography.
An inside look at our Frame.io backend showing publishing and approval statuses.
The hardest part of high-stakes event photography isn’t capturing the moment, it’s getting the right photos approved and delivered quickly, without breaking anything in the process.
Most gallery tools weren’t built for real-time demands. They’re too slow, too manual, or too fragile for the pace of multi-room summits, principal-level events, and live communications needs.
So we built our own.
This post walks through the “headless” publishing engine we created by connecting Frame.io, n8n, and Cloudflare Workers, which is designed specifically to eliminate bottlenecks, prevent duplicates, and give clients a frictionless, mobile-friendly approval experience.
Why This Matters
When your team needs approved photos in minutes, not hours:
traditional galleries can’t keep up
dragging files between folders becomes error-prone
duplicate uploads waste bandwidth and time
and approval bottlenecks can slow social and press timelines
A reliable, automated publishing system is the best way to move at the speed of high-profile events.
The Architecture: How Our System Works
The Trigger: Change a Metadata Field, Not a Folder
Instead of dragging photos into a “Publish” folder (slow, risky, easy to mess up), we rely on Frame.io’s webhooks metadata triggers.
When an editor or client marks a file as:
Publish → Publish Now
…that metadata update becomes our automation signal.This reduces human steps, removes friction, and keeps the workflow simple for on-the-go approval and publishing.
The Traffic Controller: Cloudflare Workers
To prevent duplicate asset publishing, we wrote a custom Cloudflare Worker that acts as a locking mechanism. It queues requests to ensure we don't accidentally upload duplicates or crash the API limits.
The Router: n8n Workflow Automation
Our n8n workflow pings our Airtable to figure out where the photo should go. Is it public? Is it archive only? No dragging. No re-uploading. No accidental duplicates.
Skip Logic: Intelligent Publishing
We built intelligence into the system. If a file has already been uploaded to the DAM, but we later decide to push it to Flickr, for example, the system checks the "Already Uploaded" flags. It skips the redundant DAM upload and only sends it to Flickr, saving bandwidth and processing time.
A look at the N8N publishing workflow.
Putting It All Together: Headless, Fast, and Fail-Safe
By combining Frame.io, n8n, Cloudflare Workers, Airtable, and our metadata system, we’ve built a publishing pipeline that:
eliminates manual steps
prevents errors
handles high volume
works reliably during high-pressure events
gives clients a simple “approve & publish” workflow
routes assets to the right place automatically
It’s the backbone of how we deliver images in real time or rapid turnaround.
What This Means for You:
Whether you’re:
A multimedia manager
You get a workflow that eliminates bottlenecks, protects your DAM, and scales with your event.
A photographer or editor
You get a system that supports real-time delivery without breaking under load.
A comms or events lead
You get a mobile-friendly approval process to track what has been approved and what is not.
Any internal team under pressure
You get delivery pipelines that work predictably, even during the busiest moments.
Want an approval workflow that actually supports real-time delivery?
We can adapt this system, or build a version of it, for your event, team, or organization.
Email Max to talk through what you need:
max@runwithitproductions.com