Skip to main content
TechExplainedTechExplained
|
Microsoft SentinelSecurity OperationsIntermediate

Why Is OfficeActivity in Sentinel but Not in Defender XDR? The Layer Question Behind the Table Name

A security team cannot find the OfficeActivity table in Defender XDR advanced hunting and wonders whether Microsoft removed it. The table was never there, and the reason turns out to be an architecture boundary rather than a gap.

TechExplained 7 min readPublished: 7 August 2026
#sentinel#defender xdr#advanced hunting#kql#officeactivity#cloudappevents#asim#siem
Security team discusses Microsoft Defender XDR and Microsoft Sentinel dashboards side by side on a large screen

Discussion Summary

Source
Reddit
Technology
Microsoft Sentinel
Category
Security Operations

Question

Why is the OfficeActivity table available in Microsoft Sentinel but not in Defender XDR advanced hunting?

Recommendation

Treat the table name as a layer marker: Defender XDR carries Office 365 activity as CloudAppEvents for investigation inside the Microsoft estate, Sentinel carries it as OfficeActivity for correlation across every source. Pick the layer that matches the question, and normalise with ASIM where queries have to span both.

Key Points

  • Why Office 365 activity is genuinely present in Defender XDR, under a different table name
  • What OfficeActivity does and does not cover, and why that is a connector boundary rather than a product limitation
  • Why the cost argument raised in the thread does not hold for this specific data
  • Where the Timestamp versus TimeGenerated split comes from, and what ASIM does and does not solve
  • How to decide which layer a security question belongs in
Community Discussion
Microsoft Guidance
Architecture Perspective
TechExplained Recommendation

The Challenge

A security engineer went looking for the OfficeActivity table in Microsoft Defender XDR advanced hunting and could not find it, while the same table was available in Microsoft Sentinel. The recollection was that this data used to be queryable in Defender, which raised the obvious follow-up: had Microsoft moved or removed something?

The question looks like a missing-table problem. It is worth taking seriously precisely because both products speak KQL and both show data about the same mailboxes, sites and users. When two consoles look that similar, a difference in table names reads as an inconsistency rather than as a boundary.

Community Discussion

The responses moved quickly from the table to the products behind it. The recurring point was that Defender XDR and Sentinel are not competing tools: Defender XDR is an extended detection and response platform focused on Microsoft workloads such as endpoints, identity, email and cloud apps, while Sentinel is a cloud-native SIEM and SOAR platform that collects from effectively any source, supports custom detections, playbooks, automation and long-term retention.

A second thread pointed out that OfficeActivity in Sentinel is a subset of the Microsoft 365 Unified Audit Log rather than a one-to-one copy, which explains why some searches return less than expected.

A third thread turned to cost. Several participants argued that the Unified Audit Log is simply too large to push into a SIEM wholesale, and that cheaper storage plus occasional retrieval is the more sensible pattern. Others pushed back, arguing customers should be able to decide for themselves which audit logs land where.

Running underneath all of this was a complaint about inconsistent schemas: Defender uses Timestamp where Sentinel uses TimeGenerated, and device identity appears as DeviceName, Computer or Hostname depending on where you look. ASIM came up as the intended answer, with the consensus that it helps but does not remove the underlying problem.

Microsoft Guidance

The documentation resolves the original question in a way the thread does not. Office 365 activity is available in Defender XDR advanced hunting — it sits in the CloudAppEvents table, which contains events involving accounts and objects in Office 365 and other cloud apps. In the Microsoft Purview DLP guidance the same table is described as containing audit logs across locations including SharePoint, OneDrive, Exchange and devices.

There is a prerequisite, and it is the likely reason the table looked empty or absent: CloudAppEvents is populated by Microsoft Defender for Cloud Apps. If that service is not deployed in Defender XDR, queries against the table return nothing. Population also requires the Microsoft 365 activities checkbox under Settings, Cloud apps, App connectors.

On the Sentinel side, the OfficeActivity table reference describes it as audit logs for Office 365 tenants, including Exchange, SharePoint and Teams logs. That is the shape of the subset the thread noticed: it is what the Microsoft 365 connector collects, not an arbitrary sample of the Unified Audit Log.

The cost argument deserves a correction. The Sentinel billing documentation lists Office 365 audit logs among the free data sources, including all SharePoint activity, Exchange admin activity and Teams, and names OfficeActivity (SharePoint), OfficeActivity (Exchange) and OfficeActivity (Teams) explicitly as free data types. Ingestion cost is therefore not what limits this particular table. The same page draws the line that does matter: alerts from Defender XDR and the Defender products are free, while the raw logs behind several of those data types are paid.

