← Back to Dashboard

Action Journal

Tamper-proof audit trail of every agent action with rollback capabilities

Table of Contents

Overview

Non-technical summary: The Action Journal is like a security camera for your AI agents. Every tool they use, every action they take is recorded here with a timestamp and full details. If an agent makes a mistake — like sending the wrong email or deleting something it shouldn't have — you can find the action in the journal and hit "Rollback" to undo it. Think of it as Ctrl+Z for your AI workforce.

The Action Journal page (JournalPage) provides a comprehensive audit trail of all agent actions across the system. Every tool call, side effect, and external interaction is logged with full context including the agent identity, tool name, action type, reversibility status, and timestamp. The journal supports organization-scoped filtering and rollback of reversible actions.

How It Works

  1. Agent executes an action — Any tool call or side effect triggers a journal entry automatically.
  2. Entry is recorded — The system logs the agent ID, tool name, action type, reversibility flag, parameters, and timestamp.
  3. Admin reviews — Browse the journal table to see what agents have done. Filter by organization context.
  4. Rollback if needed — For reversible actions, click the Rollback button to undo the action. The entry is marked as "Rolled Back".

Key Concepts

Reversible vs. Non-Reversible Actions

Not all actions can be undone. The journal marks each entry as reversible (✅) or non-reversible (❌):

ReversibleNon-Reversible
Creating a record (can be deleted)Sent emails (cannot be unsent)
Updating a field (can be reverted)SMS messages
Moving files (can be moved back)Social media posts (once public)
Toggling settingsFinancial transactions (once settled)
Assigning resourcesDeleted data (if not soft-deleted)

Action Types

Each journal entry has an actionType displayed as a badge tag. Common types include tool calls, API requests, file operations, message sends, and data modifications.

Status States

StatusBadgeDescription
ActiveActiveAction was executed and is in effect
Rolled BackRolled BackAction was reversed by an admin

Stats Cards

Three summary statistics are displayed above the journal table, loaded from /api/engine/journal/stats/default:

StatDescription
Total ActionsTotal number of tool calls and side effects recorded across all agents
ReversibleActions that can be undone via rollback
Rolled BackActions that have been reversed. A high count may indicate agents need tighter permissions or better instructions
Reading the stats: If "Rolled Back" is a large percentage of "Reversible", your agents may be making too many mistakes. Consider tightening permissions, adding approval requirements, or improving agent instructions.

Journal Table

The main table displays the last 50 journal entries with the following columns:

ColumnDescription
TimeWhen the action was executed (localized timestamp)
AgentAgent badge with avatar and name (resolved from agent data)
ToolThe tool or function that was called (toolName or toolId)
TypeAction type badge (e.g., "api-call", "file-write", "email-send")
Reversible✅ if the action can be rolled back, ❌ if not
StatusGreen "Active" or yellow "Rolled Back" badge
ActionsRollback button (only shown for reversible, non-rolled-back entries)

Rollback Actions

Rollback reverses a previously executed action. The rollback mechanism is action-specific — for example, rolling back a record creation deletes the record; rolling back a field update restores the previous value.

POST /api/engine/journal/{entryId}/rollback
Content-Type: application/json

{}

The response includes:

Rollback is itself irreversible. Once you roll back an action, the rollback cannot be undone. The original action is marked as reversed and the undo operation takes effect immediately. Verify you're rolling back the correct entry before proceeding.
Not all "reversible" actions can always be rolled back. An action may be marked as reversible at creation time, but the rollback could fail if the system state has changed (e.g., the record was already deleted by another process). The rollback endpoint returns an error message if this happens.

API Reference

EndpointMethodDescription
/api/engine/journalGETList journal entries (supports ?orgId=, ?limit=)
/api/engine/journal/stats/defaultGETGet summary statistics (total, reversible, rolled back)
/api/engine/journal/{id}/rollbackPOSTRoll back a specific action

Configuration

The journal is automatically populated — no configuration is required to start logging. However, you can influence what gets logged by configuring agent permissions:

Best Practices

Troubleshooting

"No journal entries" despite active agents

Check: (1) The org context switcher — you may be filtering to an org with no agents. (2) The agents are actually running and making tool calls. (3) The engine service is connected and logging correctly.

Rollback fails with an error

The action may no longer be reversible due to system state changes. For example, if a created record was already modified or deleted by another process. Check the error message for specifics.

Agent badge shows ID instead of name

The agent data may not have loaded. Refresh the page. If the agent was deleted, only the ID will be available.

Stats don't match the visible entries

Stats come from /journal/stats/default which covers all entries, while the table only shows the last 50. The stats reflect the complete history.

AgenticMail Enterprise Documentation Report an issue