Writing a Letter to Santa With Jace: The Ultimate Inbox Agent Test

The Thread That Keeps Growing
December 18. Your kid sends the first message: "Dear Santa, I want a bike."
Simple. Clear. One requirement.
December 19. A follow-up lands: "Actually, can it be red? And my friend says there's a new video game. Can I have that too?"
Two requirements now. One constraint (color). One vague reference (which game?).
December 20. Another message, this time with an attachment: a screenshot of a wishlist from some online store. Fourteen items. No ranking. No budget context. The screenshot is slightly cropped.
December 21. "Oh and Grandma said she's already getting me the Legos so don't get those."
Four messages. One attachment. Conflicting information. Missing details. A deadline that doesn't move.
This is not a letter. This is an inbox thread.
And you're supposed to figure out what actually matters, what's missing, and what to do next.
The Real Bottleneck Is Not Typing
Most people think the hard part is writing the response.
It's not.
The hard part is context assembly. Pulling together the thread, the attachment, the prior constraints, the implicit priorities. Then deciding what's missing before you can even draft a reply.
A chatbot can write a beautiful letter. Eloquent. Proper salutation. Nice closing. It can even summarize the wishlist if you paste it in.
But that's not the job.
The job is:
- Extracting requirements from scattered messages
- Identifying what's missing or ambiguous
- Separating tangled issues (gifts vs. budget vs. timing)
- Prioritizing based on real constraints
- Producing a draft for approval, not a final output
This is inbox triage. And it's the difference between a chatbot and an inbox agent.
Why the Chatbot Passes but Fails the Real Test
Ask a chatbot to write a letter to Santa.
It does. A pretty one.
But behind that letter, the chaos remains. The requirements are still scattered. The missing info is still missing. The priorities are guessed, not reasoned.
The chatbot produces output. It doesn't prepare decisions.
An inbox agent, by contrast, doesn't start with the letter. It starts with the thread. It reads all the messages. It opens the attachment. It flags what's unclear. It asks exactly two questions instead of twenty. It separates issues that shouldn't be tangled. Then it produces a draft for approval.
You review. You adjust. You send.
Human-in-the-loop by default.

