“Every Monday I spend four hours copying order details from emails into our system.”
Automate it
Worth automating. About 17 hours a month back, paying for itself in 9.7 months.
175 of these a month at 6 minutes each is $1,126 of someone's time. Running it costs $138.
Some runs come back to you, which eats into the saving.
you said only the unusual ones get checked; we assumed that's 25% of them
create order — this one needs to ask first.
Often enough that saved minutes add up.
you said "once a week", 40 each time — that's about 173 a month
Long enough that handing it over is worth something.
you told us it's 6 minutes each
$1,126 of time a month against $138 to run it.
we treat inside 12 months as worth doing and past 18 as not — those cut-offs are our judgement, not arithmetic
There's a step here that needs reading and interpreting, which is what AI is actually for.
- At 175 a month it pays back in 9.7 months. Below about 140 a month it stops being worth it.
- That $9,600 is what it costs to get this running reliably — setup, a test set, and the first month of fixing it. Set it up yourself over a weekend instead and it's nearer $650 — payback drops to about 0.7 months.
$9,600 ÷ (12 months × $5.70 saved per run) = 140 a month
Take it to a builder
We don't build it. Your builder does that better than we ever could — it knows every one of its own connectors. Copy this and paste it in.
Open n8n, start a new workflow, and click the ✨ AI button. Paste this in.
Paste into n8n's AI workflow builder. Names the real nodes and says what n8n won't enforce.
Build me this workflow. I've had it designed already — the detail below is deliberate, so please follow it rather than simplifying it.
## What it should do
Take order details out of Monday-morning emails and put them into the order system without a person doing the copying.
**Finished looks like:** By 10am every Monday, all weekend order emails are in the system.
## When it should run
About 40 emails every Monday morning.
Use a Schedule Trigger node (n8n-nodes-base.scheduleTrigger).
## The steps, in order
1. **read inbox** — Look at emails in the sales inbox.
- It needs: since
2. **extract order fields** — Pull order details out of an email body or attached PDF.
- It needs: message id
3. **create order** — Create the order in the system. Permanent — asks you first when confidence is low.
- This one is permanent. It cannot be undone once it runs.
- **Stop and wait for a person to approve before this runs.** Why: High-value mistakes are hard to walk back.
- It needs: customer id, lines, idempotency key
- If the input is wrong, the message back should be: "Order rejected: check customer_id and line items."
4. **flag for review** — Send an unclear email to the review queue with the reason.
- It needs: message id, reason
## Accounts to connect
- Email (Gmail or Outlook)
- The order system
- The customer list
Use my own credentials for each. Don't hardcode anything.
## Must-haves — please don't skip these
- 2 steps change something outside the system: create order, flag for review. Point them at a test account first.
- Approvals must actually block. A notification that carries on regardless is not an approval.
Use a Wait node (n8n-nodes-base.wait) in "On webhook call" resume mode — send the approver {{ $execution.resumeUrl }} and nothing downstream runs until they open it.
- Retry only on: timeout, rate_limited, transient_5xx. Never retry on: invalid_customer, duplicate_order.
Set this with the node's own "Retry On Fail" setting, with Max Tries and Wait Between Tries.
- When a step fails: retry the failing step twice, then flag for review with the exact error.
- Before **create order**, check it hasn't already been done — key off `source_msg_id`.
Mint those keys once with a Set node at the top of the workflow to mint the run id and any dedupe keys.
- Stop and alert me if spending passes $2 on one run or $80 in a day.
Track a running total and gate it with an IF node (n8n-nodes-base.if), routing the false branch to a NoOp that stops the run.
- Give up after 21 steps across the whole run rather than looping.
## What n8n won't enforce on its own
A workflow engine. Strong on steps and approvals, blind to agent loops. So after you've built it, these are on me — please leave a note in the workflow for each:
- **Iteration ceiling** — the design asks for stop after 8 iterations. Add an execution counter and hard-fail past the limit, or the agent can loop until the bill stops it.
- **Sandbox isolation** — the design asks for inside your infrastructure. No email or order data leaves it. Run it somewhere with least privilege. The target gives you no isolation.
- **Eval harness** — the design asks for no drop in field accuracy before a prompt change ships. Run the golden set manually before each change. Nothing here will gate a regression.
- **Typed tool schemas** — the design asks for 4 tools with typed input schemas. Validate the payload yourself before the call, or the model will invent fields.
- **Spend ceiling** — the design asks for USD 2.00 per email. Set a spend alert on the model provider — the platform will not stop for you.
- **Idempotency keys** — the design asks for create_order → source_msg_id. Deduplicate on your side before the write, or a retry will double-apply it.
---
Designed with RIG. RIG works out whether a job is worth automating and writes the brief — it doesn't build or run anything.Their builder will get most of this right and some of it wrong — it always does. The part worth checking is the approvals: builders like adding a notification where the design asked for a hard stop. Everything under "what it won't enforce" is genuinely on you.