Every email agent project follows the same arc. Week one: amazement. Week two: the team reads every draft word-for-word before sending, which is slower than writing it themselves. Week three: quiet abandonment.
The failure isn't quality. Modern models draft well. The failure is that trust was never designed, it was assumed.
Earn autonomy per category, not all at once
"Should the agent send automatically?" is the wrong question, because the answer differs wildly by email type. Split the inbox into categories and give each its own autonomy level:
- Auto-send: meeting confirmations, document receipts, availability replies, "here's the link you asked for". Low risk, high volume, boring.
- Draft for approval: pricing questions, scope discussions, anything involving a commitment or a number.
- Triage only: complaints, legal, anything where tone carries real consequence. The agent labels, summarises and surfaces it, a human writes it.
Start with the first bucket only. Let it run for a fortnight. When the team notices that nothing embarrassing happened, move one category up. Trust compounds; it can't be front-loaded.
Voice comes from examples, not adjectives
Telling a model to be "professional but friendly" produces exactly the generic output everyone can smell. Instead, pull 30–50 real sent emails covering your common scenarios and use them directly as few-shot examples, selected by category at runtime.
What actually carries voice is mechanical: sentence length, whether you open with a greeting, whether you use the person's name, how you sign off, whether you use em dashes or full stops. Extract those as explicit rules alongside the examples.
The fastest way to make an agent sound like you is to stop describing your voice and start showing it.
Ground it or it will invent
An email agent without retrieval will confidently quote a price you stopped charging last year. Before drafting, it should pull: the full thread, the CRM record, current pricing, the relevant product docs and any past threads with that contact.
Then add the rule that matters most, if the answer isn't in the retrieved context, the agent must not guess. It flags the gap and asks a human. An agent that says "I don't know the answer to their second question" is infinitely more valuable than one that invents a plausible one.
Follow-ups are where the money is
The drafting saves time. The follow-ups make revenue, because they're what humans reliably fail to do. The agent tracks every thread awaiting a reply, fires a nudge on your cadence, varies the angle rather than resending the same message, and stops instantly on any reply, including an out-of-office, which should reschedule rather than cancel.
This single behaviour is usually the highest-ROI part of the whole build, and it needs no creativity at all.
Make the exceptions visible
Give the team one view: threads awaiting approval, threads the agent escalated, threads that have gone quiet. That's the daily workflow. If reviewing the agent's work means scrolling an inbox, people will default back to doing the work manually.
Measure what improved
Capture the baseline before go-live: median first-response time, percentage of threads with no reply after 48 hours, hours per week spent in the inbox. Then track edit distance on drafts, how much humans change before sending. When that number falls week over week, you have evidence for promoting another category to auto-send. That's what trust looks like in numbers.
Want this built, not just read?
Tell us the workflow that's eating your week. Thirty minutes, no deck.