diff --git a/docs/cloud/integrations/bi/power-bi.mdx b/docs/cloud/integrations/bi/power-bi.mdx
index 4274b5175..e16244bfa 100644
--- a/docs/cloud/integrations/bi/power-bi.mdx
+++ b/docs/cloud/integrations/bi/power-bi.mdx
@@ -2,14 +2,41 @@
title: "Power BI"
---
-
-
-
-}
->
- Click for details
-
\ No newline at end of file
+After you connect Power BI, Elementary will automatically and continuously extend the lineage to the report/dashboard level.
+This will provide you end-to-end data lineage to understand your downstream dependencies, called exposures.
+
+### Create & authorize a Service Principal
+
+Elementary makes use of a service principal secret to authenticate with the Power BI API on your behalf.
+Please follow the [official guide by Microsoft](https://learn.microsoft.com/en-us/power-bi/developer/embedded/embed-service-principal) for creating and authorizing a service principal for Power BI.
+Make sure you're going through all steps up until but not including "Step 5 - Embed your content" (Which isn't currently our goal).
+Also make sure that the security group you've created is allowed access to every relevant Workspace in your account.
+Do NOTICE - "My Workspace" isn't accessible by service principals and thus can't be analyzed with our product.
+
+
+### Allow Power BI's Admin API
+Go to Power BI's Admin portal -> Tenant Settings -> Admin API settings
+Enable the following features, and apply at least for the Service principal's security group (created on the last step):
+- `Service principals can access read-only admin APIs`
+- `Enhance admin APIs responses with detailed metadata`
+- `Enhance admin APIs responses with DAX and mashup expressions`
+
+Those features will allow Elementary to get all required info for computing the data lineage graph.
+
+### Connecting Power BI to Elementary
+
+Navigate to the **Account settings > Environments** and choose the environment to which you would like to connect Elementary.
+Choose the Power BI connection and provide the following details to validate and complete the integration.
+
+- **Tenant:** Your Microsoft tenant which is usaully your company's domain. e.g. `my-company.com`
+- **Client ID**: The client ID of the new Microsoft Entra app you've created on the first step.
+- **Client Secret:** The new client secret you've created on the first step.
+
+
+### Limitations
+
+- Due to service principal limitations - we cannot analyze the default "My Workspace" Workspace.
+- The lineage currently doesn't apply to the following entities: (But would be in the future)
+ - Paginated Reports
+ - Dataflows
+ - Datamarts
diff --git a/elementary/cli/upgrade.py b/elementary/cli/upgrade.py
index de23391b3..c028a706f 100644
--- a/elementary/cli/upgrade.py
+++ b/elementary/cli/upgrade.py
@@ -3,10 +3,16 @@
import click
from packaging import version
+from elementary.config.config import Config
from elementary.utils import package
def recommend_version_upgrade():
+ config = Config()
+
+ if config.disable_elementary_version_check:
+ return
+
try:
latest_version = package.get_latest_package_version()
current_version = package.get_package_version()
diff --git a/elementary/config/config.py b/elementary/config/config.py
index db02f405c..35741ac1f 100644
--- a/elementary/config/config.py
+++ b/elementary/config/config.py
@@ -190,6 +190,10 @@ def __init__(
run_dbt_deps_if_needed, config.get("run_dbt_deps_if_needed"), True
)
+ self.disable_elementary_version_check = config.get(
+ "disable_elementary_version_check", False
+ )
+
def _load_configuration(self) -> dict:
if not os.path.exists(self.config_dir):
os.makedirs(self.config_dir)
diff --git a/elementary/monitor/data_monitoring/report/index.html b/elementary/monitor/data_monitoring/report/index.html
index abe3cb88f..462ab1af5 100644
--- a/elementary/monitor/data_monitoring/report/index.html
+++ b/elementary/monitor/data_monitoring/report/index.html
@@ -30,7 +30,7 @@