Real personalization comes from the agent reasoning over data, not from more merge tokens. The pattern that works: give the agent rich context, constrain it with claim guardrails, and review a sample of drafts until you trust the output.
Reasoning beats tokens
Inserting {{company}} into a template scales badly and reads as automation. An agent that references a specific funding round, a job posting, or a product the account just shipped writes a first line that could only have been written for that prospect. That's the personalization that earns replies.
Feed the agent good context
The quality of personalization tracks the quality of the data the agent sees. Keep Golden DB enriched, keep signals flowing, and give the agent account context (positioning, proof points, target personas). Garbage in, generic out.
Constrain, don't script
Guardrails — claims the agent must never make, tone, length limits, required disclosures — keep personalization on-brand without hand-writing every email. This is the balance: freedom to be relevant, constraints to stay safe (see Configure agent guardrails).
Trust through review, then release
Start with drafts held for review so you can see how the agent personalizes. Once a template consistently produces good drafts, release lower-tier sends to auto and keep A-tier first-touches in review. Personalization scales as your trust in the agent scales.