Repository navigation
Database Collaboration Schema
Database Schema → Database Collaboration Schema
These tables hold adoption-signal data for Power Apps, Power Automate, Power BI, and Copilot Studio audit events. They are populated from two audit log sources:
- The legacy
Workload="PowerApps"/Workload="MicrosoftFlow"events (top-level fields). - The newer unified Power Platform admin activity feed (
Workload="PowerPlatform",RecordType=256), which carries data inside a property collection of OpenTelemetry-style name/value pairs.
The importer maps both shapes into the same set of tables, so reports do not need to know which feed an event came from. No additional Graph or Microsoft 365 permissions are required beyond the existing ActivityFeed.Read used for all other audit imports.
All event-meta tables join back to audit_events via event_id (1:1, primary-key) for common event fields (user_id, time_stamp, operation_id, etc.).
| Table Name | Comments |
|---|---|
| power_app_environments | Distinct Power Platform environments seen across all events. Columns: environment_id (the Power Platform GUID), name. |
| power_platform_client_types | Client type lookup for Power Apps launches (Web, Mobile, Teams, etc.). |
| power_platform_connectors | Distinct connectors referenced by apps and flows. Columns: name, publisher, is_premium. |
| power_apps | Power App definitions seen in audit events. Columns: app_id, name, environment_id, first_seen_at. |
| power_automate_flows | Power Automate flow definitions seen in audit events. Columns: flow_id, name, environment_id, first_seen_at. |
| power_bi_workspaces | Power BI workspaces seen in audit events. Columns: workspace_id, name. |
| power_bi_reports | Power BI reports seen in audit events. Columns: report_id, name, report_type, workspace_id, first_seen_at. |
| power_bi_dashboards | Power BI dashboards seen in audit events. Columns: dashboard_id, name, workspace_id, first_seen_at. |
| copilot_studio_bots | Copilot Studio bots seen in audit events. Columns: bot_id, name, environment_id, first_seen_at. |
| power_app_connectors | Junction table: which connectors a Power App uses. Columns: power_app_id, connector_id (unique together). |
| power_automate_flow_connectors | Junction table: which connectors a flow uses. Columns: flow_id, connector_id (unique together). |
These all have an event_id FK to audit_events.id (PK is 1:1 with the audit event, except the share tables which use a synthetic id because there can be multiple share targets per event).
| Table Name | Comments |
|---|---|
| event_meta_power_app | Power Apps launch/use events. Columns: power_app_id, app_session_id, client_type_id. |
| event_meta_power_app_share | Power Apps share events. Columns: power_app_id, shared_with_user_id, role_name. Unique on (event_id, shared_with_user_id). |
| event_meta_power_automate_flow | Power Automate flow events (run started, edited, etc.). Columns: flow_id, run_id. |
| event_meta_power_automate_flow_share | Power Automate flow share events. Columns: flow_id, shared_with_user_id, role_name. Unique on (event_id, shared_with_user_id). |
| event_meta_power_bi | Power BI events. Columns: workspace_id, report_id, dashboard_id. Populated only for adoption-relevant Power BI events (e.g. ViewReport). |
| event_meta_copilot_studio | Copilot Studio bot events. Columns: bot_id. |
These tables are specific for Teams activity only.
| Table Name | Comments |
|---|---|
| teams | Teams definitions – discovered date, last refresh date, Graph ID, and name |
| teams_channel_stats_log | Daily log of stats for all channels - # chats, and sentiment score for the day. |
| teams_channel_stats_log_keywords | Lookup table linking a keyword to a channel-stats log |
| teams_channel_stats_log_langs | Lookup table linking a language to a channel-stats log |
| teams_channel_tabs_log | Daily log of which tabs are on which channels. |
| teams_channels | Team channels definitions – Graph ID, name, and parent Team |
| teams_tabs | Tabs definitions – URL, add-on ID, Graph ID, and name |
| teams_user_activity_log | Aggregate stats for Teams users per day – counts for private chats, meetings, and calls. |
| teams_user_device_usage_log | Aggregate stats for Teams user device usage per day – whether users used Teams on: web, Windows Phone, Android, iOS, Mac, and Windows. |
| team_membership_log | Daily log of membership to a team – user & team for a given date. |
| team_owners | Current owners of each Team – user, and Team lookups. |
| teams_channel_user_log | Per-user activity for a team channel on a given date – posts, replies, mentions made and received. |
| teams_user_channel_reactions | User reactions in team channels – reaction type, user, channel, and date. |
| teams_reaction_types | Reaction type lookup table (like, heart, etc). |
Retired: Teams add-on / app-install tracking (
DeprecateTeamsAddons, issue #278).teams_addons,teams_addons_logandteams_addons_user_installed_logare no longer written, and theTeamAddOnDefinition/TeamAddOnLog/UserAppsLogentities were removed along with the per-user Graph call they needed.
teams_addons_user_installed_logwrote one row per user, per installed app, per metadata cycle — at this solution's 200,000-user baseline with ~20 apps per user that is roughly 4M rows/day, over a billion a year. It became the largest table in the product by both row count and storage, larger thanaudit_events, to feed a single lookup category.As with the other retirements, the three tables are dropped only if all three are empty; if you hold data they are retained read-only along with their reporting views. See also Data Collection → Per-user Teams apps tracking (removed).
These tables are specific for Teams & Skype calls activity only.
| Table Name | Comments |
|---|---|
| call_records | List of calls made – organizer, call-type, Graph ID, start and end. |
| call_failures | List of call failures – parent call, reason given, stage of failure |
| call_feedback | Call feedback given by users – parent call, rating, extra comments, user in question. |
| call_modalities | Call modalities lookup table (audio, video, screenshare, etc). |
| call_session_call_modalities | List of modalities used in any given call session – parent call, and modality used. |
| call_sessions | Sessions in a call. Anyone joining a call will have their own session in the call – attendee, start, end |
| call_types | Type of call lookup table only |
Retired. Microsoft Stream (Classic) has been retired by Microsoft, so no tenant produces these events any more. stream_videos and event_meta_stream were removed by the RetireUnusedAuditYammerStreamTables migration — see Retired tables for exactly when they are dropped and when they are retained.
Stream records that do still arrive are imported as generic events (audit_events plus event_meta_general, which keeps the raw record JSON), so no audit coverage is lost.
These tables are specific for Viva Engage (Yammer) activity only. See also yammer_user_activity_log under Microsoft 365 Activity Tables and the yammer_groups lookup under Common/Lookup Tables.
| Table Name | Comments |
|---|---|
| yammer_device_activity_log | With what devices are users accessing Yammer |
| yammer_group_activity_log | Activity per group: messages posted, read, liked, number of members |
Retired:
yammer_messagesandyammer_msg_to_streambelonged to a legacy Viva Engage message import that no longer exists in the codebase, and were removed by theRetireUnusedAuditYammerStreamTablesmigration. The Viva Engage usage report import above is unaffected.
Return to Database Schema · All topics in this guide
Previous: Database Activity and Web Schema · Next: Database Copilot Schema
- Copilot analytics overview
- Copilot Adoption user guide
- Copilot Adoption setup (admins)
- Work Trend Index
- Copilot investment
- Copilot spend
- Agent costs
- Prompt categories
- Copilot credit history (preview)
- Agent 365 package catalog
- The Copilot data in depth
- Prerequisites
- App registrations setup
- Install with the installer
- Verify the deployment
- Security & permissions model
- Private endpoints (optional)
- Certificate authentication (optional)
- Manual installation
- Activity & usage analytics (Power BI)
- SharePoint page tracking