Oxelone Docs

Search docs and API

Find a guide, a section of one, or an API operation by its name.

Open console (opens in a new tab)

Activity Interactions

Interactions

An interaction is one exchange with an AI service that the agent intercepted on a machine: a prompt sent from a browser, a call from a CLI or IDE tool, or a call a hook saw before an AI tool acted. The log is newest first, by when the machine saw it.

The log shows prompts the fleet intercepted, and only where a machine's capture was watching. A machine on Metadata contributes rows with no prompt in them, and a machine on None contributes none. An absent interaction is not evidence that nobody typed anything.

Who can do it

You want toYou needRoles
Read the log and its decisionsmachines:readAll six roles
Read an interaction's prompt, body and replyinteraction_content:readOwner, Admin, Analyst
Reveal the originals held under Restricted logginginteraction_content:read and content:view_unredactedOwner, Admin

Without interaction_content:read you see the row and its decisions but not the text.

Read the log

  1. Open Activity › Interactions.
  2. Search with Search service, host or endpoint. Search does not reach the prompt.
  3. Choose Group by Flat, Session or Day. Grouped by session, the count counts sessions. Grouped by day, rows sit under Today, Yesterday and so on.
  4. Add conditions in the filter bar.
  5. Select a row to open the inspector. Show N new appears when newer interactions have arrived since you loaded the page. Choose it to bring them in.

A bare address opens with the Prompt filter set so that rows known to carry no prompt are hidden. Remove the chip to see every row.

You can choose which details show on each row with On each row: User, Machine, Service, Attachments and Prompt or target.

Filters

FilterOptions
ServiceThe AI service, such as Claude, ChatGPT or Gemini.
ClientThe program that made the call.
InterceptionThe capture tactic that saw it: None, Metadata, Content (CA), Content (extension), Content (CLI & IDE tools).
OutcomePassed, Alerted, Blocked, Justified, or not evaluated.
PromptCarries a prompt, No prompt in the body, Body not read.
Sent or typedSent, Typed, not sent, Side call.
AttachmentsCarries attachments, No attachments.
MachineA machine in this workspace.
WhenA date range.

Outcomes

OutcomeMeaning
PassedA policy evaluated this and allowed it through.
AlertedThe policy matched; the interaction still went out.
BlockedThe interaction did not go out.
JustifiedThe person was asked to justify this and did, so it went out. Their words are on the decision.
Block not appliedThe decision was a block that was not applied. The reason is on the decision.

A decision is an alert only when a policy's alert action or a justified override raised one. A plain block is a decision, not an alert. All decisions are listed in Runs.

What the inspector shows

PartWhat it holds
HeaderWho and where: user, machine, service, how it was captured (Hook call for an AI tool's hook, otherwise the interception tactic).
FactsCaptured by, Client, User, Signed in as, Machine, Service, Host, Endpoint, Method, Model, Request, Response, Session, Observed, Received, Interaction ID. A value the capture could not state reads Not declared, Not recorded or Not named.
ContentPrompt, Request body and Reply, when they were kept.
DecisionsWhat each policy decided, with the alert raised, if any.
RelatedThe other half of the same interaction (a Network request or a Hook call), the rest of the session, the machine and the person.

What was kept

What you can read depends on the workspace's logging mode and on the machine's capture. See Interaction logging. Where text was stored, a policy's detections were replaced before it was written, and a long body is kept as a prefix, so a prompt that reads as complete may not be.

Under Restricted logging the inspector offers Reveal for a block with held originals. Revealing writes an audit entry first, and the originals show only for that view.

While the plan has locked logging, a notice sits above the toolbar. It reads "Content is not being kept" or "Logging is locked to" followed by the mode, and says the month's interactions are used up, with View plan.

Endpoints no rule covers

Choose Coverage to open Endpoints no rule covers. It reads what the machines in the current scope have sent that no policy covers. The scope line says whether it covers the machines matched by your filter.

When it goes wrong

You seeIt means
"An interaction is recorded when someone on an enrolled machine uses an AI service."The workspace has no interactions and no machine reporting one. Enroll machines opens Machines.
"No prompt to an AI service has been intercepted yet."Machines are enrolled and nothing has been intercepted yet.
"Could not load this interaction."The one you opened failed to load.
"Could not load more interactions." / "Could not load more sessions."The next page failed.
"Could not load this session. Try again"A session group failed to open.
"Could not look for the other half of this interaction."The related Network request or Hook call could not be looked up.
"Could not look up this interaction's decisions."The Decisions part failed.
"Could not read what these machines sent."The coverage panel failed.
"That machine did not answer, so nothing here is known."The machine did not respond to the coverage request.
"Revealing held values requires interaction_content:read and content:view_unredacted in this workspace."Your role cannot reveal.

With the API

Listing and reading interactions is in the Activity reference. Reveal is not available with an API key.