An email agent needs memory, not a longer prompt.
A longer prompt can carry more text into one decision. Memory lets a system make the next decision from durable customer state, current policy, approved plans, execution receipts, and evidence, with a way to correct and forget each one.
By Moosewave
Published · 13 min read

The short answer
Memory is state you can inspect, correct, and forget.
An AI email agent does not need every word it has ever seen. It needs the smallest durable record required to act consistently across time.
- 01Customer state: current eligibility, consent, suppression, preference, identity, and lifecycle facts.
- 02Workspace policy: who may do what, with which data, domains, claims, tools, budgets, and limits.
- 03Campaign record: the goal, audience, artifact, checks, approval, schedule, and exact version that was authorized.
- 04Execution receipt: what ran, once, through which provider, for whom, with which failures and exclusions.
- 05Evidence: observed outcomes, measurement assumptions, uncertainty, and what should change in the next plan.
Working context can help assemble those records. It should disappear when the task ends unless an explicit, authorized write promotes one bounded fact into durable state.
A context window is a desk, not a filing cabinet
When an agent forgets something, the tempting response is to make the prompt longer. Put in the brand guide, the last campaign, a customer export, a dozen support notes, the entire conversation, and a paragraph asking the model to remember it all next time.
This works until it matters. The conversation is truncated. A newer fact contradicts an older one. A permission changes. A summary loses an exclusion. A new model reads the same prose differently. Text retrieved from an untrusted document looks like policy. Nobody can say which sentence authorized the send or when it became stale.
A prompt can remind the model. Memory must let the product remain true when the model is gone.
A context window is temporary working space. It contains the evidence and instructions useful for one decision. Durable memory belongs outside it, in records with identity, provenance, versions, access rules, and expiry. The model may propose a memory write; it should not decide by itself that a persuasive sentence deserves to live forever.
This follows yesterday’s field note, The prompt is not the campaign. A structured campaign plan is the first durable object. It is not the only one the system needs.
Give every memory a writer, reader, and ending
“Agent memory” is too broad to be a control. Customer consent and a draft subject line are both facts the agent may see, but they should not share an owner, lifespan, or write path. Separate them before deciding how retrieval works.
| Memory | Authoritative writer | Typical lifespan | Must never become |
|---|---|---|---|
| Working context | Task orchestrator | One task or short session | An accidental permanent transcript |
| Customer state | Consent, CRM, commerce, and event systems | Until corrected, revoked, or purpose expires | An unsupported model inference |
| Workspace policy | Authorized workspace owner or policy service | Versioned while active | An instruction retrieved from content |
| Campaign record | Requester, system checks, and approver | Immutable version under retention policy | A mutable chat summary |
| Execution receipt | Execution service and provider events | Defined operational history | A model’s claim that it probably sent |
| Evidence and learning | Measurement pipeline and accountable reviewer | Until superseded or no longer useful | Correlation rewritten as causal fact |
Each durable record should carry its source, subject, observed time, version, confidence where relevant, purpose, access policy, expiry, and correction path. That sounds less magical than “infinite memory.” It is also much more useful.
Remember the customer as current state, not a story
Customer memory should answer the question the action needs. Is this person eligible for this message now? Which identity is permitted? What did they explicitly prefer? Which purchase, lifecycle step, complaint, bounce, or unsubscribe changes the decision?
It should not be a poetic paragraph about the person. Model summaries age badly and blur fact with inference. “Interested in premium products” may have been guessed from one click. “Purchased plan A on 14 August from source order 842” is a fact with a source and time. The first may help a hypothesis; the second can safely drive a rule if policy permits it.
Moosewave’s audience layer resolves permission, suppression, attributes, and recent behavior into present eligibility. The system can preserve the original evidence while recomputing the answer. That matters because an old “yes” must not outvote a newer unsubscribe, complaint, purchase, or frequency cap.
Identity deserves the same care. Two addresses may belong to one person; one address may be shared. A confident join is not the same as a proven join. Store how the relationship was established and let uncertainty narrow personalization rather than encouraging the agent to invent intimacy.
Policy memory tells the agent what remains allowed
Customer state says what is true about the recipient. Workspace policy says what the system may do about it. That includes tool scopes, approved domains and sender identities, data fields, claims, templates, markets, budgets, volume, quiet hours, approval thresholds, and kill switches.
Policy has to be versioned because authority changes. A person leaves the team. A connection is revoked. A claim expires. A new market needs review. A sending domain enters recovery. Pending plans that depended on the old version should become invalid, not inherit yesterday’s authority through a cached prompt.
Keep policy in a channel retrieved content cannot edit. A support ticket, webpage, email, document, or tool result can supply evidence. It cannot say “ignore the limit” and become a new limit. This is the practical memory counterpart to the permissions and approval model in What should an email agent be allowed to do?
At decision time, store which policy version was evaluated. At execution time, resolve it again. The plan stays immutable; the world is allowed to become stricter before a message leaves.
The approved plan is memory with a signature
A campaign record holds the exact proposition that moved from idea to authorized work: goal and non-goal, audience query and exclusions, content and links, sender, schedule, cost, validations, unresolved warnings, measurement plan, and the person or standing policy that approved it.
Do not overwrite it when the campaign changes. Create a new version and show the difference. If an agent narrows the audience after a stock change, the old plan remains evidence of what was considered; the new plan becomes the candidate for approval. History is valuable precisely because it cannot be edited into looking inevitable.
The content artifact needs the same identity. An approved template with fixed legal and brand regions is not the same as a model’s later rewrite. Moosewave templates preserve variables, protected language, and review boundaries while letting the agent propose copy inside the parts that are actually editable.
This memory also makes a campaign resumable. A different operator, device, or agent can pick up the work without asking a model to reconstruct the plan from conversation. The system knows what is decided, what is pending, and what has expired.
Execution memory begins where confidence ends
After a send request, the agent should not remember “I sent it.” It should have a receipt from the execution system: idempotency key, frozen plan version, final eligible count, exclusions, provider job ID, accepted and rejected requests, cost, timestamps, retries, and later events.
The distinction matters when a network response disappears. The provider may have accepted the job even though Moosewave did not receive the answer. A retry with the same operation identity must recover the existing result rather than infer failure and send twice. Memory is what makes uncertainty survivable.
The same contract appears in the transactional email API: every request has a durable identity and status history. Webhooks add observations; they do not erase the original request. The field notes on idempotent retries and webhook evidence go deeper into those two edges.
Receipt memory should be queryable and bounded. It exists to reconcile, explain, cancel where possible, and prevent duplicates, not to preserve every secret or payload forever.
Store evidence separately from the lesson
An agent should learn from prior campaigns, but “learn” is a dangerous verb when it hides what became durable. The system should preserve observations first: delivery events, filtered clicks, replies, conversions, complaints, unsubscribes, exclusions, spend, interventions, and holdout results.
A conclusion belongs beside that evidence, not on top of it. “The shorter subject caused more purchases” may be a hypothesis. A randomized comparison may support it. A last-touch dashboard cannot establish it by itself. Store the measurement method, population, window, uncertainty, and who accepted the interpretation.
Moosewave analytics distinguishes observed, attributed, and incremental outcomes. The previous essay on conversion and incrementality explains why those memories answer different questions.
The next plan can retrieve a compact learning record: what was tried, which population saw it, what changed, what remains uncertain, and when the evidence stops being relevant. It does not need a model-authored mythology of the brand’s entire marketing history.
A trustworthy memory system knows how to forget
Memory sounds like a product feature. Forgetting sounds like loss. In a governed system, forgetting is part of correctness. A revoked connection should disappear from future tool discovery. Deleted or corrected customer data should stop returning. Expired policy should not authorize new work. Temporary context should evaporate after its purpose.
Give every category its own retention and deletion behavior. A draft can expire quickly. A customer preference remains current until changed, then keeps only the history required by policy. An execution receipt may need a longer immutable window. A derived audience prediction should disappear when its source, purpose, or confidence no longer supports it.
Deletion also needs dependency handling. If a source fact is corrected, plans built on it can be marked stale. If tool authority is revoked, pending jobs using that tool are invalidated. If a person requests removal under an applicable process, caches and retrieval indexes must not quietly resurrect the record after the source is gone.
Do not make raw transcripts the backup plan. They collect names, pasted secrets, speculative language, unrelated customer details, and instructions with no durable authority. Keep the bounded decision record; discard the conversational exhaust.
MCP can carry context without becoming the memory
The Model Context Protocol distinguishes resources that provide context from tools that perform actions. A Moosewave MCP client can read an approved audience definition, inspect a campaign plan, or invoke a bounded preview tool through a consistent interface.
That interface is not the source of truth. The application still decides which system owns a record, who may read or write it, how fresh it must be, what version was used, and when it expires. Authorization defines access to a resource; it does not define that resource’s retention policy or make a model summary authoritative.
The Moosewave MCP layer therefore exposes named, narrow resources and operations. Customer state, policy, plans, and receipts keep their own identities. Read does not imply write. A tool call cannot widen the caller’s memory scope. Sensitive writes return to the same policy and approval boundary as the product UI.
This makes memory portable without making it promiscuous. An authorized agent can continue work across desktop, mobile, or another MCP host, while the durable record remains in the governed system that can explain and revoke it.
How memory moves through Moosewave
A Moosewave request begins with temporary context: the goal a person describes and the evidence needed to interpret it. The agent retrieves only relevant, permitted memory. It resolves current customer state and active policy, then creates a structured campaign plan rather than lengthening the chat.
Approval freezes the plan version. Execution rechecks volatile state, runs once, and creates a receipt. Provider and customer events append observations. Analytics separates evidence from interpretation. A bounded learning record can inform the next plan; the temporary prompt and unused context are allowed to disappear.
The connected ecosystem matters because each memory can remain close to its source. Audiences own eligibility. Automations own lifecycle state. Templates own protected structure. Integrations own their connection boundary. Analytics owns measurement evidence. The agent coordinates them without pretending to become all of them.
Open the interactive walkthrough to follow that handoff from goal to plan, approval, execution, and outcome. The product should feel continuous because the right state persists, not because every conversation is kept forever.
Frequently asked questions
Direct answers about AI agent memory, context windows, customer state, MCP, stale data, auditing, and forgetting.
What is AI agent memory?
AI agent memory is durable, governed state that can be retrieved across tasks. Useful memory has a source, schema, owner, timestamp, permission boundary, correction path, and retention rule. A conversation transcript or model summary is context, not automatically trustworthy memory.
How is agent memory different from a context window?
A context window is the temporary information available to a model during one operation. Memory survives beyond that operation and must remain consistent when prompts are shortened, models change, or a task is resumed later. Context helps reasoning; memory preserves product truth.
What should an AI email agent remember?
It should retrieve only the state needed for the job: current customer eligibility and preferences, active workspace policy, approved campaign-plan versions, execution receipts, and measured evidence from prior work. Each category needs a different writer, lifespan, and authority.
Should an email agent remember customer data?
Only data that is necessary, permitted, current, and retained for a defined purpose. The source system should remain authoritative. Sensitive inferences, raw transcripts, secrets, and fields unrelated to the task should not become durable memory merely because the model encountered them.
How do you stop an AI agent from using stale memory?
Store provenance, version, observed time, expiry, and freshness rules with each record. Re-resolve volatile facts at decision and execution time, reject conflicting or expired state, and make corrections invalidate dependent plans rather than silently editing history.
Does MCP provide memory for an AI agent?
MCP can expose resources and tools through which an agent reads or changes state. It does not decide which database is authoritative, what should be retained, who may write it, or when it must be forgotten. Those remain application and workspace responsibilities.
How should AI agent memory be audited?
For consequential decisions, record which memory items were read, their source and version, what policy authorized access, what the agent proposed, what changed, and which receipt resulted. Avoid logging secrets or unrelated personal data simply to make the log larger.
Can an AI email agent forget information?
It should. Working context should expire quickly; revoked permissions, deleted data, obsolete policies, and completed retention periods must stop future retrieval. Some records, such as immutable execution receipts, may be retained under a defined operational or legal policy while access remains tightly scoped.
Sources & method
Protocol, risk, sender, and execution guidance
Primary sources establish protocol, risk-management, sender, unsubscribe, and idempotency boundaries. The memory model and email operating flow are Moosewave’s product synthesis.
- Model Context Protocol 2025-11-25, Resources. Defines how servers expose contextual data and how clients can discover, read, and subscribe to resources.
- Model Context Protocol 2025-11-25, Tools. Covers tool discovery and invocation, validation, human visibility, confirmation, and logging guidance.
- Model Context Protocol 2025-11-25, Authorization. Defines protected-resource authorization, audience-bound tokens, validation, and least-privilege behavior.
- NIST, AI Risk Management Framework. Voluntary lifecycle guidance organized around Govern, Map, Measure, and Manage.
- NIST AI 600-1, Generative AI Profile. A companion profile for risks distinctive to or intensified by generative AI.
- Google, Email sender guidelines. Current authentication, subscription, unsubscribe, spam-rate, and delivery requirements for personal Gmail.
- IETF RFC 8058, One-click unsubscribe. Standardized one-click list-unsubscribe signaling and handling for email senders.
- IETF RFC 9110 §9.2.2, Idempotent methods. The HTTP distinction behind retry-safe method semantics; email operations still need their own application identity.
Last reviewed 18 August 2026. Protocols and sender guidance evolve; verify the current requirements for the systems and markets you operate. This essay is product guidance, not legal advice or a compliance certification.
Continue exploring
See durable state become a governed campaign
Follow the product sequence, then inspect the bounded resource and tool layer an agent can use along the way.