Portal Community

What Is Logged

Every mutating operation on an app definition is recorded in the audit log:

Event TypeDetails Recorded
Page addedNew page ID, route, title, actor
Page deletedDeleted page ID, actor
Widget addedWidget ID, type, target pane, actor
Widget config changedWidget ID, changed property key, old value, new value, actor
Widget deletedWidget ID, actor
Action configuredWidget ID, event, action type, actor
App publishedVersion snapshot, publish timestamp, actor
App exportedExport bundle version, export timestamp, actor
App importedSource bundle version, import timestamp, actor
Permissions changedChanged role list or visibility rule, actor

Accessing the Audit Log

Audit Log Entry Structure

// Example audit log entry (JSON)
{
  "auditId": "audit-8f3a2b",
  "appId": "crm-app",
  "tenantId": "tenant-001",
  "timestamp": "2026-05-20T14:32:10Z",
  "actor": {
    "userId": "user-jane",
    "name": "Jane Smith",
    "roles": ["app-designer"]
  },
  "eventType": "widget_config_changed",
  "entityId": "leads-grid",
  "entityType": "widget",
  "changes": [
    {
      "property": "config.dataSource",
      "oldValue": "GetAllLeads",
      "newValue": "GetActiveLeads"
    }
  ]
}

Rollback from Audit History

The Audit Log doubles as a version history. Each saved state of the app is snapshotted. To roll back:

  1. Open the Audit Log and find the save/publish event you want to roll back to
  2. Click Restore this version
  3. The builder loads the snapshot for review — it is not applied yet
  4. Click Confirm Restore to apply — this creates a new audit entry ("Restored to version X")
Audit Log Retention

Audit log entries are retained for 90 days by default. Platform administrators can extend this per-tenant. Long-term audit archives can be exported via the API in JSON or CSV format for compliance archiving.