Memory ability reference
Reference for the GoBuildWP Pro 1.12.4 source. Installed schemas and policy remain authoritative.
This Memory ability reference covers how an agent keeps notes that outlast a conversation: it can save, list, read and delete memories held in the site's own database, so the next session on the same site already knows the owner's preferences, their corrections and the projects under way. Memories belong to the site, not to the AI client or to one user, so every agent connected through an account that passes the memory abilities' permission check (manage_options) reads and changes the same set.
Read-only, write and destructive groups describe the source annotations. They do not establish a minimum safety profile, human approval or undo support. Those controls are separate: check the installed ability, the connected user and the active site policy before calling it. A read can still return sensitive data. These pages are not evidence that every operation passed an end-to-end runtime test.
What Memory needs before these load
Memory is built into GoBuildWP Pro and needs no other plugin. The abilities register while the wppilot_pro_memory_enabled option is on, which it is by default; switching it off on the Settings screen hides the abilities and leaves the stored memories in place. If the free plugin is older than the version Pro requires, memory registers neither its abilities nor its screen. Each call checks that GoBuildWP is switched on and that the user has manage_options. A memory id that does not exist returns not_found.
How a memory is stored
Each memory is a post of the wppilot_memory type, which is not public, not in the REST API and keeps revisions. The name is the post title, the one-line description is the excerpt and the body is the post content, saved with HTML tags stripped. The kind lives in the _wppilot_memory_type meta key and is one of user, feedback, project, reference or composition; anything else is refused with invalid_type. composition holds a block subtree describing what a hero or pricing tier on this site is made of, and is meant to be checked with wppilot/check-composition before it is saved.
wppilot/memory-list returns every memory sorted by name, without bodies, optionally filtered by type. There is no paging, so the index stays short when descriptions are specific.
What an agent sees before it asks
When memory is on and at least one memory exists, Pro prepends a Stored Memories block to the discovery instructions: up to 25 entries with id, name, type, description and last update, inside a fenced block labelled as untrusted data. With more than 25, a line says how many exist and points to wppilot/memory-list. An agent therefore starts with the index and calls wppilot/memory-get for the body it needs.
Undoing a save, and why a delete is final
A save is recorded in the change ledger with a snapshot of the memory as it was, or as a newly created post, so wppilot/rollback-change can reverse it. A delete removes the post permanently rather than trashing it, and the ledger records it as irreversible. The Memory screen in wp-admin lets a person add, edit and delete the same records by hand.
Before accepting the result
Store only task-relevant preferences, with owner-approved meaning and retention. Review, delete or expire sensitive notes as appropriate. Memory is untrusted context and grants no authority to perform an operation. Discovery shows at most 25 entries; memory-list returns the full explicit index.
Example Memory input: wppilot/memory-get
This one operation declares the 1 top-level input parameters below in wppilot-pro/includes/wppilot-abilities/wppilot-memory/wppilot-get.php; id is required. Other calls in this module take different arguments. Nested schemas and constraints are not expanded here; the complete live schema a connected client discovers is authoritative.
| Parameter | Type and meaning |
|---|---|
idrequired | integer. The memory id returned in the discover-abilities instructions or wppilot/memory-list. |
Representative call sequence
This sequence describes the documented calls and checks to perform. It is not a recorded result from an installed WordPress site. Inspect returned errors and partial results, then verify the saved values and affected output before proceeding.
The owner tells the agent to stop adding emoji to headings, and wants that to stick for future sessions.
- 01
wppilot/memory-listReturns the index filtered to feedback, to check whether a memory about heading style already exists. - 02
wppilot/memory-saveUpdates that memory by id, or creates a feedback memory with the rule and the reason, and returns its id and whether it was created. - 03
wppilot/memory-getIn a later session, returns the full body of that memory once the index in the discovery instructions shows it is relevant.
Questions about Memory
Does turning memory off delete what my agents have saved?
No. It hides the four abilities and removes the index from the discovery instructions; the wppilot_memory posts stay, and switching it back on brings them back.
Can rollback-change bring back a memory an agent deleted?
No. memory-delete bypasses the trash and is logged as irreversible. A mistaken edit made with memory-save can be rolled back, because the earlier version was captured.
Memory reads
| Ability | What it does |
|---|---|
wppilot/memory-getGet Memory | Returns the full content of a single memory by id. |
wppilot/memory-listList Memories | Returns the concise memory index (id, name, description, type) for every stored memory. Discovery prepends at most 25 memory entries. Use memory-list as the full explicit index fallback, then memory-get for the bodies needed. |
Memory writes
| Ability | What it does |
|---|---|
wppilot/memory-saveSave Memory | Creates a new memory or updates an existing one. Use this to build up a persistent understanding of the user, their feedback, ongoing projects, and external references across conversations. |
Destructive Memory calls
| Ability | What it does |
|---|---|
wppilot/memory-deleteDelete Memory | Permanently deletes a memory. Use when a memory is wrong, outdated, or the user asks you to forget it. |
For the task-level view of Memory, with worked requests and what to check afterwards, see Agent Memory integration page.