Create a Power BI report on a semantic model (dry run by default)
create_reportCreates a Power BI report item bound to an existing semantic model: one page with cards, a column chart by month, a bar chart and a table built only on the model's measures and columns (PBIR definition), or one blank page with empty_page=true. Requires workspace, model and name; Report.ReadWrite.All or Item.ReadWrite.All, Contributor, and to read the model SemanticModel.ReadWrite.All. Returns JSON with the visuals, the REST call and next steps; with dry_run=false also the result, or kind consent. Changes Fabric only with dry_run=false, and only by adding one item: a report of that name is left as it is (kind already_exists), nothing is updated or deleted. Errors: {error, kind, hint}.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"workspace": "<workspace>",
"model": "<model>",
"name": "<name>"
},
"name": "create_report"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name of the report; a report of this name in the workspace is left alone and the call refused. Example: "shop_report". | |
| model | Yes | Semantic model the report is bound to, name or id (as create_semantic_model named it). Example: "shop_model". | |
| dry_run | No | true (default) returns what would be created and the REST calls, changing nothing; false creates or updates. | |
| workspace | Yes | Fabric workspace, name or id. | |
| empty_page | No | true creates the report with one blank page and reads nothing of the model; false (default) draws a page from its measures and columns. Example: false. |