Power BI · Arazzo Workflow

Power BI Provision a Workspace and Grant Access

Version 1.0.0

Create a workspace, add a principal with a specific access right, and verify the resulting membership.

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

Provider

power-bi

Workflows

workspace-provision-access
Create a workspace and grant a principal access to it.
Creates a new workspace, adds a principal at the requested access right, and confirms the membership by listing the workspace users.
3 steps inputs: groupUserAccessRight, principalType, userEmail, workspaceName outputs: groupId, groupName, members
1
createWorkspace
Create the workspace. The service returns the generated workspace identifier, which every subsequent group-scoped call depends on.
2
grantAccess
Grant the principal the requested access right on the new workspace. The call returns 200 with no body, so membership is verified by reading back.
3
verifyAccess
List the workspace users to confirm the grant was applied and to capture the resulting membership for the provisioning record.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Power BI Provision a Workspace and Grant Access
  summary: Create a workspace, add a principal with a specific access right, and verify the resulting membership.
  description: >-
    The tenant onboarding pattern. New Power BI workspaces are created empty and
    with only the caller as an administrator, so provisioning is only complete
    once the intended principal has been granted an access right. This workflow
    creates the workspace, grants access to a user, group, or service principal,
    and reads the membership list back to prove the grant landed. 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
sourceDescriptions:
- name: groupsApi
  url: ../openapi/power-bi-groups-api-openapi.yml
  type: openapi
workflows:
- workflowId: workspace-provision-access
  summary: Create a workspace and grant a principal access to it.
  description: >-
    Creates a new workspace, adds a principal at the requested access right, and
    confirms the membership by listing the workspace users.
  inputs:
    type: object
    required:
    - workspaceName
    - userEmail
    - groupUserAccessRight
    properties:
      workspaceName:
        type: string
        description: The display name for the new workspace.
      userEmail:
        type: string
        description: The email address of the principal to grant access to.
      groupUserAccessRight:
        type: string
        description: The access right to grant. One of Admin, Member, Contributor, or Viewer.
        default: Member
      principalType:
        type: string
        description: The kind of principal being granted access. One of User, Group, or App.
        default: User
  steps:
  - stepId: createWorkspace
    description: >-
      Create the workspace. The service returns the generated workspace
      identifier, which every subsequent group-scoped call depends on.
    operationId: createGroup
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.workspaceName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      groupId: $response.body#/id
      groupName: $response.body#/name
      isOnDedicatedCapacity: $response.body#/isOnDedicatedCapacity
  - stepId: grantAccess
    description: >-
      Grant the principal the requested access right on the new workspace. The
      call returns 200 with no body, so membership is verified by reading back.
    operationId: addGroupUser
    parameters:
    - name: groupId
      in: path
      value: $steps.createWorkspace.outputs.groupId
    requestBody:
      contentType: application/json
      payload:
        emailAddress: $inputs.userEmail
        groupUserAccessRight: $inputs.groupUserAccessRight
        principalType: $inputs.principalType
    successCriteria:
    - condition: $statusCode == 200
  - stepId: verifyAccess
    description: >-
      List the workspace users to confirm the grant was applied and to capture
      the resulting membership for the provisioning record.
    operationId: getGroupUsers
    parameters:
    - name: groupId
      in: path
      value: $steps.createWorkspace.outputs.groupId
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.value.length > 0
      type: jsonpath
    outputs:
      members: $response.body#/value
  outputs:
    groupId: $steps.createWorkspace.outputs.groupId
    groupName: $steps.createWorkspace.outputs.groupName
    members: $steps.verifyAccess.outputs.members

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-workspace-provision-access-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.