User Submissions by Detection Method - Spam (FP)
Description
This query visualises user false positive submissions by the original spam filter verdict on the reported message.
Query · kql
let Submissions = CloudAppEvents
| where Timestamp > ago(30d)
| where ActionType == "UserSubmission"
| extend RawData = parse_json(RawEventData)
| where tostring(RawData.SubmissionContentType) == "Mail" and tostring(RawData.SubmissionType) == "3"
| extend NetworkMessageId = tostring(RawData.ObjectId), RecipientObjectId = AccountObjectId
| distinct NetworkMessageId, RecipientObjectId;
EmailEvents
| where Timestamp > ago(30d)
| join kind=inner Submissions on NetworkMessageId, RecipientObjectId
// De-duplicate to the latest EmailEvents record per message and recipient so the verdict is read once
| summarize arg_max(Timestamp, *) by NetworkMessageId, RecipientObjectId
| where EmailDirection == "Inbound" and DetectionMethods has 'Spam'
| mv-expand Spam = parse_json(DetectionMethods).Spam to typeof(string)
| where isnotempty(Spam)
| summarize count() by Spam
| render piechart