Skip to main content

Change Journal

The Change Journal answers "which AI agent changed what, and when". It keeps one row for every write an AI agent makes through the built-in tools, successful or failed, with the admin user and role behind it and the data the agent sent.

Open it at System -> AI Agent Connector -> Change Journal, or with the Open Change Journal button in MCP Tools Settings. On a store with AI Copilot but without the AI Agent Connector menu, the same button is in the Copilot settings.

To turn the journal on or off and set how long rows are kept, see MCP Tools Settings.


What is recorded​

One row per write call of these tools:

ToolRecorded calls
REST APIevery request except GET, including the async and bulk endpoints
GraphQL Querymutations
Media Uploadupload and delete
Cache Managerclean, flush, enable and disable
Indexerinvalidate

Reads are not recorded. Calls the store refuses are recorded too, with the reason, for example a write refused because the connection is read-only.

Writes from both channels that use these tools are recorded:

  • MCP client: an AI client connected through the MCP Server, such as Claude or ChatGPT.
  • Copilot: the AI Copilot assistant in the admin panel.

Tools added by other extensions are not recorded.


Journal grid​

The grid lists rows newest first, with these columns:

  • Time: when the call was made.
  • Source: MCP client or Copilot.
  • Admin user and Role: the admin user the agent acted as, shown by first and last name, and that user's role at the time of the call. A user deleted since is shown by username.
  • Tool and Action: the tool, and the HTTP method or the tool action, for example PUT or delete.
  • Target: the endpoint, file path, cache types, indexer codes or mutation the call was about.
  • ID / SKU: the record the call named, when it named one.
  • Store view: the store view code the call targeted, when it named one.
  • Result: Success, Error or Queued. Queued means the change is applied later, as with async and bulk REST calls, or with an upload link the merchant has not used yet.

Columns can be filtered. Admin user and Role list the users and roles that appear in the journal, including ones deleted or renamed since.

The journal is read-only: rows cannot be edited or deleted, and leave only through the retention setting.


Row detail​

Click View on a row to see the call in full:

  • the result, and the error message for a failed call;
  • the time, source, admin user (name and username), role, tool, action, target, store view and record;
  • the request as the agent sent it.

Passwords, keys and tokens are masked (***) before a row is stored, for example password, api_key, access_token or cc_number. Other fields, such as url_key, are kept as sent.

Bulk and async calls​

A bulk REST call gets one row for the call and one row per item, so filtering by a SKU also finds the items written in bulk. The call's detail page lists its items with their status now, as Magento's bulk queue reports it: Open, Complete, Failed or Rejected.

When the Media Upload tool issues an upload link, the call is recorded as Queued. When the file arrives through the link, a second row is added under the first one, with the path the file was stored under.


Who can see the journal​

Viewing the journal needs the AI Change Journal permission, set on the role's Role Resources tab at System -> Permissions -> User Roles. Without it, the menu item is hidden and the page is refused.

AI agents cannot read the journal: the Database Reader tool refuses its table for every role, including full-access ones.