The Inbox Agent Test
Here's how an AI email assistant would handle the Santa letter thread.
Step 1: Extract Requirements
The agent reads all four messages and the attachment. It produces a summary:
Extracted requirements:
- Bike (must be red)
- Video game (unspecified title)
- 14 items from wishlist screenshot (see attached)
- Exclude: Legos (Grandma is handling)
No guessing. No embellishment. Just what's there.
Step 2: Flag Missing Info
The agent identifies gaps and surfaces exactly two clarifying questions:
- Which video game? (The friend's recommendation is unspecified.)
- Is there a budget limit for the total gift list?
Not twenty questions. Two. The ones that block progress.
Step 3: Separate Tangled Issues
The thread mixes three concerns:
- What gifts to request
- Delivery timing (implicit: Christmas Eve)
- Budget constraints (unstated)
An email agent separates these. It doesn't try to answer all three in one pass. It sequences them: clarify the gifts first, then address timing and budget in the draft.
Step 4: Prioritize Based on Rules
If you've told the agent: "Deadline is December 24. Must-haves get priority over nice-to-haves. Budget cap is $200."
It applies those rules. The bike (red, must-have) ranks first. The cropped wishlist gets flagged for review. The mystery video game gets held pending clarification.
Step 5: Produce a Draft for Approval
The agent writes the Santa letter draft:
Dear Santa,
Here is my list for this year:
- A red bike (most important)
- [Video game title - pending confirmation]
- From the wishlist: [top 3 items within budget - to be confirmed after review]
Note: Grandma is bringing the Legos, so those are off the list.
Thank you, [Name]
You review. You confirm the video game title. You approve.
Then it sends.
This is not automation. This is decision preparation.
A Simple Triage System
You can set up email labels to route threads through the same workflow.

| Label | Meaning | What Happens |
|---|---|---|
| Needs Reply | Thread requires a response | Agent drafts a reply for approval |
| Waiting | Sent a message, waiting on the other party | Agent queues a follow-up draft after 3 days |
| Review | Informational, no reply needed | Thread is archived after review |
Three buckets. Clear routing. Follow-up reminders built in.
The Rules and Templates Ceiling
Rules work. Templates work. Until they don't.
A rule can auto-label inbound emails by sender. A template can pre-fill a standard response. But neither can read a new thread, understand context, and adapt.
When the Santa letter gains a new requirement on December 20, a template doesn't update itself. When the attachment arrives, a rule doesn't open it.
Rules and templates hit a ceiling when context changes faster than your filters can keep up.
This is how Jace differs from rules-based tools. Rules automate actions based on conditions. An inbox agent assembles context and prepares decisions.
Both are useful. One handles the static. The other handles the rest.
How Jace Maps to Real Work
The Santa letter is a metaphor. But the workflow is the same for actual inbox threads.
Client request thread:
- 6 messages over 4 days
- One PDF attachment (project brief)
- One screenshot (design mockup)
- Conflicting asks in message 2 and message 5
Jace reads the thread and attachments. Summarizes the requirements. Flags the conflict. Drafts a reply asking for clarification on the two points that actually matter. You approve.
Invoice approval thread:
- Vendor sends invoice as PDF
- Your colleague replies with a question
- Vendor responds with an updated PDF
Jace opens both PDFs, highlights what changed, and drafts a short reply: "Confirmed. Updated invoice matches the agreed scope. Approved for payment." You review and send.
Scheduling thread:
- Client proposes 3 times
- Your calendar is already populated
- One of their times conflicts with an existing meeting
Jace checks your Google Calendar. Confirms availability. Drafts a reply accepting the open slot and suggesting an alternative for the conflict. One click.
Integrations: Context Lives Outside Email
Threads don't exist in isolation.
The invoice references a Google Drive folder. The client thread links to a Notion doc. The scheduling request depends on your calendar.
An inbox agent that only reads email is half-blind.
Jace connects to:
- Google Calendar (read/write) for scheduling
- Slack (search + send) for internal context
- Notion (search) for docs and wikis
- Google Drive / OneDrive (browse, upload, download, read, write) for files

When you ask Jace to draft a reply about the project timeline, it can pull the relevant doc from Notion, check the calendar for deadlines, and surface the latest file from Drive. All without you copying and pasting context into a chat window.
Context assembly. Automated.
Safety and Trust
Jace drafts replies for approval. Nothing sends without your explicit action.
Human-in-the-loop is the default. Any sending automation, if enabled, is explicitly configured by the user. It's not a default feature.
For sensitive threads (legal, HR, contracts), you review every word before it goes out. The agent prepares. You decide.
Compliance: SOC 2 Type 1 and CASA Tier 3 certified. Multi-account support up to 8 accounts on Pro. Gmail and Outlook via OAuth. Drafts sync back to your inbox so you see them in your native mail client.
When You Don't Need Jace
Not every inbox needs an agent.
You probably don't need Jace if:
- You receive fewer than 20 emails per day
- Most of your threads are single-message notifications
- Your replies follow the same 3 templates
- You rarely receive attachments or cross-platform context
In those cases, rules and templates will cover you. An inbox agent adds value when context assembly is the bottleneck. If your inbox is already simple, keep it simple.
When You Do Need Jace
You probably need an inbox agent if:
- Context is scattered across threads, attachments, and tools
- You spend more time reading than replying
- Follow-ups fall through the cracks
- You manage multiple accounts or inboxes
- Decisions require pulling in calendar, docs, or chat history
Email overload isn't about volume. It's about decision cost per thread.
If every email requires you to reassemble context before you can respond, an inbox agent pays for itself.
If your bottleneck is typing, use templates. If your bottleneck is context, use an agent.
FAQ
Does Jace send emails automatically by default?
No. Jace drafts replies for your approval. Human-in-the-loop is the default. Any sending automation, if enabled, is explicitly configured by the user.
Can Jace read attachments?
Yes. Jace reads full threads and attachments, including PDFs, docs, and images. It uses that context when preparing drafts.
Does it work with Gmail and Outlook?
Yes. Jace supports Gmail and Outlook via OAuth. Drafts sync back to your inbox so you can review them in your native mail client.
How do follow-up drafts work without risky automation?
Follow-up drafts are triggered by rules you set. For example, three days after a thread is labeled Waiting, Jace drafts a follow-up message. The draft appears for your review. You decide whether to send it, edit it, or skip it. The automation is in the drafting, not the sending. The approval stays with you.

