Power BI · Arazzo Workflow

Power BI Create a Push Dataset and Verify Its Schema

Version 1.0.0

Provision a push-mode dataset with an inline table schema and read it back to confirm the row API is enabled.

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

Provider

power-bi

Workflows

push-dataset-provision
Create a push dataset and confirm it is ready to accept rows.
Creates a dataset in Push mode with a single typed table, then reads the created dataset back to verify addRowsAPIEnabled and the storage mode.
2 steps inputs: columns, datasetName, defaultMode, defaultRetentionPolicy, tableName outputs: addRowsAPIEnabled, datasetId, targetStorageMode, webUrl
1
createPushDataset
Create the dataset with an inline table schema. The service generates and returns the dataset identifier used by every downstream call.
2
verifyDataset
Read the newly created dataset back and confirm the add-rows API is enabled, which is what makes the dataset writable by a push integration.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Power BI Create a Push Dataset and Verify Its Schema
  summary: Provision a push-mode dataset with an inline table schema and read it back to confirm the row API is enabled.
  description: >-
    The onboarding step for any real-time or streaming Power BI integration.
    A push dataset is created by posting a name, a default mode, and a full
    table schema of typed columns; the service responds with the generated
    dataset identifier. This workflow creates the dataset and immediately reads
    it back to confirm the service enabled the add-rows API and provisioned the
    dataset in push storage mode. 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-datasets-api-openapi.yml
      confidence: 0.85
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: datasetsApi
  url: ../openapi/power-bi-datasets-api-openapi.yml
  type: openapi
workflows:
- workflowId: push-dataset-provision
  summary: Create a push dataset and confirm it is ready to accept rows.
  description: >-
    Creates a dataset in Push mode with a single typed table, then reads the
    created dataset back to verify addRowsAPIEnabled and the storage mode.
  inputs:
    type: object
    required:
    - datasetName
    - tableName
    - columns
    properties:
      datasetName:
        type: string
        description: The display name for the new dataset.
      tableName:
        type: string
        description: The name of the table to create inside the dataset.
      columns:
        type: array
        description: >-
          The table's column definitions. Each entry requires a name and a
          dataType of Int64, Double, Boolean, Datetime, String, or Decimal.
        items:
          type: object
      defaultMode:
        type: string
        description: The dataset mode. One of Push, Streaming, or PushStreaming.
        default: Push
      defaultRetentionPolicy:
        type: string
        description: >-
          The retention policy applied to the dataset. Use "basicFIFO" to keep
          the most recent rows and discard the oldest.
        default: basicFIFO
  steps:
  - stepId: createPushDataset
    description: >-
      Create the dataset with an inline table schema. The service generates and
      returns the dataset identifier used by every downstream call.
    operationId: createDataset
    parameters:
    - name: defaultRetentionPolicy
      in: query
      value: $inputs.defaultRetentionPolicy
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.datasetName
        defaultMode: $inputs.defaultMode
        tables:
        - name: $inputs.tableName
          columns: $inputs.columns
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      datasetId: $response.body#/id
      datasetName: $response.body#/name
  - stepId: verifyDataset
    description: >-
      Read the newly created dataset back and confirm the add-rows API is
      enabled, which is what makes the dataset writable by a push integration.
    operationId: getDataset
    parameters:
    - name: datasetId
      in: path
      value: $steps.createPushDataset.outputs.datasetId
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.addRowsAPIEnabled == true
      type: jsonpath
    outputs:
      datasetId: $response.body#/id
      addRowsAPIEnabled: $response.body#/addRowsAPIEnabled
      targetStorageMode: $response.body#/targetStorageMode
      configuredBy: $response.body#/configuredBy
      createdDate: $response.body#/createdDate
      webUrl: $response.body#/webUrl
  outputs:
    datasetId: $steps.verifyDataset.outputs.datasetId
    addRowsAPIEnabled: $steps.verifyDataset.outputs.addRowsAPIEnabled
    targetStorageMode: $steps.verifyDataset.outputs.targetStorageMode
    webUrl: $steps.verifyDataset.outputs.webUrl

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-push-dataset-provision-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.