AI WORKFLOW EXPERIMENT
How far may an AI marketing agent go on its own? A working prototype that shows the morning each setting produces, and an honest account of building it with two AI agents as partners.
The scenario is deliberately small: a fictional tea company, one email queued for 6:00 AM, and an agent that discovers at 2:14 AM that the discount code expired at midnight while the marketer sleeps until 8:40. You choose one of three settings for how far the agent may go, and you see the morning each one produces.
Self-initiated. The tea company (Halfmoon Tea in the prototype), its campaign and its subscribers are fictional. It is a coded simulation with no live AI calls; the logic and the states are real, and it runs on a phone.

Figure 1. The live prototype at desktop width, with Ask first selected: the overnight log, the line where the agent's authority ended, and the morning report.
How it works
The honest answer to "how much should the agent do alone" is "it depends on what you can live with," and nothing I found tells you what you're about to live with.
Each of the three settings produces a different morning, and none of them is free. Let the agent act alone and the problem gets fixed without you, which is the good news and the bad news in one sentence. Make it ask first and you're safe and late. Tell it to only flag things and you keep control right up until the moment control would have mattered. A marketer choosing between them deserves to see the bill before they choose, not after.

One thing stays off the table no matter what: the agent can never create or change a discount, only use offers the team already approved. That rule is not a setting but the box the settings live in, and making it visible without making it look like a fourth option turned out to be one of the harder copy problems in the project.
The visual language came out of three directions explored under my own style rules, and I combined two of them. One gave the page its two voices, an editorial placard and a branded product, and the other gave it the authority line itself: a line drawn through the overnight log at the exact point where the agent's power stopped, with a small mark on every action so you can tell at a glance what the agent did, what it needed permission for, and what was never its call.
The line was orange at first, and it read as a warning even when nothing had gone wrong, so it became plain ink. A boundary is information, not a caution, and once I made that rule the orange accent came to mean exactly one thing on the page, which is cost; the status pills keep their own green, amber and red because they describe what happened to the email, not a verdict on the setting. The morning report had the same problem with a warm tint and got the same fix.
What interested me was never which setting is right, but whether the person choosing could see what they were choosing and then choose with confidence. That turned out to be the question for the whole project, including how I built it, because working with agents, whether you are designing for them or with them, keeps coming back to the same thing: not how much you hand over, but whether you can see what you're handing over.
Accessibility was in the brief from the first line, not added at the end, because by the end you are already paying interest on decisions that should have been made right the first time. The settings are a native radio group, there is one polite live region, focus moves to the result after Approve, Undo and Redo, every target is at least 44 by 44 pixels (my own standard, stricter than what the guidelines require), and light and dark were designed together with contrast measured in both.
The automated audit found zero violations in both themes at desktop and phone width, across the states checked, including replay, pause, Undo and Approve. I did the keyboard pass myself, and I went through every step with VoiceOver on a Mac, which proved the whole flow can be completed by ear and not much more than that; I am a sighted person who finds screen readers hard to use, and that is not the same as testing with someone who uses one every day, which is why it's on the list under Next. One thing I would have missed on my own: Astra flagged from the code that the replay needed Pause and Next controls and slower steps before it was fair to anyone listening rather than looking.
What the research changed
It started as a job description. A posting for a Staff Product Designer on an agentic marketing team described "AI agents that make real-time, data-driven decisions across entire customer journeys," in a space where "the rules are still being written." I don't come from marketing, but I know a design brief when I see one, and I wanted to find out what I would do with it.
Marketing platforms have started shipping AI agents that act rather than just suggest, picking which message goes to which person, when, and on which channel, and in some products pausing or launching things without asking. Every one of those products has to answer the same question whether or not it puts the question on screen: what may the agent do on its own, what should it prepare and hand to me, and what is never its call?
Here is the part I would do differently next time: I built first and read second. Before writing this I had Claude survey the space and I read through what came back, not a survey of everything out there, just enough to know whether the question I had built around was one the industry was actually asking, and it turned out it was. That is a good outcome for the prototype and a bad order of operations, so the series now starts every project with a look at the space before anyone writes a brief. Keeping that kind of admission in these write-ups is part of the point, because if I only showed the parts that went right there would be nothing here to learn from.
The short version of what I found is that the products already agree on the shape of the answer, even when they don't say so out loud. Think of it as a ladder. On the bottom rung the agent watches and tells you, one rung up it drafts or prepares the work and waits for a yes, and at the top it acts on its own inside limits someone set in advance. Hightouch's AI Decisioning sits near the top, choosing message, channel and timing per person but only inside a box the marketer defines with a pool of pre-approved messages, and their documentation says the agent "does not modify your base content." Klaviyo's marketing agent sits in the middle, drafting campaigns and handing them over, and their help center is blunt that "you are ultimately responsible for the content of your messages." And anyone who has used a coding agent has felt the same ladder in their hands, because Claude Code's permission modes control which kinds of action need your approval before they run. The vocabulary changes from product to product, but the rungs don't.
What I did not find, in the documentation I read, was the cost of each rung shown next to the choice. The products describe the ladder, but nothing I saw lets you stand on a step and look at the morning it produces. Where the line sits is a design decision whether or not a designer made it, and that gap is what the prototype is for.

