Skip to content

Application — Provisioning

Path: Grafana → Administration → Plugins → MS Teams Observability → Configuration

The Provisioning page exposes 6 configuration sections. Each section saves independently without page reload, and changes are synchronized live across the app. An error alert appears at the top if plugin settings cannot be synced.


Purpose: Configure the Microsoft Graph API connection for live call data retrieval. Required for live mode — without this, the app only works in demo mode.

FieldRequiredDescriptionDefault
Tenant IDYesYour Azure AD tenant ID (GUID)None
Client IDYesAzure AD application (client) IDNone
Client SecretYesAzure AD client secret (stored securely, masked in UI)None
  1. Go to Azure Portal → App registrations → New registration.
  2. Give it a name (e.g., MS Teams Observability).
  3. Under Certificates & secrets, create a client secret.
  4. Under API permissions, add Microsoft Graph → Application permissions → CallRecords.Read.All.
  5. Click Grant admin consent.
  6. Note the Tenant ID, Client ID, and Client secret.
  7. Enter them in this panel and click Save.
FeatureWithout configWith config
Demo Mode✅ Works✅ Works
Live Mode❌ Not available✅ Works
Call Overview✅ Works (no download)✅ Works with download

Purpose: Configure the Loki datasource connection and toggle between Demo and Live mode.

SettingRequiredDescriptionDefault
Demo ModeYesToggle between demo data (built-in JSON fixtures) and live mode (Loki queries)On
Loki Datasource UIDConditionalThe Grafana UID of the Loki datasource to query. Required when Demo Mode is Off.None
  1. Go to Grafana → Connections → Data Sources.
  2. Find your Loki datasource.
  3. The UID is shown in the URL or in the datasource settings page (e.g., P208D7C6E71A2D3B4).
SituationMode
First-time evaluationDemo Mode
No collector installed yetDemo Mode
Collector is running and writing to LokiLive Mode (switch Demo Mode Off)
Demos and presentationsDemo Mode

Purpose: Filter the Sites view to internal users only. Only users with email addresses matching the configured domains appear in site-level analytics.

SettingDescription
Domain ListComma-separated list of email domains (e.g., @mycompany.com, @mycompany.fr)
  • External participants (guests, vendors) are common in your Teams calls
  • You want site analytics focused on internal users only
SettingResult
Empty (no domains)All users included in Sites analytics
One or more domainsOnly users with matching email domains are included

Purpose: Configure an optional URL template for linking IP addresses to your IP Address Management (IPAM) solution.

SettingDescriptionExample
Link TemplateURL containing {{ip}} placeholderhttps://ipam.company.com/ip/{{ip}}/details

When configured, IP addresses in the Network Diagnostics panels on the Call Overview page become clickable links, opening your IPAM system to that specific IP.


Purpose: Upload a CSV mapping of network subnets to geographic locations. This is required for the Sites page, which uses this mapping to aggregate call quality by location.

subnet,location,latitude,longitude
10.0.0.0/24,Paris Office,48.8566,2.3522
10.1.0.0/16,London Office,51.5074,-0.1278
ColumnTypeDescription
subnetCIDRNetwork subnet (e.g., 10.64.0.0/24)
locationStringHuman-readable location name
latitudeNumber-90 to 90
longitudeNumber-180 to 180

The section supports full Create, Read, Update, Delete of subnet mappings:

ActionDescription
Upload CSVImport a full set of mappings
Add rowManually add a single subnet/location entry
EditModify an existing mapping
DeleteRemove a mapping
Unsaved changes indicatorAppears when mappings are modified before saving
  • First-time setup of the app — without subnet mappings, the Sites page shows no location data.
  • Adding new offices or network segments.
  • Network changes (new subnets, datacenter migrations).

Purpose: Enable or disable IP geolocation via ip-api.com for the Call Map.

SettingDescriptionDefault
Enable GeoIPToggle to enable/disable IP geolocationOff
  • You want the Call Map to show approximate geographic locations for participants based on their public IP addresses.
  • Your organization allows third-party API calls for geolocation.
SettingCall Map behavior
GeoIP Off (default)Only site-mapped locations appear (from the Subnet Location CSV). Unmapped IPs show as “Unknown”.
GeoIP OnPublic IPs are geolocated via ip-api.com. Unmapped IPs show approximate city-level locations.