# Power BI

The **Power BI Node** allows you to interact with your Power BI workspace directly from your workflow. You can retrieve information about datasets and reports, list all available datasets/reports, and get detailed metadata for each. This is useful for integrating business analytics, dashboards, and data insights into your automated processes.

***

### Available Actions

#### 1. List Datasets

* **Purpose:** Retrieve a list of all datasets in your Power BI workspace.
* **Inputs:** None required.
* **Outputs:**
  * `datasets`: Array of datasets, each with:
    * `id`: Dataset ID
    * `name`: Dataset name
    * `is_refreshable`: Whether the dataset can be refreshed
    * `configured_by`: Who configured it
    * `is_on_prem_gateway_required`: If an on-premises gateway is needed
    * `web_url`: Link to the dataset
  * `count`: Total number of datasets

***

#### 2. Get Dataset

* **Purpose:** Retrieve detailed information about a specific dataset.
* **Inputs:**
  * `dataset_id` (string, required): The ID of the dataset you want details for.
* **Outputs:**
  * `dataset`: Object with:
    * `id`, `name`, `web_url`, `datasource_type`, `configured_by`, `created_date`

***

#### 3. List Reports

* **Purpose:** Retrieve a list of all reports in your Power BI workspace.
* **Inputs:** None required.
* **Outputs:**
  * `reports`: Array of reports, each with:
    * `id`: Report ID
    * `name`: Report name
    * `web_url`: Link to view the report
    * `embed_url`: URL for embedding
    * `dataset_id`: Associated dataset
    * `report_type`: Type (PaginatedReport or PowerBIReport)
    * `is_owned_by_me`: If you can modify/copy it
  * `count`: Total number of reports

***

#### 4. Get Report

* **Purpose:** Retrieve detailed information about a specific report.
* **Inputs:**
  * `report_id` (string, required): The ID of the report you want details for.
* **Outputs:**
  * `report`: Object with:
    * `id`, `name`, `web_url`, `embed_url`, `dataset_id`, `report_type`, `description`

***

### How to Use the Power BI Node

1. **List Datasets/Reports:**
   * Add the Power BI node and select the "List Datasets" or "List Reports" action.
   * No input is needed; the node will output a list of all datasets or reports in your workspace.
2. **Get Dataset/Report Details:**
   * First, use "List Datasets" or "List Reports" to get the IDs.
   * Add another Power BI node and select "Get Dataset" or "Get Report".
   * Provide the `dataset_id` or `report_id` as input (can be referenced from the output of the previous node).
3. **Connect to Output or LLM:**
   * You can send the results to an Output node for display, or to an LLM node for further analysis or summarization.
4. **Use a Connection ID:**
   * If you have a Power BI connection, add the connection ID in the node’s configuration to access your specific workspace.

***

### Example Workflow

* **Step 1:** Use "List Reports" to get all reports.
* **Step 2:** Use "Get Report" with a selected report ID to get detailed info.
* **Step 3:** Send the report details to an Output node or summarize with an LLM.

***

### Summary Table

| Action        | Input(s)    | Output(s)       | Description                        |
| ------------- | ----------- | --------------- | ---------------------------------- |
| List Datasets | None        | datasets, count | List all datasets in workspace     |
| Get Dataset   | dataset\_id | dataset         | Get details for a specific dataset |
| List Reports  | None        | reports, count  | List all reports in workspace      |
| Get Report    | report\_id  | report          | Get details for a specific report  |
