Draft-Only Outbox: every agent its own address, nothing sent without a logged yes
by PaperChaseWebb
A free kit for owners whose agents write email. Give each agent its own address and keep it on drafts by default. An agent you trust can send to the people you listed, under a daily cap, as long as the draft has no money or contract words. Everything else waits in a queue for your yes, the yes covers that exact text, and your sender calls a gate before every send. A log shows who said yes, when, and what went out.
- Price
- Free
- Difficulty
- Beginner
- Setup
- 15 min
- Format
- .md file
draft-only-outbox-every-agent-its-own-address-nothing-sent-without-a-logged-yes.md · 32 KB · direct download, no signup
What you end up with
You can say which agent wrote any message, who allowed it, and that the text sent is the text approved.
What you get
- The method: one address per agent, drafts by default, a short allow list and cap for routine notes, and the owner's yes for the rest
- outbox.py: 8 rules checks and 7 reasons a draft is held or blocked (unknown agent, wrong sender, no recipient, draft only, off the allow list, hold word, over the cap)
- queue.md each run, and a gate your sender calls before each send that releases a draft once
- The owner's yes refused inside an agent session, without a terminal, for a blocked draft and from anyone but the owner; any edit after the yes stops the send
- AGENTS.md, CLAUDE.md, a Grok Bot standing order and a Hermes skill, a fictional example, and 35 tests
Who it is for
Owners and small teams whose agents draft or send email for the business.
Works with
Solid chips: the agent is named in this listing's own tools list. Dashed chip: One Python script, a rules template, a fictional firm with two agents and eight drafts, and agent rules for each harness. Tested on Linux.
Tools needed
Cost to run: Free. Python is free.
Time to result: First queue in about 10 minutes
How it works
Run the example
Unpack the file and run python3 outbox.py scan example/rules.json example/outbox.csv out/.
Expected: 2 clear, 4 need a yes (one per reason) and 2 blocked.
Write your rules
Copy templates/rules.json, add each agent with its own address, all draft only to start.
Expected: outbox.py check shows rules OK.
Wire the gate
Make your sender call outbox.py gate before each send and stop on anything but exit 0.
Expected: A clear draft goes once; a second call says no-go.
Say yes at your own terminal
Read the held draft, then run approve and type send.
Expected: The log shows your yes; edit the draft and gate says no-go.
Sample prompts, free to use
Follow AGENTS.md. Add your draft to outbox.csv under your own name and address, run outbox.py scan, and send the owner queue.md if anything is held or blocked. Call outbox.py gate before each send and send only on exit 0. Do not approve, edit rules.json or the log, or retry a refused send another way.
One prompt.
Free preview of the file
# Draft-Only Outbox **Give every agent its own address and keep it on drafts by default. Routine notes to people you listed can go out under a daily cap; anything else waits for your yes, and the log shows who said yes, when, and to which exact text.** Version 1.0, 2026-11-04. By PaperChaseWebb Inc. Free. Works with Grok Bot, Claude Code, Codex and Hermes, or by hand. Python 3.8 or newer, no installs. ## The problem Agents that write email usually share one inbox, often the owner's. When a wrong message goes out, nobody can say which agent wrote it, who allowed it, or whether the text that went out is the text that was approved. The usual fix, turning sending off entirely, stalls the routine reminders that were the point of the agent. This kit draws the line in a file. Each agent sends as itself. Drafts addressed to people you listed, under a daily cap and free of money or contract words, may go. Everything else waits for the owner, and a yes covers one draft exactly as it read. ## What you get out of it - queue.md: every draft sorted into clear, needs your yes, or blocked, with the reason. - A gate your sender calls before each send. Exit 0 means go; anything else means stop. A draft goes once. - sendlog.jsonl: each yes and each release, with who, when, the recipients and a fingerprint of the text. - A setup your agents can run without being able to approve their own mail. ## Who it is for Owners and small teams running one or more agents that draft or send email fo
Test record
- Date
- Nov 4, 2026
- What was run
- tests/test_outbox.py (35 tests) unpacked from the pack file and run fresh on Linux, Python 3.8, 3.9, 3.11, 3.12 and 3.13; check, scan, approve, gate and status on the fictional example.
- Result
- 35 passed, 0 failed on all five versions; the example sorts 2 drafts clear, 4 held (one per reason) and 2 blocked; the yes is refused in agent sessions, without a terminal, for the wrong name, without the typed word and for a blocked draft; an edit after a yes stops the send; a draft is released once; the rules and drafts are never modified.
- Not run
- macOS or Windows. A real mail provider or sender. A live Grok Bot, Claude Code, Codex or Hermes session.
Copied from this item's dated test notes. What was not run stays in.
Worth knowing
- It covers the drafts your sender passes through the gate. Mail sent another way is not covered, so remove direct send access where you can.
- Hold words are plain word matches. They catch the obvious, not every risky message.
- On 2026-11-04: 35 tests passed on Python 3.8, 3.9, 3.11, 3.12 and 3.13 on Linux, run from the files unpacked out of the pack. Agent rules guide; they were not loaded inside each harness for this release.
- It does not set up your mail provider or check sender authentication.
Questions
Does it send the email?
No. Your sender does. The kit decides whether a draft may go, and your sender asks it right before each send.
Can my agent approve its own draft?
No. The yes is refused inside an agent session, without a terminal and for anyone but the owner named in the rules.
What if a draft changes after I said yes?
The yes covers the exact text. Any change makes the gate say no-go until you look again.
What should I pair it with?
Ask-first rules for AI agents ($19) set the hard nos for every agent action, and the Email Sender Fix Desk ($29) covers unsubscribe links and sender setup.
Details
Version 1.0 · Updated Nov 4, 2026 · Markdown version of this page
License: Personal and commercial use. Download terms
Related

