Case file · product build · ai back office · jun–aug 2026

AI Operating System with agents for dropshipping.

We were building an AI back office for Google Ads dropshippers. Support triage, live profit and loss, feed and trend watching. What we actually had was a dashboard with cron jobs behind it. A week before launch we threw the architecture away and rebuilt it as an agent harness. Everything we had bolted on until then was throwaway work, and pretending otherwise would have cost more later.

One input beam hitting a routing prism and splitting into six beams, each crossing a red gate before reaching a node One request. One router. Six agents. Nothing gets past the gate on its own.
01 — the architecture

Every capability is its own agent.

An agent here is a system prompt, a skill set, and the tools it is allowed to touch. An orchestrator decides which one gets the job and hands work between them. The upside is boring and large: adding a seventh capability means writing a file, not rewiring the product.

request in proposed action stopped at the guardrail
02 — the gate

Nothing spends money on its own.

Every action an agent wants to take lands in one inbox first. The owner sets the line per workspace: approve everything by hand, or let it run inside limits you set. Auto-run is a choice somebody makes, not the default we ship.

app.thesyndicate.os / inbox
Agents
Mode

Inbox

4 waiting · 1 blocked
approve
Pause ad group “Winter Boots — Broad” MEDIA BUYER · €47 spent, 0 conversions, 14 days
below the €35 CPA floor you set · reversible
approveadjustsnoozereject
approve
Send 3 drafted replies SUPPORT · 3 of 11 mails are real customers, 8 filtered as noise
order numbers pulled, tracking checked · you read them first
approveadjustsnoozereject
ran
Daily P&L rebuilt — €1,284 profit FINANCE · landed cost per SKU applied · inside your auto-run limits
drill: day → product → order
blocked
Raise daily budget to €900 MEDIA BUYER · your ceiling is €500/day
outside guardrail — will not run, approved or not

One inbox for every agent · approval-first is the shipped default

The bottom row is the one that matters. A guardrail is not a warning you can click past. If an action sits outside the limits the owner set, approving it does nothing.

03 — where it stands

Two agents out, one a month after.

2In a user's hands in the first sprint: support triage and live profit and loss.
1 weekTo re-platform from bolted-on automations to a working harness.
4Live systems wired in: the ad account, the store, the mailbox, the numbers.
0Actions that touch an ad account without a human, unless the owner turns that on.

The runtime is deliberately not tied to one model provider. The same agent definition runs on either, and we pick per job on cost and speed. That decision took an afternoon and has already paid for itself twice.

04 — the stack

Thin product, thick plumbing.

Most of the work is not the interface. It is OAuth that survives production, a schema that holds a member's whole account, and the guardrail layer that sits between a suggestion and a live campaign.

Google Adsaccounts · campaigns
Shopifyorders · margin
Gmailsupport intake
Metablended spend
Claudeagent runtime
OpenAIalternate runtime
Postgresper-workspace state
Railwayhosting · jobs
Book a call 30 min · you talk to the founder Next: lead to off-boarding Twelve automations across the client arc