← Back to SOC feed Coverage →

Teams Admin-User Submissions Grading Verdicts

kql MEDIUM Azure-Sentinel
T1566
CloudAppEvents
huntingmicrosoftofficial
This rule was pulled from an open-source repository and enriched with AI. Validate in a test environment before deploying to production.
View original rule at Azure-Sentinel →
Retrieved: 2026-05-12T11:00:00Z · Confidence: medium

Hunt Hypothesis

Adversaries may submit and grade messages in Teams to manipulate or exfiltrate data by exploiting administrative privileges. SOC teams should proactively hunt for this behavior to identify potential insider threats or malicious activity leveraging Teams Admin capabilities.

KQL Query

//This query visualizes Teams messages submitted by users or admins then graded in the submission process, summarizing the data by the various submission garde results
CloudAppEvents
| where ActionType == "AdminSubmissionTriage" or ActionType == "UserSubmissionTriage"
| extend SubmissionType = tostring((parse_json(RawEventData)).SubmissionType),SubmissionContentType=tostring((parse_json(RawEventData)).SubmissionContentType),SubmissionState=tostring((parse_json(RawEventData)).SubmissionState),TriageVerdict=tostring((parse_json(RawEventData)).GradingResult.TriageVerdict)
| where SubmissionContentType == "ChatMessage" and SubmissionState == "Graded"
| summarize count() by TriageVerdict
| project TriageVerdict, TeamsMessages = count_

Analytic Rule Definition

id: 459c6943-0162-4bf5-8d0b-c5904f03f5a7
name: Teams Admin-User Submissions Grading Verdicts
description: |
  This query visualizes Teams messages submitted by users or admins then graded in the submission process.
description-detailed: |
  This query visualizes Teams messages submitted by users or admins then graded in the submission process, summarizing the data by the various submission garde results.
requiredDataConnectors:
- connectorId: MicrosoftThreatProtection
  dataTypes:
  - CloudAppEvents
tactics:
  - InitialAccess
relevantTechniques:
  - T1566
query: |
  //This query visualizes Teams messages submitted by users or admins then graded in the submission process, summarizing the data by the various submission garde results
  CloudAppEvents
  | where ActionType == "AdminSubmissionTriage" or ActionType == "UserSubmissionTriage"
  | extend SubmissionType = tostring((parse_json(RawEventData)).SubmissionType),SubmissionContentType=tostring((parse_json(RawEventData)).SubmissionContentType),SubmissionState=tostring((parse_json(RawEventData)).SubmissionState),TriageVerdict=tostring((parse_json(RawEventData)).GradingResult.TriageVerdict)
  | where SubmissionContentType == "ChatMessage" and SubmissionState == "Graded"
  | summarize count() by TriageVerdict
  | project TriageVerdict, TeamsMessages = count_
version: 1.0.0

Required Data Sources

Sentinel TableNotes
CloudAppEventsEnsure this data connector is enabled

MITRE ATT&CK Context

References

False Positive Guidance

Original source: https://github.com/Azure/Azure-Sentinel/blob/main/Hunting Queries/Microsoft 365 Defender/Email and Collaboration Queries/Microsoft Teams protection/Teams Admin-User Submissions Grading Verdicts.yaml