Ask-first rules for AI agents: hard nos, approval cards and a test set
Paste-in rules that make an agent ask before it sends, spends, posts or deletes, define what a real yes is, and stop retries after a no, plus 12 test scenarios to check it.

Earned Autonomy Ladder: agents earn each level from their record and your yes
A free kit for owners moving agents from drafting to doing. Every agent action gets its own level: watch, draft, act and report, or act within a limit. A lane moves up one level only after enough clean runs over enough days and only with your yes at your own terminal. A reverted run drops it a level, an incident drops it to watch, and payments, first contact, deletes, contracts, public posts and credentials stay on draft for good.

Email Sender Fix Desk: agent fixes for one-click unsubscribe, footers and SPF, DKIM and DMARC, checked against the original, owner approved
Let an agent put the one-click unsubscribe headers, a visible unsubscribe link and your postal address into your newsletters, and propose clean SPF, DKIM and DMARC records, the things Gmail, Yahoo and Outlook ask senders for. It writes fixed copies and never sends or touches DNS. A fix check refuses deleted words, made-up addresses, tracking pixels and hidden links. A records check refuses dropped senders, invented keys and DMARC jumped straight to reject. You approve at your terminal and make the change yourself.

n8n with AI Agents: six tested workflows, an Approve step before every send, and a checker
Six n8n 2 workflows a service business uses every week (lead reply, invoice reminders, review requests, a daily report, an agent request gate and an error alert), each imported and run on a real n8n. Every outside email waits for the owner's Approve click, and Decline or silence sends nothing. A read-only checker finds the same faults in any export, including templates you bought, and a go-live card ties the owner's sign-off to the exact file.

Gmail inbox triage bot: label, summarize and draft replies for review
A Google Apps Script bot that labels new mail, saves draft replies for your review and emails a morning digest to you only, with an offline test you can run before it touches your inbox.
Start free. Buy a file. Or have it built for you.
Free samples
Read and download in full. No signup.
Marketplace
Packs, templates, prompts and bots. One-time checkout, instant download.
Agency AI operations
Built, installed and managed. Growth Fleet starting at $2,500 setup + $750/mo, Managed Ops starting at $2,500 onboarding + $5,000/mo with a 3-month minimum.