What went wrong
The first build matched the brief, passed 28 automated tests, and had been reviewed by Claude reading the code and scripting clicks through every state, so by every measure we had it was done. Then I opened it and didn't know what I was looking at. I couldn't tell whether I was the marketer or a visitor looking over the marketer's shoulder, I didn't know I was supposed to try all three settings, and the choice sat two screens away from the consequence it produced, so I never saw the one thing the whole prototype exists to show. Nothing was broken, which is exactly what made it a useful failure: the tests were checking whether the machine worked, and nobody had checked whether a person could tell what it was for.
The diagnosis was that two audiences had been mixed together without anyone saying so. The fix was to separate them on the page: a placard in my voice that told you what this is and asked you to try all three settings, and below it a product frame that looks and reads like the marketer's own tool, with the choice and its consequence side by side so that comparing the three mornings takes three clicks instead of twelve. Later I took the placard out of the prototype altogether. The product now carries no author layer, and this page does the explaining.
The line itself was in the wrong place at first. Astra's review of the live build caught that under "Ask first" the line sat before the step where the agent prepares the fix as a draft, but preparing is permitted by that setting, so the central visual contradicted the log beneath it. Moving the line one row down and relabeling it "It could prepare the fix. It could not send it." put the whole idea into a single row: what separates the rungs of the ladder is preparation versus execution, which is the distinction the products I read about are drawing in their own words, and I arrived at it by getting it wrong first.


The name was wrong too. The project was called The Autonomy Dial until I went looking for the dial during a keyboard pass and couldn't find one, because the control is a vertical list of three settings and nothing on the page is a dial. It got renamed to the thing you can actually see.
How this was made
I made this with two AI agents, and I've been calling the arrangement a triumvirate: two agents on different platforms with different jobs, and me in the middle with final cut on everything. I directed. Claude handled strategy, the brief, the mockups, the drafts, and the builds through Claude Code. GPT Astra was the independent critic, with standing instructions to challenge weak reasoning, at three gates: the concept, the live build, and this write-up. The split was a first test of which agent is best at which role rather than a settled answer, so on the next project the roles flip and the arrangement gets revised by what that shows. Everything about this way of working is iterative now, which is excellent as long as each iteration is measured against whether it produced something better and not just something different.
Three disagreements got logged as they happened, and each one changed the work; Figure 5 shows where they landed. The short version: at the concept gate Astra narrowed Claude's initial proposal, which I had approved, from a general autonomy dashboard down to one interrupted campaign with a replay. After the first build Claude called it good and I found it confusing. After the build was live Astra found the authority line in the wrong place.

This is an abridged version of the handoff that started the build, so you can see the shape of one rather than take my word for it. The full prompt is in the repository.
Three rules came out of this project that will run through the rest of the series. Every artifact handed to me now arrives with three lines, what it is, who I am when I look at it, and what feedback is needed, because the first build failed partly on that alone. The reading about the space now comes before the concept instead of after the build. And every build pass gets captured before the next one replaces it, because the first build of this project, the one that confused me, no longer exists anywhere except in this description.
One more thing the series is tracking from here: what this way of working costs. Running two agents and a person on the same project is not free, and part of the point of repeating the arrangement with the roles flipped is to see where the money and the time actually go, which agent earns its place at which job, and whether the answer changes as the tools do. I'm not publishing numbers from project one, since I didn't measure carefully enough to stand behind them, but the comparison becomes a deliberate part of the write-up from project two on.
What remains unproved
I want to be careful about what I can claim here: I think it's clearer, and two AI agents agree, but no one who hasn't worked on it has used it yet, and until that happens "clearer" is an opinion.
The screen reader pass was mine, not a test with someone who uses one every day. And the agent is scripted, so the prototype shows what each setting costs, not whether a real agent would stay behind the line.
Next
Put it in front of three people who have never seen it, because "we think it's clearer" is not evidence. Test it with someone who uses a screen reader. Try a different way of reviewing what the agent did, where it acts and you audit a sample afterward, and see what that morning looks like. And pull the patterns out into a small kit, since a permission with its cost stated, a rule that is visibly not a setting, a line through the log where authority ended, and a before-and-after with undo are all things I expect to need again.
© 2026 Arman Musaji
Email: