Sending & Drafting Email With AI Agents · 7 min read · Jun 30, 2026

Tone, Key Points, and Purpose: Getting the Most Out of Email Drafting Parameters

Drafting a request against /api/emails/generate or a drafted send call gives you four fields to work with: recipient, purpose, tone, and key_points, plus an optional sender name. Three of them — purpose, tone, and key_points — do the actual work of shaping what comes back, and each controls something different.

Purpose: the single thing the email is for

purpose is required, capped at 2000 characters, and answers one question: why is this email being sent? It's the field that determines the overall shape and intent of the draft — a follow-up reads differently from an apology, which reads differently from a status update, even before tone or key points are applied. Keep it to the goal, not the supporting detail:

"purpose": "ask for a short extension on the project deadline"

is doing its job better than a purpose that also tries to list every reason, every date, and every caveat in the same string — that detail belongs in key_points instead.

Tone: how it sounds, not what it says

tone is optional and freeform, and it shouldn't be asked to do purpose's job. It governs register and style — formal versus casual, terse versus warm — without changing what the email is actually about. Short, specific descriptions produce more consistent results than broad ones: "direct, no small talk" or "warm but professional, one short paragraph" land more predictably across repeated calls than a single word like "professional" on its own.

Key points: the facts that must appear

key_points is an array, and each item should be one concrete fact, instruction, or detail the draft needs to include — not a paragraph of narrative:

"key_points": ["new deadline request is two weeks", "deliverable scope is unchanged", "happy to discuss on a call"]

This is the field to lean on when something absolutely has to appear in the output — a date, a number, a specific commitment — rather than trusting that it'll come through implicitly from a well-written purpose.

How the three interact

Loosely: purpose sets the what, tone sets the how-it-sounds, and key_points sets the must-include facts. Overlap between them is where drafts get inconsistent — a purpose that also tries to specify tone, or key_points that restate the purpose instead of adding new facts, give the draft conflicting signals about what matters most. Keeping each field doing only its own job is the single biggest lever for getting predictable output across many calls. See designing prompts for reliable AI-drafted email for more on brief construction as a discipline, and the anatomy of a drafting call for where these fields sit in the full request lifecycle.

Sourcing key points from real data

An agent that triages its own inbox, for instance, can pull key_points directly from structured facts it already extracted — a ticket number, a status, a deadline — rather than re-deriving them from scratch for every reply. See building an agent that triages its own inbox for that pattern. The field works just as well fed by code as fed by a human writing a one-off brief.

Sender is simpler than it looks

sender is just an optional name used in the draft's signoff or framing — it doesn't change the authenticated From address, which is tied to the inbox's own address regardless of what's passed here.

Full field constraints — character limits, required versus optional — are listed in the drafting reference.

Before and after, on the same brief

A weak version of a brief often looks like this — everything crammed into purpose, nothing split out:

{ "purpose": "politely let jane know the shipment is delayed by a week and we are sorry, keep it brief and friendly" }

Split across the three fields it does better across repeated calls:

{
  "purpose": "notify about a shipment delay",
  "tone": "warm, brief, apologetic but not overdone",
  "key_points": ["new delivery estimate is one week later", "no action needed from the customer"]
}

Both produce a plausible email. The second is far more likely to produce the same plausible email on the next call, which matters once a brief template is being reused across many recipients rather than written once by hand.

What happens when a field conflicts with another

If tone says "formal" and purpose is phrased casually, or key_points includes something that contradicts purpose, the draft has to resolve that tension somehow — and which way it resolves isn't something a caller can predict or control field by field. The practical fix isn't a special escape hatch, it's simply keeping the three fields consistent with each other before the call goes out, the same discipline covered in designing prompts for reliable AI-drafted email.

When none of these three fields is the right tool

If the goal is to send text that must appear exactly as written — a disclosure, a quote, anything where even a well-tuned brief is the wrong level of control — that's what raw mode is for, covered in drafted vs raw email. These three fields are for cases where the goal, not the exact wording, is what's fixed.

New to agent email? Start with Email for Agents: The Complete Guide to Giving AI Agents a Real Inbox for the full picture.