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, the Grafana plugin app, or a generic OTLP-compatible backend such as 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 --> E["Grafana \(Plugin App\)"]
    B --> G["Generic 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.

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

| Backend | Application included | Notes | |---|---|---|---| | Dynatrace | Yes — Grail + dedicated app | Full-featured integration with dashboards | | Splunk | Yes — Splunk app | HEC-based ingestion with dedicated app | | Grafana | Yes — Grafana plugin app | Published on Plugin Catalog, Loki-based | | OTLP-compatible backend | No native app | Use with Datadog, vendor OTLP gateways, or a custom receiver |