-
Notifications
You must be signed in to change notification settings - Fork 12
Configuration Reference
All of these settings are written for you by the installer. This page documents them for tuning and troubleshooting.
On a deployed solution the settings live on the App Service → Configuration:
-
Application settings — the
appSettingskeys below. - Connection strings — the SQL / Redis / Service Bus / Storage entries below.
When running locally they come from the project's App.config / Web.config. See also Security & permissions model for how the secrets are protected, and What data is collected for what each import produces.
Almost everything defaults to opt-in / off, so an unconfigured install will not start writing data unexpectedly.
| Name | Purpose |
|---|---|
SPOInsightsEntities |
The analytics SQL database (Entity Framework). The single source of reporting data. |
Redis |
Azure Cache for Redis (token & lookup cache). Authenticates with Entra ID RBAC when the cache has access keys disabled (no password in the string). |
ServiceBus |
Service Bus namespace (Teams Calls queue). Only present when the Calls import is enabled. Authenticated with Entra ID RBAC — the SAS key in the string is ignored. |
Storage, AzureWebJobsStorage, AzureWebJobsDashboard
|
The storage account (WebJobs host + blob storage for logs and PowerShell SQL extensions). |
The single ImportJobSettings app setting is a ;-separated list of flags controlling which importers run. Every flag defaults to False (opt-in). Example:
GraphUsageReports=True;GraphTeams=True;ActivityLog=True;WebTraffic=True
| Flag | Enables | Needs |
|---|---|---|
WebTraffic |
SharePoint web tracking (page hits, clicks, sessions, page metadata) via the AITracker JavaScript. | Application Insights + AITracker deployed to sites. |
ActivityLog |
Audit-log import from the Office 365 Management Activity API (SharePoint, Exchange, Azure AD, Power Platform, Copilot, etc.). |
ActivityFeed.Read. |
GraphUsageReports |
Daily/weekly usage reports (SharePoint, Teams, Outlook, OneDrive, Yammer, M365 apps). |
Reports.Read.All. |
GraphTeams |
Teams metadata (teams, channels, tabs) and optional deep chat analytics. |
Group.Read.All (+ delegated perms for deep analytics). |
GraphUsersMetadata |
User attributes & SKUs for all seen users. |
User.Read.All, Organization.Read.All. |
GraphUserApps |
Teams apps installed per user. |
TeamsAppInstallation.ReadForUser.All. |
Calls |
Teams call records (via the webhook + Service Bus queue). |
CallRecords.Read.All + Service Bus. |
SentEmails |
Sent-email import from each user's sentitems folder. |
Mail.Read. |
See Prerequisites → Permissions for the full permission detail and What data is collected for the resulting data.
| Setting | Purpose |
|---|---|
ClientID, ClientSecret, TenantGUID
|
The runtime service principal used to call Microsoft Graph / Office 365 and to authenticate to Azure resources via RBAC. |
TenantDomain |
The tenant's onmicrosoft.com domain. |
AADInstance |
Azure AD authority. Default https://login.microsoftonline.com/. |
KeyVaultUrl |
Key Vault that holds the runtime secret / certificate. |
UseClientCertificate |
True to authenticate the runtime account with a certificate instead of a client secret. See Certificate authentication. |
| Setting | Purpose |
|---|---|
CognitiveEndpoint |
Azure AI Language endpoint (sentiment / key-phrase / language detection). |
CognitiveKey |
Key for the above. Optional — when key auth is disabled the runtime falls back to Entra ID RBAC (Cognitive Services User role). |
| Setting | Purpose |
|---|---|
StatsApiUrl |
Endpoint of the Telemetry Service to report anonymous, opt-in usage stats to. Leave blank to disable. |
StatsApiSecret |
Shared secret used to sign the telemetry payload. |
No tenant data is ever sent — see Telemetry Service.
These are rarely changed. Most are set by the installer or left at their defaults.
| Setting | Default | Purpose |
|---|---|---|
MetadataRefreshMinutes |
24 hours | How often SharePoint page metadata is refreshed. See Product notes. |
ChunkSize |
1.00:00:00 (1 day) |
Time window per Activity API download chunk. |
DaysBeforeNowToDownload |
6 | How many days back the activity importer downloads on each run. |
ReadHitsDaysBeforeToday |
(unset) | How many days back to start reading web-traffic hits from Application Insights. Can also be passed via the -readHitsDaysBeforeToday command-line argument. |
TimeChunkOverlapMinutes |
5 | Overlap between time chunks to avoid missing events at boundaries. |
MaxSummaryFetchConcurrency |
(importer default) | Parallelism when fetching usage-report summaries. |
ForceUsageReportsImport |
off | Forces a usage-reports import even if one ran recently (diagnostics). |
ContentTypesListAsString |
Audit.SharePoint |
Which Office 365 Management Activity API content types to subscribe to. |
UserGroupsFilter |
(unset) | Restrict imports to members of specific Entra ID groups. |
WebAppURL |
(set by installer) | Public URL of the admin/website app service. |
AppInsightsConnectionString |
(set by installer) | Application Insights connection string used for the solution's own logging/telemetry. |
AppInsightsContainerName |
(set by installer) | The Application Insights resource the AITracker web-traffic data is read from. |
- Home
- What data is collected
- The web portal
- Licence activity
- Copilot data & stats
- Architecture & costs
- App registrations setup
- Install with the installer
- Manual installation
- Private endpoints (optional)
- Certificate authentication (optional)
- Enable CSP for AITracker
- Verify the deployment
- Legacy SPO web setup