Until now, the Autron AI Agent has worked on demand — you ask a question or request a change in chat (or through the MCP connector in Claude or ChatGPT), and the agent does it while you watch. Routines flip that around. A routine is a saved prompt that the agent runs automatically and unattended — on a recurring schedule, or whenever an external system fires a webhook — against one of your sellers.
That's the leap: a daily bid sweep that runs at 7am before you're awake, a weekly negative‑keyword harvest every Monday, or a new‑product campaign that launches itself the moment your inventory system says a SKU went live. You set it up once; it runs on its own.
Routines are part of the Autron Agent plan. If you're on the free tier you'll see an upgrade prompt on the Routines page. Each routine run consumes Agent credits, exactly like a chat — see Understanding Autron Agent credits and pricing.
How routines differ from chatting with the agent
When you chat with the agent — or connect it to Claude or ChatGPT through the MCP server — you're in the loop for every change. The agent proposes, you click Approve, and only then does it touch your Amazon Ads account.
A routine runs with no one watching, so it works differently:
Destructive Amazon Ads writes are pre‑approved. There's no Approve / Deny card during a routine run, because there's no human there to click it. Creating the routine is your authorization — you're telling the agent, in advance, exactly what it's allowed to do on each run.
Every action is still audited. Pre‑approved doesn't mean invisible. Every campaign, bid, budget, or target change a routine makes is recorded in the same Action log as your interactive changes, with full detail.
Each run is a full chat transcript. A routine run is a real, headless agent conversation. You can open any run and read exactly what the agent looked at, what it decided, and every tool it called — just like scrolling back through a chat.
Because the agent acts without confirmation, your instructions matter more. A vague prompt run on a schedule can make changes you didn't intend — with no one there to deny them. The Writing good instructions section below is the most important part of this article.
Creating a routine
Open Routines from the agent's sidebar, then click New routine. A routine has four parts.
1. Name
Whatever helps you recognise it in the list — "Daily bid sweep", "Weekly negative harvest", "Launch campaign on new SKU".
2. Active toggle
A single switch controls whether the routine is live. Active means scheduled triggers fire and webhooks run; Paused means everything is held — scheduled fires are skipped and the routine sits idle until you flip it back. (You can also pause/resume from the routine's row menu on the list page.)
3. Triggers
What makes the routine run. You can add a Scheduled trigger, a Webhook trigger, or both. These are covered in detail in the Triggers section below.
4. Agent Instructions
The prompt the agent runs on every fire — the heart of the routine. It's the same kind of instruction you'd type into a chat, except it has to stand entirely on its own, because no one will be there to answer follow‑up questions. A small model picker in the corner of the instructions box chooses which model runs the routine.
The routine is pinned to your current seller. When you create a routine it's locked to whichever seller you have selected at the time. Every run acts on that seller, and the agent cannot switch to a different seller or profile mid‑run. If you manage several sellers, create one routine per seller.
Reasoning models can't be used for routines. Reasoning models run without tools, so they can't take any action — and on an unattended schedule there'd be no one to notice the no‑op. The model picker won't let you save a routine pinned to one.
Triggers
Scheduled (cron)
A scheduled trigger fires the routine on a repeating clock. Pick a cadence:
Hourly — choose the minute of the hour.
Daily — choose the time of day (defaults to 09:00).
Weekly — choose the day of the week and the time.
Custom (cron) — write a standard 5‑field cron expression for anything more specific.
Every schedule runs in a timezone you choose — the picker covers UTC and every Amazon marketplace region — so "9am" means 9am where your business is, not in UTC.
The fastest cadence is every 15 minutes. Routines aren't meant for real‑time work, and most advertising data (sales, spend, search‑term reports) only refreshes once a day from Amazon anyway. For the vast majority of tasks, daily is the right cadence — see the Tips section below.
Webhook
A webhook trigger lets an external system fire the routine. This is what opens routines up to custom triggers — anything that can send an HTTP request can start an agent run.
When you save a routine with a webhook trigger, Autron generates two things:
A URL unique to that trigger.
A secret, shown to you once. Save it somewhere safe — it can't be recovered, only regenerated.
To fire the routine, send a POST to the URL with the secret in the x-routine-secret header:
curl -X POST \
-H "x-routine-secret: <YOUR_SECRET>" \
-H "Content-Type: application/json" \
-d '{"asin": "B07ABC1234", "reason": "low_stock"}' \
https://<your-agent-host>/api/routines/<routine-id>/triggers/<trigger-id>
The JSON body you POST is handed to the agent as part of the run, so your instructions can reference it. For example, an external system can POST {"asin": "B07ABC1234"} and your routine prompt can say "pause all campaigns for the ASIN in the payload".
Webhook payloads are treated as data, never as instructions. The agent uses the values in your payload as inputs to the task you defined — it ignores any instruction‑like text inside the payload. This keeps an external system (or a bad actor who somehow reached your webhook) from hijacking what the routine does.
Rotating the secret. Regenerating mints a new secret and shows it once. The old secret keeps working for one hour so any in‑flight callers don't break mid‑switch — after that, only the new secret is valid. Webhook calls are also rate‑limited to protect against runaway loops.
Writing good instructions
Because a routine acts without asking, write the prompt as a clear, self‑contained brief with its own guardrails. Treat it like instructions to a capable assistant who will do exactly what you say and can't check in with you.
A good routine prompt usually has four parts:
Scope — which campaigns, products, or portfolios to touch. "…for my garlic‑press Sponsored Products campaigns…"
The condition — what to look at and the threshold that triggers action. "…any keyword target with 7‑day ACoS above 40% and at least 15 clicks…"
The action — exactly what to change, with limits. "…lower its bid by 15%, but never below $0.20."
The fallback — what to do when something's off. "If yesterday's data looks incomplete or anomalous, make no changes and summarize why."
Build in your own limits. Since there's no Approve / Deny card to catch a surprise, put the brakes in the prompt: floor and ceiling values, a cap on how much can change, an explicit "don't touch anything outside portfolio X". If the agent can't safely proceed, it's instructed to stop and write a short explanation into the run rather than guess.
Running on demand
You don't have to wait for the schedule. Run now (on the routine's detail page, or from its row menu) fires the routine immediately — perfect for testing a new prompt before you trust it to a schedule.
For webhook routines, Run now lets you supply an optional test payload — paste sample JSON and the agent receives it exactly as a real webhook would, so you can rehearse the whole path without curl or the secret.
A manual run executes in the background and can take up to a minute to appear; it'll show up in Recent runs and the sidebar, and update to its final status on its own.
Where runs show up
Every fire — scheduled, webhook, or manual — produces a run you can inspect.
Recent runs on the routine's detail page lists each run with a status chip, how it was triggered, how long it took, and how long ago it ran.
The run transcript opens the full headless conversation: the agent's reasoning, every tool it called (with friendly labels), and its final summary. This is where a read‑only "digest" routine puts its findings.
The sidebar marks routine runs with a ⚡ lightning glyph. An activity dot shows status at a glance: yellow = running now, lime/green = finished with something unread, grey = read. Routine runs are kept out of your normal chat inbox by default — toggle Show routine runs to fold them in.
The Calendar tab on the Routines page shows upcoming scheduled runs so you can see what's going to fire and when.
What a run's status means
Status | Meaning |
Succeeded | The run completed and any writes went through. |
Failed | Something went wrong — the row shows a short reason. |
Timed out | The run hit its ~5‑minute limit before finishing. |
Skipped (overlap) | A previous run of this routine was still going, so this fire was skipped. |
No access | The seller's Amazon Ads connection is disconnected — reconnect it to resume. |
Skipped (paused) | The routine was paused when the trigger fired. |
Safety and guardrails
Routines are built so that "unattended" never means "uncontrolled":
Audit trail. Every Amazon Ads write is recorded in the Action log, same as interactive changes.
Pinned seller. A routine only ever acts on the seller it was created for; the agent can't switch seller or profile mid‑run.
No overlap. If a run is still going when the next trigger fires, the new one is skipped rather than running two copies at once on the same account.
Time‑bounded. Each run has roughly a five‑minute ceiling and stops after a bounded number of steps, so a routine can never spin indefinitely.
Ads‑access gate. If the seller's Amazon Ads access has lapsed, the run fails fast with a clear message instead of doing anything half‑way.
Untrusted payloads. Webhook bodies are treated strictly as data, never as instructions.
No silent no‑ops. If the agent says it made a change but the change didn't actually go through, the run is marked Failed — it won't report a green success for work that didn't happen.
Won't improvise around failures. If a write is rejected by Amazon, the agent stops and records why rather than retrying blindly or chaining into speculative attempts.
Example routines
All of these are written as the routine Agent Instructions. They assume Sponsored Products (where the agent can create and modify campaigns directly) and use placeholder product names — swap in your own.
Scheduled
Daily bid sweep (cut wasted spend) — Daily, 7am
Review the last 7 days of performance for my active Sponsored Products keyword and product targets. For any target with ACoS above 45% and at least 15 clicks, lower its bid by 15% — but never set a bid below $0.20. Don't touch auto campaigns. If yesterday's data looks incomplete, make no changes. Summarize every change you made and why.
Scale up the winners — Daily, 7am
Find my Sponsored Products campaigns that spent their full daily budget yesterday while keeping ACoS under 25%. Raise each one's daily budget by 20%, capped at $50/day. List the campaigns you changed with their old and new budgets.
Weekly negative‑keyword harvest — Weekly, Monday 8am
Look at the search‑term report for my garlic‑press campaigns over the last 30 days. For any customer search term with 20+ clicks and zero orders, add it as a negative exact keyword to that campaign. List every negative you added.
Placement tune‑up — Weekly, Monday 8am
Review Top‑of‑Search placement performance for my Spoons campaigns over the last 14 days. Where Top of Search converts well below the campaign average, reduce the Top‑of‑Search bid multiplier by 10 percentage points (never below 0%). Summarize the adjustments.
Morning health digest (read‑only) — Daily, 6am
Check yesterday's spend across all my campaigns. Flag any campaign whose spend was more than 3× its trailing 7‑day average, and any campaign with spend but zero sales. Don't change anything — just write a short summary I can read.
A note on digests. A read‑only routine writes its summary into the run transcript, and the sidebar lights up to flag the unread run. There's no email or Slack delivery yet — check the run in‑app.
Webhook (custom triggers)
Launch a campaign when a product goes live — Webhook
A new product has launched. Create a starter auto Sponsored Products campaign for the ASIN in the payload, using Autron's default budget and bid. Confirm the campaign you created.
Your inventory/PIM system POSTs {"asin": "B07NEWSKU"} when a SKU goes live.
Pull back spend when stock runs low — Webhook
Stock is running low for the ASIN in the payload. Pause all active Sponsored Products campaigns advertising that ASIN so we don't spend on something we can't fulfil. List what you paused.
Your inventory system POSTs {"asin": "B07ABC1234", "units_left": 12} when stock drops below a threshold.
These webhook examples let you wire Autron into tools you already use — an inventory system, a BI alert, a Zapier/Make automation, or your own scripts — so an agent run kicks off exactly when your business logic says it should.
Tips for getting the most out of routines
Match cadence to data. Amazon's reporting mostly refreshes daily — a daily morning sweep beats an hourly one for almost everything, and costs fewer credits.
Run now before you trust the schedule. Fire a new routine manually, read the transcript, and confirm it did what you expected before leaving it to run on its own.
Be specific and bounded. Name the scope, the threshold, the action, the limits, and the fallback. The tighter the brief, the safer the unattended run.
One seller per routine. Routines are pinned — duplicate the prompt across sellers rather than expecting one routine to fan out.
Review the first few runs. Skim the transcripts and the Action log after the first handful of fires to confirm the behaviour matches your intent, then let it ride.
Pause instead of delete when you want a temporary stop — deleting a routine also removes its run history.
Quick reference
You want to… | Do this |
Create a routine | Sidebar → Routines → New routine |
Run it every morning | Add a Scheduled trigger, Daily, set the time and timezone |
Fire it from another system | Add a Webhook trigger, POST to its URL with the |
Test before scheduling | Run now (webhook routines accept an optional test payload) |
See what a run did | Open the run from Recent runs or the ⚡ entry in the sidebar |
Audit every change | |
Stop it temporarily | Toggle the routine to Paused |
Change the secret | Regenerate secret on the Webhook card (old one valid 1 hour) |






