Skip to content

Getting Started

MS Teams Observability is a two-part solution: a Collector that pulls Teams telemetry from Microsoft Graph, and backend integrations that store and visualize that data in Dynatrace, Splunk, or any OTLP-compatible backend like Grafana or Datadog.

graph LR
    A["Microsoft Teams \(Graph API\)"] -->|polling| B["ms-teams-agent \(Collector\)"]
    B --> C["Dynatrace \(Grail + App\)"]
    B --> D["Splunk \(HEC + App\)"]
    B --> G["OTLP-compatible Backend"]
  1. The Collector authenticates to Microsoft Graph using an Azure app registration and polls Teams telemetry on a configurable interval.
  2. It enriches and normalizes the data, then exports it to one or more backends.
  3. The backend application renders the data in operational dashboards.

The collector retrieves and exports the following event families:

Event familyContent
MSTeams_CallRecords_CallMetadataCall-level summary: type, health, duration
MSTeams_CallRecords_StreamDetailsStream-level quality: RTT, jitter, packet loss
MSTeams_CallRecords_PSTNPSTN telephony calls
MSTeams_CallRecords_DirectRoutingSIP / Direct Routing calls
MSTeams_CallRecords_AutoAttendantAuto attendant usage
MSTeams_CallRecords_CallQueueCall queue behavior
MSTeams_ServiceAnnouncementMicrosoft published incidents and advisories
MSTeams_CollectionHealthCollector operational health

See Metrics Dictionary for a full field reference.

The solution supports two modes. See Demo vs Live Mode for a detailed comparison.

The Dynatrace application supports both modes:

  • Demo mode — uses built-in sample data. No collector required. Useful for evaluation and demonstration.
  • Live mode — uses real tenant data collected by the collector. Requires a valid license. See License.

Splunk and OTLP-compatible backends like Grafana Cloud and Datadog always operate in live mode and display data as soon as the collector exports records.

BackendApplication includedNotes
DynatraceYes — Grail + dedicated appFull-featured integration with dashboards
SplunkYes — Splunk appHEC-based ingestion with dedicated app
OTLP-compatible backendNo native appUse with Grafana Cloud, Datadog, or another OTLP receiver