Power BI
Schema-driven source documentation.
POWERBI38 fields2 examples
Commonly Asked Questions
Assistant knowledge mapped to this source type from
assistant_knowledge.json.Required
Fields required for a valid configuration payload under `config.required`.
| Path | Type | Required | Description | Default | Constraints |
|---|---|---|---|---|---|
| required | object | Yes | — | — | — |
Masked
Sensitive fields under `config.masked` (secrets/credentials).
| Path | Type | Required | Description | Default | Constraints |
|---|---|---|---|---|---|
| masked | object | Yes | — | — | — |
Optional
Optional configuration fields under `config.optional`.
| Path | Type | Required | Description | Default | Constraints |
|---|---|---|---|---|---|
| optional | object | No | — | — | no extra properties |
| optional.connection | object | No | PowerBI API endpoint and timeout controls. | — | no extra properties |
| optional.connection.api_base_url | string | No | PowerBI REST API base URL | https://api.powerbi.com/v1.0/myorg | format uri |
| optional.connection.authority_url | string | No | Authority base URL for Microsoft Entra token issuance | https://login.microsoftonline.com | format uri |
| optional.connection.timeout_seconds | integer | No | HTTP timeout for PowerBI API calls | 30 | min 5, max 300 |
| optional.extraction | object | No | Feature flags that control PowerBI entities to extract. | — | no extra properties |
| optional.extraction.extract_dashboards | boolean | No | Extract PowerBI dashboards | true | — |
| optional.extraction.extract_dataset_schema | boolean | No | Attempt to extract PowerBI dataset table schema metadata | true | — |
| optional.extraction.extract_datasets_to_containers | boolean | No | Emit dataset metadata suitable for container grouping | false | — |
| optional.extraction.extract_ownership | boolean | No | Extract workspace/report/dataset owner metadata | false | — |
| optional.extraction.extract_reports | boolean | No | Extract PowerBI reports | true | — |
| optional.extraction.extract_workspaces_to_containers | boolean | No | Emit workspace metadata suitable for container grouping | true | — |
| optional.scope | object | No | Workspace scope controls for PowerBI ingestion. | — | no extra properties |
| optional.scope.include_personal_workspaces | boolean | No | Include personal workspaces when true | false | — |
| optional.scope.workspace_ids | array | No | Optional allowlist of workspace IDs to scan | — | — |
| optional.scope.workspace_ids[] | string | No | — | — | — |
| optional.scope.workspace_names | array | No | Optional allowlist of workspace names to scan | — | — |
| optional.scope.workspace_names[] | string | No | — | — | — |
Examples
Reference payloads generated from shared source examples JSON.
PowerBI service principal tenant scan
Extract PowerBI workspaces, datasets, reports, and dashboards using service principal auth
Schedule
{
"enabled": true,
"preset": "weekday_business",
"cron": "52 11 * * 1-5",
"timezone": "UTC"
}Config Payload
{
"type": "POWERBI",
"required": {
"auth_mode": "SERVICE_PRINCIPAL",
"tenant_id": "11bb8523-44f1-4e22-a058-81f49f3fe8e8",
"client_id": "49eaace0-dde1-41f9-9c1a-0db63adfd779"
},
"masked": {
"client_secret": "masked-client-secret"
},
"optional": {
"extraction": {
"extract_ownership": true,
"extract_workspaces_to_containers": true,
"extract_datasets_to_containers": true,
"extract_dashboards": true,
"extract_dataset_schema": true
}
},
"sampling": {
"strategy": "LATEST",
"limit": 100,
"order_by_column": "modifiedDateTime"
}
}PowerBI access token workspace scan
Use a short-lived delegated token and limit ingestion to selected workspaces
Schedule
{
"enabled": true,
"preset": "daily",
"cron": "40 9 * * *",
"timezone": "UTC"
}Config Payload
{
"type": "POWERBI",
"required": {
"auth_mode": "ACCESS_TOKEN"
},
"masked": {
"access_token": "masked-access-token"
},
"optional": {
"scope": {
"workspace_names": [
"Finance",
"Risk"
]
},
"extraction": {
"extract_reports": true,
"extract_dashboards": true,
"extract_dataset_schema": false
}
},
"sampling": {
"strategy": "RANDOM",
"limit": 40
}
}