Inspiration

https://github.com/google/adk-samples/tree/main/core/python/long-horizon-harness

If you've ever managed hundreds of Google Business Profiles, you know the real problem isn't SEO. It's operations.

A product goes out of stock, opening hours change, a branch closes temporarily, or a bad review needs dealing with. The website says one thing, Google Business Profile says another, the ERP says something else, and before long customers are turning up for products that aren't there.

That creates frustrated customers, poor reviews, wasted journeys and eventually weaker local search performance.

The obvious answer is AI, but there's no way we'd let an LLM loose editing production systems, Google Business Profiles or company data without guard rails.

So we worked backwards from that problem.

What it does

We built a fleet of specialised agents that each have one job.

One agent turns messy documents and company knowledge into structured OKF (Open Knowledge Format). Others watch inventory systems, Google Business Profiles and operational events through MCP.

When something changes, the right agent decides what needs to happen. That might be updating structured data, creating a GitHub pull request, preparing a Universal Commerce Protocol checkout, or drafting changes for a Google Business Profile.

Nothing goes live automatically.

Instead, the final step is always a native approval card inside the user's chat interface. A manager reviews it, clicks Approve, and only then does the workflow continue.

That gives us AI automation without giving AI direct control.

How we built it

The whole platform runs on Google's Agent Development Kit using a registry of specialised agents instead of one giant prompt.

We used graph-based orchestration so agents only wake up when they're actually needed, keeping costs down and making the workflows easier to reason about.

Because approvals might happen five minutes later or five hours later, we built around long-running workflows that can pause, survive restarts and continue exactly where they left off.

For memory we use durable session storage rather than relying on prompt history, and every action passes through Model Armor before anything reaches a human.

Challenges we ran into

The biggest challenge wasn't AI.

It was making sure long-running workflows behaved like production software.

If someone approves a task after a restart, or an event fires twice, you can't have the same update published twice or duplicate actions being sent to downstream systems.

Getting idempotency and resumable workflows right took far longer than the prompting.

We also learned to be selective with models. Flash handled ingestion and parallel processing extremely well, while Pro was reserved for the smaller number of tasks that genuinely needed deeper reasoning.

What we're proud of

The biggest milestone was getting the human approval loop working properly.

Watching an agent pause, generate a native approval card, wait for a real user to make a decision and then carry on exactly where it left off felt like crossing from demo territory into something that could actually run inside an enterprise.

More importantly, we've shown that the delay between something changing in the real world and that change being reflected across customer-facing systems can be reduced from days or weeks to however long it takes someone to review and approve it.

What we learned

The biggest lesson was that storing data isn't the same as giving an agent usable memory.

We also found that evaluating agents by the quality of their reasoning process is far more useful than judging them on the final answer alone. An answer might look convincing, but if the agent never checked the source systems, it isn't something you'd trust in production.

What's next

This weekend proved the architecture.

The next step is expanding the agent registry with more MCP integrations into enterprise platforms like Salesforce, SAP and Workday.

The goal isn't to build one super-agent.

It's to build a collection of specialist agents that work together safely, with humans staying in control whenever it matters.

Built With

  • a2ui
  • agent-registry
  • ai-agents
  • api
  • automation
  • enterprise
  • firestore
  • geap
  • gemini
  • gemini-flash
  • gemini-pro
  • github
  • google-adk
  • google-cloud
  • google-cloud-run
  • llm
  • mcp
  • model-armor
  • model-context-protocol
  • multi-agent-systems
  • okf
  • python
  • retail
  • seo
  • ucp
Share this project:

Updates