Celiq
v0.12Open app โ†—
Docs/Administration/Audit Log

Audit Log

Review a single, filterable feed of the latest workspace events โ€” queries run, nodes created, domains edited, invites, and more.

LuminaryUpdated June 2026 ยท 4 min read
โœฆ
In this section
Part of Celiq's semantic layer platform. Connect your warehouse, model your data once, query it everywhere.
๐Ÿ’ก
Tip
What it is โ€” A single, chronological feed of recent activity in your workspace, combining user actions and semantic-model changes into one searchable list.
When to use it โ€” When you need to see who did what and when: who ran a query, who edited a domain, who was invited, when a signal fired.
Where to find it โ€” Lumen โ†’ Workspace โ†’ Audit Log.
Who can use it โ€” Luminary (admin).

The Audit Log gives Luminaries a quick, read-only window into recent workspace activity. It merges two streams of events โ€” general user activity and semantic-model (schema) changes โ€” into one ranked feed so you don't have to cross-reference separate logs. Each row shows when something happened, who did it, what kind of action it was, and which resource it touched.

Overview

The page loads the most recent activity for your current workspace and lists it newest-first. At the top you see a live count of how many events are currently displayed, plus two filters: a free-text Filter by user box and an All actions dropdown. The table below renders one row per event.

The feed is intentionally bounded: it returns the latest 100 events for the workspace. This keeps the page fast and focused on what happened recently, rather than acting as a long-term archive.

Events come from two sources that are unioned together:

  • User activity โ€” things people do in the product, such as running a query.
  • Schema activity โ€” changes to the semantic model, such as creating a node or editing a domain.

Both sources are scoped to your workspace, so you only ever see activity that belongs to the workspace you are administering.

When to use it

Reach for the Audit Log when you need a fast answer to a "who / what / when" question, for example:

  • Confirming that a teammate was invited, and when.
  • Checking which user last edited a domain before a model change went live.
  • Seeing whether a signal recently triggered.
  • Spotting when a new warehouse connection was added.
  • Reviewing recent query activity by a specific person.

It is a review-and-investigate tool, not a real-time alerting surface. For ongoing automated monitoring of metric conditions, use Signals instead.

Concepts

TermWhat it means
EventA single logged action: one row in the feed, with a timestamp, user, action type, and resource.
UserThe email address of the person associated with the event.
Action typeThe category of the event (see the list below). The UI shows a colored label for each known type.
ResourceThe thing the action touched โ€” for example, the node name for a schema change, or the event detail for a user action. Shown in a monospace column.
SourceInternally, every event comes from either user activity or schema activity; the feed merges both into one list.

Action types

The dropdown filter and the colored labels recognize these action types:

Action typeLabel shown
query_runQuery run
node_createdNode created
domain_editedDomain edited
user_invitedUser invited
connection_addedConnection added
canvas_pinnedCanvas pinned
signal_triggeredSignal triggered

If an event has an action that isn't in this list, the feed still shows it โ€” it falls back to displaying the raw action value with a neutral gray label.

Getting started

To open the Audit Log you need to be signed in as a Luminary (admin). The page reads workspace-wide activity, so it lives under the workspace administration area.

1

Open Lumen

From the main navigation, open Lumen โ€” the administration area of your workspace.

2

Go to Workspace

Within Lumen, select Workspace.

3

Open Audit Log

Choose Audit Log. The page loads the latest 100 events for your current workspace, newest first.

Step-by-step

1

Read the event count

The header shows how many events are currently displayed (for example, "100 events"). This number reflects what's on screen after any filters are applied.

2

Filter by user

Type into the Filter by user... box to narrow the list to events whose user contains your text. The match is a simple substring match on the user's email, so typing maria matches maria@example.com. The list updates as you type.

3

Filter by action type

Use the All actions dropdown to show only one action type โ€” for example, Domain edited or User invited. Choose All actions to clear that filter.

4

Combine filters

You can apply the user filter and the action filter at the same time โ€” for example, every Query run by a specific person.

5

Clear filters

When either filter is active, a Clear link appears next to the dropdown. Click it to reset both the user box and the action dropdown at once.

6

Read a row

Each row shows the Timestamp (in your local time), the User, a colored Action label, and the Resource the action touched.

Examples

Suppose a domain definition changed unexpectedly and you want to find out who edited it and when.

1

Filter to domain edits

Open the All actions dropdown and choose Domain edited. The feed now shows only domain_edited events.

2

Narrow to a person (optional)

If you suspect a particular teammate, type part of their email into Filter by user... to combine both filters.

3

Read the result

Scan the Timestamp and Resource columns to see exactly when the edit happened and which domain it touched.

A row in the feed corresponds to a record shaped roughly like this:

json
{
  "source": "schema_activity",
  "id": 482,
  "timestamp": "2026-06-26T14:08:31.000Z",
  "user": "maria@example.com",
  "action": "domain_edited",
  "resource": "sales"
}

The page renders timestamp, user, the labeled action, and resource.

Best practices

  • Filter before you scan. With up to 100 mixed events, the action dropdown is the fastest way to isolate the type of change you care about.
  • Use the Audit Log alongside user management. When you spot an unexpected user_invited or connection_added event, cross-check it against Users and your Roles to confirm intent.
  • Treat it as a recent-activity view. Because it returns only the latest 100 events, check it soon after the activity you're investigating โ€” older events roll off as new ones arrive.
  • Export for retention separately. If you need a permanent record, capture the information you need at the time of review (the in-page export control is not yet functional โ€” see Common mistakes).

Tips

๐Ÿ’ก
Tip

The user filter is a plain substring match, so you can type a domain fragment like @acme.com to see activity from everyone at a given company, or a partial name to catch every email that contains it.

Common mistakes

โš ๏ธ
Warning
The Export CSV button does not export anything yet. The button is present in the header but is currently a non-functional stub โ€” clicking it does nothing. To keep a record, copy the details you need directly from the table.

Don't rely on the IP or Duration columns. The table includes IP and Duration columns, but the audit feed does not currently provide IP data, and duration is empty for these events. Treat those two columns as not populated and use Timestamp, User, Action, and Resource for your investigation.

Don't expect a full history. The feed is capped at the latest 100 events for the workspace. It is not a complete or long-term archive.

Troubleshooting

SymptomLikely causeFix
The list is emptyNo matching activity, or your filters exclude everythingClick Clear to reset both filters, then re-check.
Your user filter returns nothingThe text doesn't match any user email as a substringTry a shorter fragment of the email; matching is case-sensitive substring on the user field.
An action shows as plain text with a gray labelThe event's action type isn't one of the recognized typesThis is expected โ€” the feed falls back to the raw action value for unknown types.
The IP column is blankThe audit feed does not return IP dataUse the other columns; IP is not populated.
The Duration column shows nothing meaningfulDuration is not provided for these eventsUse the Timestamp column to reason about timing instead.
Export CSV does nothingThe button is a stub and isn't wired upCopy needed rows manually from the table.
Recent activity is missingMore than 100 newer events have pushed it past the limitCheck sooner after the activity; the feed keeps only the latest 100.