Power BI · Arazzo Workflow

Power BI Resolve a Dashboard Tile for Embedding

Version 1.0.0

Walk from the dashboard list down to a single tile and capture the embed URL, report, and dataset it needs.

1 workflow 1 source API 1 provider
View Spec View on GitHub AnalyticsBusiness IntelligenceDashboardsData AnalysisReportingVisualizationArazzoWorkflows

Provider

power-bi

Workflows

dashboard-tile-embed
Resolve a dashboard tile and the artifacts an embed token must cover.
Lists dashboards, reads the target dashboard and its tiles, and inspects a single tile to capture its embed URL and the report and dataset behind it.
4 steps inputs: dashboardId, tileId outputs: dashboardEmbedUrl, dashboards, tileDatasetId, tileEmbedUrl, tileReportId, tiles
1
listDashboards
Enumerate the dashboards available to the caller, establishing which dashboards are in scope for embedding.
2
inspectDashboard
Read the target dashboard to capture its own embed URL and confirm whether the caller holds read-only access to it.
3
listTiles
List the dashboard's tiles so the target tile can be confirmed to exist before it is read in full.
4
inspectTile
Read the single tile and capture its embed URL along with the reportId and datasetId an embed token has to be scoped to.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Power BI Resolve a Dashboard Tile for Embedding
  summary: Walk from the dashboard list down to a single tile and capture the embed URL, report, and dataset it needs.
  description: >-
    The preparation pattern for embedding Power BI content in a host
    application. Embedding a single tile requires more than the tile itself: the
    host needs the tile's embed URL plus the reportId and datasetId behind it,
    because those are the artifacts an embed token has to be scoped to. This
    workflow lists the dashboards, inspects the target dashboard, enumerates its
    tiles, and reads one tile in full. Every step spells out its request inline
    so the flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-610.50
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-610.50
      capability_name: Analytics & BI Management
      spec: power-bi-dashboards-api-openapi.yml
      confidence: 0.9
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: dashboardsApi
  url: ../openapi/power-bi-dashboards-api-openapi.yml
  type: openapi
workflows:
- workflowId: dashboard-tile-embed
  summary: Resolve a dashboard tile and the artifacts an embed token must cover.
  description: >-
    Lists dashboards, reads the target dashboard and its tiles, and inspects a
    single tile to capture its embed URL and the report and dataset behind it.
  inputs:
    type: object
    required:
    - dashboardId
    - tileId
    properties:
      dashboardId:
        type: string
        description: The identifier of the dashboard that holds the tile.
      tileId:
        type: string
        description: The identifier of the tile to resolve for embedding.
  steps:
  - stepId: listDashboards
    description: >-
      Enumerate the dashboards available to the caller, establishing which
      dashboards are in scope for embedding.
    operationId: getDashboards
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      dashboards: $response.body#/value
  - stepId: inspectDashboard
    description: >-
      Read the target dashboard to capture its own embed URL and confirm
      whether the caller holds read-only access to it.
    operationId: getDashboard
    parameters:
    - name: dashboardId
      in: path
      value: $inputs.dashboardId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      displayName: $response.body#/displayName
      dashboardEmbedUrl: $response.body#/embedUrl
      isReadOnly: $response.body#/isReadOnly
      dataClassification: $response.body#/dataClassification
  - stepId: listTiles
    description: >-
      List the dashboard's tiles so the target tile can be confirmed to exist
      before it is read in full.
    operationId: getTiles
    parameters:
    - name: dashboardId
      in: path
      value: $inputs.dashboardId
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.value.length > 0
      type: jsonpath
    outputs:
      tiles: $response.body#/value
      firstTileId: $response.body#/value/0/id
  - stepId: inspectTile
    description: >-
      Read the single tile and capture its embed URL along with the reportId and
      datasetId an embed token has to be scoped to.
    operationId: getTile
    parameters:
    - name: dashboardId
      in: path
      value: $inputs.dashboardId
    - name: tileId
      in: path
      value: $inputs.tileId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      tileTitle: $response.body#/title
      tileEmbedUrl: $response.body#/embedUrl
      tileReportId: $response.body#/reportId
      tileDatasetId: $response.body#/datasetId
  outputs:
    dashboards: $steps.listDashboards.outputs.dashboards
    dashboardEmbedUrl: $steps.inspectDashboard.outputs.dashboardEmbedUrl
    tiles: $steps.listTiles.outputs.tiles
    tileEmbedUrl: $steps.inspectTile.outputs.tileEmbedUrl
    tileReportId: $steps.inspectTile.outputs.tileReportId
    tileDatasetId: $steps.inspectTile.outputs.tileDatasetId

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/power-bi-dashboard-tile-embed-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.