HAP
All work03 / 16

AI & Automation

Multi-Marketplace Ad Reporting and Review Pipeline

We manage advertising for consumer brands across Walmart (US and Canada), Home Depot, and Amazon. Every week the same cycle repeats: pull reports from each portal, work out what changed and whether it worked, meet with the client, then go back into each portal and make the next round of changes. We built a set of agents that does the reporting and analysis end to end and prepares the changes, while every decision that moves money stays with a person.

Stack

ClaudeCodexNode.jsPythonChrome DevTools MCPDropboxlaunchd

Concepts

Browser agentsDeterministic validationBefore-and-after measurementHuman in the loopPlan, apply, verifyCredential hygiene

How it works

The whole flow, step by step.

Retail portalsCollection agentValidatorReview agentAccount managerExecution agent
  1. 01

    Collection agent

    Reports are pulled from every portal

    The agent signs in to Walmart US, Walmart Canada, and Home Depot, sets each report's dates and attribution, and downloads it. It can export and nothing else: campaigns, bids, and budgets are off limits at this stage.

    Dedicated browser sessionExport onlyDated shared folder
  2. 02

    Validator

    Each file is proven correct

    Deterministic checks read what is inside each file rather than trusting its name. A drop that is incomplete or wrong stops here, with the missing report named.

    Actual date coverageMarketplace identityColumn parityWeek-over-week continuity
  3. 03

    Review agent

    Last week's changes are graded

    The brief covers total sales as well as ad-attributed revenue, confirms which changes actually went live, and measures each one with numbers a script can regenerate on demand.

    Before-and-after windowsReproducible numbersChange-record reconciliation
  4. 04

    Account manager

    The team decides what to do next

    The review opens a discussion instead of acting on its own. The account manager questions the analysis, adjusts the plan, and approves the final change list.

    Working conversationDraft bulksheetRanked recommendations
  5. 05

    Execution agent

    Approved changes are applied and verified

    Each change is applied in the portal only if the live value still matches what the plan expected. A separate verifier, run by whoever launched the work, confirms the change landed before it is marked done.

    Expected-value guardRead back every fieldIndependent verifier

The problem

Walmart and Home Depot offer no reporting API we could rely on, so the weekly picture lived in a dozen manual exports, each with its own date picker, attribution setting, and column layout. A report with the wrong date range looks exactly like a correct one, and Canadian data can quietly arrive as a copy of the US file. By the time the numbers reached a client meeting, nobody could say with confidence whether last week's bid changes had even gone live, let alone whether they worked.

What we built

Three stages with a clear owner each. A collection agent signs in to each portal through a dedicated browser session and exports the week's reports into a dated shared folder. A review agent turns that drop into a meeting brief that answers four fixed questions: how the whole business did, what we changed, what worked, and what we do next. An execution agent applies the changes the team agreed on, and a separate check proves each one landed. The same pattern covers the Amazon accounts, where the agents work from the account's bulksheet and our ads dashboard.

A file existing is not evidence

Every export is checked by plain code, not by the agent that downloaded it. The validator reads the dates actually inside each file, confirms the Canadian files hold Canadian data, checks that column sets match week to week, and compares the drop against the previous one. If anything is missing or wrong, the review stops and names the exact report, so the team can chase one file instead of discovering a gap halfway through a client meeting.

Numbers that survive being questioned

Changes are graded with equal-length windows on either side of the change date, with the change day itself left out, and every figure in a brief comes from a script that can regenerate it a week later. We also keep two records of each change, the client-facing notes and the operational change log, and the review reconciles them before grading anything. When they disagree, that disagreement is reported as a finding rather than smoothed over, because grading a change that never shipped is worse than not grading it at all.

A person approves every change

The review ends in a working conversation, not an automatic action. It produces a draft bulksheet and a ranked list of recommendations, and the account manager decides what goes forward. When the agent applies an approved change, each line of the plan records the value it expects to find. If the live account no longer matches, it stops instead of overwriting someone else's edit. Every value is read back after it is typed, and the change is only marked done when an independent verifier agrees. Sign-in steps that need a human, such as a CAPTCHA or a device approval, are handed to a person, and passwords, one-time codes, and session tokens never appear in a prompt, log, or screenshot.

Outcome

The weekly cycle across three retail platforms and two countries now runs from report pull to meeting brief without manual downloads or spreadsheet work, and the time people spend goes into the decisions rather than the downloads. Each run is recorded and watched by our agent fleet's monitoring, so a pull that stalls or a portal that signs itself out is reported the same day instead of discovered the morning of the meeting.

Interested in something similar?

Tell us what you need and we'll figure out how to ship it.

Get in touch