On normalisation, ASIM parses and normalises at query time. Parsers are KQL user-defined functions that transform existing tables into a normalised schema, and they are built into every Sentinel workspace. You query the parser instead of the table name.

Architecture Perspective

The most useful correction here is that nothing is missing. Office 365 audit data exists on both sides of the boundary, under two names, collected by two different mechanisms, for two different jobs. CloudAppEvents reaches Defender XDR through Defender for Cloud Apps and serves investigation inside the Microsoft estate. OfficeActivity reaches Sentinel through the Microsoft 365 connector and serves correlation across everything else. A team that concludes "Defender cannot do this" will build a workaround for a problem it does not have.

"The table name is not an inconsistency to be fixed. It tells you which layer you are standing in."

That reframing changes what the schema complaint means. Timestamp versus TimeGenerated is not two teams disagreeing about a column name. TimeGenerated is the Log Analytics ingestion-time column that every table in a workspace carries, because Sentinel inherits the platform underneath it. Timestamp is an event property in the advanced hunting schema. The difference is a consequence of the storage layer, which is also why it will not simply be harmonised away.

ASIM is the right tool for this and it is worth being precise about what it buys you. Because parsing happens at query time as KQL functions, ASIM does not restructure stored data and costs nothing at ingestion; it also means a query written against a parser keeps working when a new source is added behind it. What it does not do is give the two portals one shared taxonomy. Normalisation is a query-time convenience, not a merge of the two models, which is exactly why the thread's verdict — helps, does not solve — is accurate.

The cost correction has a real design consequence. Because the three big OfficeActivity workloads are free, the usual reflex of holding audit data out of the SIEM to protect the budget is aimed at the wrong target here. The expensive decision in this estate is not Office 365 audit data; it is raw Defender logs, which are paid where the alerts are free. That is the trade-off worth spending an architecture conversation on: alerts and incidents into Sentinel for correlation, raw device and mail telemetry queried in place through advanced hunting unless there is a specific reason to duplicate it.

Which leaves a practical routing rule. If the question is "what happened to this mailbox, this device, this identity, inside Microsoft 365", it belongs in Defender XDR, where the data is already correlated into incidents and querying it costs nothing extra. If the question spans sources Microsoft does not own — firewall, network, a non-Microsoft identity provider, another cloud — or needs retention beyond the advanced hunting window, custom analytics rules or an automated response, it belongs in Sentinel. Most enterprises need both, and the mistake is not choosing wrong; it is assuming one of them should have made the other unnecessary.

Key Takeaways

The data was never missing:

Office 365 activity is in Defender XDR as CloudAppEvents, not OfficeActivity.

Check the prerequisite before concluding a gap:

CloudAppEvents stays empty without Defender for Cloud Apps and the Microsoft 365 activities connector.

The subset is a connector boundary:

Sentinel's OfficeActivity covers Exchange, SharePoint and Teams, which is what the Microsoft 365 connector collects.

Cost is not the constraint here:

OfficeActivity for SharePoint, Exchange and Teams are free data types; the paid decision is raw Defender logs.

Timestamp versus TimeGenerated comes from the storage layer:

ASIM normalises at query time and costs nothing at ingestion, but it does not merge the two models.

Route by question, not by preference:

Inside the Microsoft estate, use XDR; across sources, over long retention or with automation, use the SIEM.

TechExplained Recommendation

Recommended when

  • A security question can be answered inside the Microsoft estate and Defender for Cloud Apps is deployed, so advanced hunting answers it without extra ingestion
  • Correlation is needed across sources Microsoft does not own, or beyond the advanced hunting retention window
  • Office 365 audit data is wanted in the SIEM for analytics rules or automation, since Exchange, SharePoint and Teams activity carries no ingestion charge
  • Queries have to span differently shaped sources and can be written against ASIM parsers rather than raw table names

Not recommended when

  • Raw Defender logs are duplicated into Sentinel without a detection, retention or automation requirement that justifies the paid ingestion
  • One product is expected to replace the other, or a workaround is built for data that is available under a different table name
  • ASIM is treated as a full taxonomy merge rather than a query-time normalisation layer
  • The Microsoft 365 connector is assumed to deliver every Unified Audit Log record type
OfficeActivity in Sentinel vs Defender XDR advanced hunting