This workflow corresponds to n8n.io template #7336 — we link there as the canonical source.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "be660458-e667-4bad-84c6-b43635acb074",
"name": "When clicking \u2018Execute workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-520,
-200
],
"parameters": {},
"typeVersion": 1
},
{
"id": "34b3425b-e8ce-4713-a786-417b898e3b89",
"name": "Sticky Note16",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1460,
-1000
],
"parameters": {
"color": 5,
"width": 832,
"height": 1360,
"content": "## \ud83d\udcec Need Help or Want to Customize This?\n\ud83d\udce7 [robert@ynteractive.com](mailto:robert@ynteractive.com) \n\ud83d\udd17 [LinkedIn](https://www.linkedin.com/in/robert-breen-29429625/)\n\n\n\n### Step 1: Set Up Azure App Registration\n\n1. Go to [Azure Portal](https://portal.azure.com/)\n2. Navigate to **Azure Active Directory** \u2192 **App registrations**\n3. Click **New registration**\n4. Configure your app:\n - **Name**: `n8n-powerbi-integration`\n - **Supported account types**: Accounts in this organizational directory only\n - **Redirect URI**: `https://your-n8n-instance.com/rest/oauth2-credential/callback`\n5. Click **Register**\n6. Note down the **Application (client) ID** and **Directory (tenant) ID**\n\n### Step 2: Configure App Permissions\n\n1. In your app registration, go to **API permissions**\n2. Click **Add a permission** \u2192 **Power BI Service**\n3. Select **Delegated permissions** and add:\n - `Dataset.ReadWrite.All`\n - `Dataset.Read.All`\n - `Workspace.Read.All`\n4. Click **Grant admin consent** for your organization\n\n### Step 3: Create Client Secret\n\n1. In your app registration, go to **Certificates & secrets**\n2. Click **New client secret**\n3. Add description: `n8n-powerbi-secret`\n4. Set expiration (recommended: 24 months)\n5. Click **Add** and copy the secret value immediately\n\n### Step 4: Configure Power BI API Credentials in n8n\n\n1. In n8n, go to **Credentials** \u2192 **Add Credential** \u2192 **Power BI OAuth2 API**\n2. Configure as follows:\n - **Client ID**: Your Application (client) ID from Step 1\n - **Client Secret**: Your client secret from Step 3\n - **Scope**: `https://analysis.windows.net/powerbi/api/.default`\n3. Save and test the connection\n"
},
"typeVersion": 1
},
{
"id": "921821cb-ca64-49c9-87d6-083395532c72",
"name": "Refresh Datasource",
"type": "n8n-nodes-powerbi.powerBi",
"position": [
-180,
-360
],
"parameters": {
"groupId": "me",
"resource": "dataset",
"datasetId": "475347ba-f8d9-4f9d-b5c7-87fa6d5afd4c",
"operation": "refresh"
},
"credentials": {
"powerBiApiOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "53dccada-90a0-4408-aaab-395366109010",
"name": "Check Refresh History",
"type": "n8n-nodes-powerbi.powerBi",
"position": [
-180,
-20
],
"parameters": {
"top": 10,
"groupId": "me",
"resource": "dataset",
"datasetId": "475347ba-f8d9-4f9d-b5c7-87fa6d5afd4c",
"operation": "getRefreshHistory"
},
"credentials": {
"powerBiApiOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "79ad7fb7-eadb-491d-80bc-6626facd7d3d",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-600,
-1000
],
"parameters": {
"color": 4,
"width": 712,
"height": 1360,
"content": "\n#### Node Configuration Details:\n\n##### When clicking 'Execute workflow' (Manual Trigger)\n- **Type**: Manual Trigger\n- **Purpose**: Allows manual execution of the workflow\n- No configuration needed\n\n##### Refresh Datasource (Power BI)\n- **Resource**: `dataset`\n- **Operation**: `refresh`\n- **Group ID**: `me` (for personal workspace) or your workspace ID\n- **Dataset ID**: Your Power BI dataset ID (from Step 5)\n- **Credentials**: Select your \"Power BI account\"\n\n##### Check Refresh History (Power BI)\n- **Resource**: `dataset`\n- **Operation**: `getRefreshHistory`\n- **Group ID**: `me` (for personal workspace) or your workspace ID \n- **Dataset ID**: Your Power BI dataset ID (same as above)\n- **Top**: `10` (number of recent refresh records to retrieve)\n- **Credentials**: Select your \"Power BI account\"\n\n"
},
"typeVersion": 1
}
],
"connections": {
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "Refresh Datasource",
"type": "main",
"index": 0
},
{
"node": "Check Refresh History",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
powerBiApiOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow contains community nodes that are only compatible with the self-hosted version of n8n.
Source: https://n8n.io/workflows/7336/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Absen Otomatis. Uses ssh, executeWorkflowTrigger, scheduleTrigger, httpRequest. Event-driven trigger; 12 nodes.
Automate document translation and ensure translation accuracy using Straker Verify, Google Drive and Slack.
The Switch node is powerful — but easy to misconfigure. Without a proper fallback, things can silently break. 🧨
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Monitors Google Drive for new video file uploads Downloads and processes videos using VLM Run AI tr