# How agent memory helps with recurring Odoo work

Published: 2026-08-27
Last updated: 2026-08-27
Canonical: https://erpipe.com/guides/agent-memory-odoo

## Answer first

After a verified fix, an ERPipe agent can save a compact lesson and look for a similar lesson when the same Odoo model, symptoms, error class, or operating procedure appears again. The recalled lesson is historical context, not truth: the agent must still inspect live Odoo before it recommends or performs anything.

Memory is hosted-only and personal to the signed-in user inside the workspace. It does not replace Odoo, copy complete records, bypass write approval, or turn the conversation into permanent chat history.

## Why it exists

Recurring Odoo operations often fail in recognizable ways. A domain uses a field that disappeared after an upgrade. A receivables check needs the same company filter every month. A stock exception looks identical to a solved routing problem.

Without a reusable lesson, the operator restates the investigation each time. With a short evidence-backed lesson, the agent can start from a known hypothesis, verify the current schema and records, and discard the lesson when reality has changed.

## A concrete path

Imagine an operator asks why a receivables report excludes one company.

1. The agent inspects the live connection, model facts, company context, and a bounded set of records.
2. The operator and agent confirm the cause: the report domain used a company filter that did not match the active company set.
3. After the current result is verified, the agent saves a short lesson: the problem shape, observable symptoms, resolution, reusable checks, affected model names, and the evidence events from this investigation.
4. A later request shows the same symptoms. The agent recalls the lesson once, then checks the current Odoo schema, companies, and records before using it.

The saved text should explain the pattern. It should not contain invoice rows, employee names, email addresses, credentials, or a transcript of the session.

## What is saved

A memory lesson is intentionally small:

- a short problem statement;
- a few symptoms;
- the verified resolution;
- reusable checks or cautions;
- relevant Odoo model names;
- references to the successful tool events that support the lesson;
- creation and expiry dates.

ERPipe requires at least one supporting event from the same signed-in user, workspace connection, and completed investigation before it accepts a lesson. Duplicate active lessons are collapsed instead of multiplying.

## What is not meant to be saved

- passwords, API keys, tokens, authorization headers, or private keys;
- raw Odoo rows, attachments, personal data, or customer-specific payloads;
- routine lookups, trivia, one-off answers, or unverified guesses;
- complete chat history;
- permission to repeat a write.

The hosted memory path rejects common secret-like text and redacts bounded detail, but the agent and operator still own the first rule: summarize the lesson instead of feeding it sensitive source data.

## Recall is a hypothesis, not an answer

When a recurring problem appears, the agent may search for a small number of similar lessons. A result is explicitly classified as untrusted historical context. Lessons older than 30 days are marked stale, and expired or forgotten lessons are not returned.

If similarity search is unavailable, ERPipe can fall back to recent active lessons for that user. That fallback is still untrusted. Live model facts, ACLs, record rules, company context, and current records always win.

## Retention and forgetting

The default retention is 180 days. A lesson can use a shorter period or, at most, 365 days. Expired lessons stop participating in recall.

Ask the agent to forget a specific lesson when you want it removed. Forgetting requires explicit confirmation and is scoped to the signed-in user who owns that lesson. A platform administrator can also remove a saved lesson through the administrative memory view.

Do not forget a lesson merely because live records changed; records are supposed to change. Forget it when the lesson itself is wrong, sensitive, or no longer useful.

## Memory does not widen Odoo access

The memory lesson is not an Odoo credential and does not grant model access. Every live check still runs as the connected Odoo user, under that user's groups and record rules. A recalled lesson cannot enable writes, skip preview, or approve a mutation.

That separation matters: memory helps the agent remember how to investigate; Odoo and the ERPipe write gates still decide what it can see and change.

## Operator checklist

- Save only after the current result is verified.
- Keep the lesson reusable and free of raw business records.
- Reference the successful investigation evidence.
- Recall once when the problem genuinely looks repeated.
- Verify live schema and records before acting.
- Forget only with explicit confirmation when the lesson itself should be removed.

## Evidence and limits

This guide reflects the hosted implementation and its automated tests as of 2026-08-27. It does not claim that every MCP client will choose to save or recall a lesson on every eligible request. Memory behavior depends on the connected agent following the session instructions, and the feature is not part of the open-source self-host example.

The public [hosted tool catalog](/tools) records the current memory surface. The [human-approval field note](/guides/human-approval-odoo-ai-writes) explains why remembered context cannot substitute for a current write decision.

## FAQ

- **Does ERPipe remember every conversation?** No. The intended unit is one compact lesson after a verified reusable fix, not a chat transcript.
- **Can another workspace user see my lessons?** Recall and forget are scoped to the signed-in user inside the workspace.
- **Does a recalled lesson prove the current answer?** No. It is untrusted historical context. The agent must verify the live Odoo state.
- **How long does a lesson remain active?** The default is 180 days; the configured maximum is 365 days, and shorter retention is allowed.
- **Can memory bypass Odoo permissions or approval?** No. Odoo ACLs remain authoritative, and the existing write gates are unchanged.
- **What should never be saved?** Credentials, raw records, personal data, attachments, unverified guesses, routine lookups, and one-off answers.
- **How do I remove a lesson?** Ask the agent to forget that specific lesson and confirm the removal, or ask a platform administrator.
- **Is agent memory available in self-hosted ERPipe?** No. This memory path is a hosted control-plane feature.

## Related

- [Hosted tool catalog](/tools)
- [What is an Odoo MCP server?](/guides/what-is-odoo-mcp)
- [Connect ChatGPT to live Odoo](/guides/connect-chatgpt-to-odoo)
- [Why Odoo ACLs are not enough for AI writes](/guides/human-approval-odoo-ai-writes)
- [Security](/security)
