Investigating ReportId in Microsoft Defender XDR.
A reported phishing email had created multiple Defender records.
The sender, subject and recipient evidence all mattered.
But Agent Foskett needed to connect related events without losing the investigation timeline.
The answer was hidden inside ReportId.
In Microsoft Defender XDR, ReportId helps defenders correlate related records, group investigation evidence and understand how email events fit together.
Lesson overview
Learn how to investigate ReportId in EmailEvents and use it to correlate related Defender records, investigation evidence and email security timelines.
Why ReportId matters
The fields used in this lesson
Step 1 — Review ReportId activity
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
EmailEvents
| where Timestamp > ago(30d)
| where isnotempty(ReportId)
| project Timestamp,
ReportId,
NetworkMessageId,
SenderFromAddress,
RecipientEmailAddress,
Subject
| order by Timestamp desc
Step 2 — Investigate a specific ReportId
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
EmailEvents
| where ReportId == <ReportId>
| project Timestamp,
SenderFromAddress,
RecipientEmailAddress,
Subject,
DeliveryAction,
DeliveryLocation,
ThreatTypes
| order by Timestamp desc
Step 3 — Find related records for the same ReportId
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
EmailEvents
| where ReportId == <ReportId>
| summarize RecipientCount = dcount(RecipientEmailAddress),
MessageCount = count()
by ReportId,
Subject,
SenderFromAddress
Step 4 — Pivot from a suspicious message to ReportId
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
EmailEvents
| where Timestamp > ago(30d)
| where Subject contains "Invoice"
| project Timestamp,
ReportId,
NetworkMessageId,
SenderFromAddress,
RecipientEmailAddress,
Subject
Step 5 — Compare ReportId with delivery outcomes
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
EmailEvents
| where Timestamp > ago(30d)
| where isnotempty(ReportId)
| summarize MessageCount = count()
by ReportId,
DeliveryAction,
DeliveryLocation,
ThreatTypes
| order by MessageCount desc
Step 6 — Identify high-volume ReportId activity
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
EmailEvents
| where Timestamp > ago(30d)
| where isnotempty(ReportId)
| summarize RecipientCount = dcount(RecipientEmailAddress),
FirstSeen = min(Timestamp),
LastSeen = max(Timestamp)
by ReportId,
Subject
| order by RecipientCount desc
How to read the results
Common investigation uses
Common mistakes
What you learned
Related Agent Foskett Academy lessons
Coming next
Final thought
Investigating ReportId in Microsoft Defender XDR
Agent Foskett Academy Lesson 72 teaches defenders how to investigate ReportId during Microsoft Defender XDR email investigations.
Learn ReportId investigation in Defender XDR
This lesson explains how ReportId, NetworkMessageId, InternetMessageId, Subject, SenderFromAddress, RecipientEmailAddress, DeliveryAction and ThreatTypes help defenders correlate email evidence and build reliable Microsoft Defender XDR investigation timelines.
