> ## Documentation Index
> Fetch the complete documentation index at: https://docs.inflection.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Personalized Email Asset

> One email asset, a unique version per contact — a default email plus per-contact versions pushed in over the API or MCP.

A **personalized email** sends a different version of the same email to each contact — full custom copy, not just merged tokens — while keeping one asset, one journey step, and your usual deliverability and reporting. It's built for AI-generated 1:1 outreach at scale.

Every personalized email holds two things:

* a **default email** — the fallback everyone gets, and
* a store of **per-contact versions** — pushed in over the API or MCP.

At send time, each contact gets their own version if one exists; everyone else gets the default. No blank sends.

<Info>
  **How it resolves:** for each contact at the **Send email** step → their version if it's ready, otherwise the default email. Evaluated per contact, when they reach the step.
</Info>

<video src="https://mintcdn.com/inflection-4b2c0de4/8rRA_nhOT-4jty8-/videos/per-contact-asset.mp4?fit=max&auto=format&n=8rRA_nhOT-4jty8-&q=85&s=b546207b34d369abd47285d1058f0a85" controls data-path="videos/per-contact-asset.mp4" />

## Create a Personalized Email

1. Go to **Emails** → **New Email**.
2. Choose **Per-Contact** as the editor type and give it a name.
3. Pick the **default email** — the fallback sent to anyone without a version. It must be an existing, sendable email (Visual or HTML).
4. Create. You land on the asset's **Versions** page.

<img src="https://mintcdn.com/inflection-4b2c0de4/wMGpDV4oPEQK12Zk/images/agents/personalized-email/01.gif?s=99a4d934193fd1d7b625407488664db9" alt="Creating a personalized email by choosing the Per-Contact editor type and selecting a default email" width="1000" height="625" data-path="images/agents/personalized-email/01.gif" />

## The Asset at a Glance

The **Versions** page is the home of a personalized email. It has three tabs — **Versions**, **How to add versions**, and **Activity**. The **Versions** tab shows:

* **Stats strip** — Unique versions, Rejected (30d), and Last received.
* **Default email** card — the fallback, with a thumbnail and a **Change** button.
* **Per-contact versions** table — one row per contact (Contact · Status · Source · Updated), searchable by exact contact email.

<img src="https://mintcdn.com/inflection-4b2c0de4/wMGpDV4oPEQK12Zk/images/agents/personalized-email/02.png?fit=max&auto=format&n=wMGpDV4oPEQK12Zk&q=85&s=d52ba9c0fbc4f6f1613bb263fa26e4cc" alt="Versions tab showing the stats strip, default email card, and per-contact versions table" width="2880" height="1800" data-path="images/agents/personalized-email/02.png" />

## Set or Change the Default Email

The default email is **required** — a personalized email can't run without one. To change it, click **Change** on the Default email card, pick another sendable email, and it's saved. Only Visual or HTML emails can be the default (not other personalized or AI emails). The default email also supplies the sender configuration for the asset — from name, from address, and reply-to all come from the default.

## Add Per-Contact Versions

Versions are pushed in programmatically — never typed in the dashboard. Open the **How to add versions** tab for the exact endpoint and MCP tool for this asset.

* **API** — for webhooks and backend integrations. `POST` the asset's endpoint (shown on the **How to add versions** tab) with a `Bearer` access token and a JSON body of `{ assetId, email, subject, preheader, html }` — add an optional `expiresAt` to expire the version. The access token comes from a connected app.
* **MCP** — for AI agents in Claude, ChatGPT, or any MCP client. Connect the [Inflection MCP](/agents/inflection-mcp), then ask in plain language, for example: "Add a personalized version on this asset for [contact@example.com](mailto:contact@example.com) — subject 'A note just for you' and an HTML body that includes an unsubscribe link."

Each version is validated on arrival: the contact must resolve to a known person, the HTML must include the unsubscribe link, be well-formed, contain no other tokens, and stay within the 500 KB size limit. Anything that fails is marked **Rejected** (with a reason) and the default sends instead — never blank.

<img src="https://mintcdn.com/inflection-4b2c0de4/wMGpDV4oPEQK12Zk/images/agents/personalized-email/03.png?fit=max&auto=format&n=wMGpDV4oPEQK12Zk&q=85&s=a7b153578126f003d3e9bfd9f156a17a" alt="How to add versions tab showing the API endpoint and the MCP prompt for pushing versions" width="2880" height="1800" data-path="images/agents/personalized-email/03.png" />

## Review Coverage and Preview a Version

The stats strip tells you how many contacts have a version. To check exactly what a contact will receive, click their row in the versions table to open a live preview of their email.

<img src="https://mintcdn.com/inflection-4b2c0de4/wMGpDV4oPEQK12Zk/images/agents/personalized-email/04.png?fit=max&auto=format&n=wMGpDV4oPEQK12Zk&q=85&s=1463538d938366f5cd9fd65477af4bf1" alt="Live preview of a contact's personalized version opened from the versions table" width="3020" height="1648" data-path="images/agents/personalized-email/04.png" />

## Track Changes in Activity

The **Activity** tab is the audit trail: every version **created**, **updated**, **deleted**, or **rejected** (with its reason), filterable by action and source.

<img src="https://mintcdn.com/inflection-4b2c0de4/wMGpDV4oPEQK12Zk/images/agents/personalized-email/05.png?fit=max&auto=format&n=wMGpDV4oPEQK12Zk&q=85&s=68043ccc026e4ba6579f2971bf883573" alt="Activity tab listing version events with time, contact, action, source, and actor" width="2880" height="1800" data-path="images/agents/personalized-email/05.png" />

## Send It in a Journey

Add a **Send email** step and pick the personalized email. The step shows a **Personalized · falls back to default** pill so you know it resolves per contact. When a contact reaches the step, they get their version if it's ready, otherwise the default.

<img src="https://mintcdn.com/inflection-4b2c0de4/wMGpDV4oPEQK12Zk/images/agents/personalized-email/06.png?fit=max&auto=format&n=wMGpDV4oPEQK12Zk&q=85&s=b5c403f966e70dc161d22a785a0b0a7d" alt="Journey canvas with a Send email step configured with a personalized email" width="3024" height="1654" data-path="images/agents/personalized-email/06.png" />

## See a Contact's Personalized Versions

On any contact's detail page, the **Personalised assets** tab lists every personalized email that contact has a version for — with its status, source, and last updated.

<img src="https://mintcdn.com/inflection-4b2c0de4/wMGpDV4oPEQK12Zk/images/agents/personalized-email/07.png?fit=max&auto=format&n=wMGpDV4oPEQK12Zk&q=85&s=492ac085f39477d72457021001d4677c" alt="Contact detail page with the Personalised assets tab listing the contact's versions" width="2880" height="1800" data-path="images/agents/personalized-email/07.png" />

<Info>
  **In short:** one asset = a default email + a per-contact version store. Push versions over API/MCP, review coverage, and send in a journey — each contact gets their version, everyone else gets the default.
</Info>

## Good to Know

* **One asset, one journey step** — resolution happens per contact at send time, so reporting and deliverability work exactly like a normal email.
* **The default is mandatory** — the asset can't run without a sendable default.
* **Versions are programmatic** — pushed over API or MCP, never typed in the dashboard.

## Additional Resources

* [Send Personalized Emails from Clay](/agents/send-personalized-emails-from-clay) — push per-contact versions from a Clay table
* [Integrate with Claude](/agents/integrate-with-claude) — add versions by chatting with an AI agent
* [Inflection MCP](/agents/inflection-mcp) — the complete tool reference
