Discover: Power BI

Populate Power BI with your Enboarder Data

Chris Jones avatar
Written by Chris Jones
Updated over a week ago

Want to level up your BI game? With Enboarder's OAuth2.0 tile and webhook module, you can effortlessly send form data, custom fields, categories, and dynamic tokens straight into PowerBI. How cool is that?

The steps described here are intended to help with creating a new table for your data in Power BI and configuring Enboarder to be able to populate that table. Please keep in mind that once the data lives in Power BI that it can be used for any number of reports. Many of these steps can be customized to better fit your needs based on the Microsoft documentation below:
​


Functional requirements

These steps require admin access to both Microsoft Azure APIs and Enboarder APIs. Microsoft requires an OAuth2.0 connection in order for Enboarder to transmit data into Power BI.

Overview

These are the high-level steps which should be followed:

  • Register the Enboarder App in Azure and save the OAuth2 setup information.

  • Use the Microsoft API site to generate a new Push Dataset Table in Power BI then save the new table details

  • Configure Enboarder custom integration tile with OAuth2 information

  • Configure the Enboarder webhook module with table information (template available in Enboarder Discover)

NOTE: All of these are one-time steps.


Azure App registration

Admins need to log in to the Azure AD portal and register the new app, granting permission for Power BI API.

NOTE: If you have already registered an app for Enboarder within Azure before, then this permission can be added to your existing app. It is recommended to use a shared system account when creating OAuth credentials instead of an individual admin.

  • Application Permission (scope)

    • Dataset.ReadWrite.All

  • The admin user must set up an application for one or more tenants in https://portal.azure.com and register it to set up OAuth flow.

  • Login in to the Azure portal. Go to Azure Active Directory → then App registration → New Registration

  1. Name - Enter a meaningful application name that will be displayed to users of the app. E.g: Enboarder-Integration

  2. Supported account types - Select which accounts you would like your application to support based on integration requirements.

    • Accounts in this organizational directory only

    • Accounts in any organizational directory

    • Accounts in any organizational directory and personal Microsoft accounts

  3. Redirect URL (optional) - Select the type of app - Web or Public client (mobile & desktop), and then enter the redirect URI (or reply URL) for the application.

  • The following permissions should be enabled for Microsoft Graph API and admin users should provide consent for same.

    • Application Permission

      • Dataset.ReadWrite.All

  • After the application is registered, please generate the client secret:

Take note of the values listed above and keep them handy. These values are required during a later step in Enboarder:

  • Directory (tenant) ID

  • Application (client) ID

  • Client credentials (secret)

  • OAuth 2.0 token endpoint (v2)

  • OAuth 2.0 authorization endpoint (v2)


Generate a new Push Dataset Table in Power BI

The next step is to create a Push Dataset Table in Power BI, which can only be done using APIs. Microsoft has provided a convenient option on their website which allows you to complete this step easily. For this next step, you will be navigating to this URL:

  • Click on the “Try Now” button to bring up Microsoft’s API helper

  • Sign in to your Microsoft admin account from the top right corner

  • Scroll down to the Body section and replace the contents with your own table details. E.g:

{

"name":"Test Push Datatset",

"defaultMode": "Push",

"tables": [

{

"name": "Test Push Table",

"columns": [

{

"name": "Test Column 1",

"dataType": "string" },

{

"name": "Test Column 2",

"dataType": "string" },

{

"name": "Test Column ID",

"dataType": "Int64"

}

]

}

]

}

Click the “Run” to create the new table in your Power BI environment.

Be sure to scroll down to the very bottom and copy the Response Body to save it for later steps. The Table Name should also be saved for later reference.


Add new custom tile in Enboarder

  • Log in to Enboarder as an admin user.

  • Navigate to the top right to Settings → Apps and Integration → App center page

  • Scroll down to click on Add new tile

  • On the Next Page, please fill out the following information:

Field Name

Detail

Application Name

The display name of the tile. You can put any name E.g. MS Azure or Power BI

Oauth2 Token URL

https://login.microsoftonline.com/{{tenantid}}/oauth2/v2.0/token

Oauth2 Client ID

The Application (client) ID generated in Microsoft Azure.

Oauth2 Client Secret

The Client credentials (secret) generated in Microsoft Azure.

Oauth2 scopes

https://analysis.windows.net/powerbi/api/.default

Oauth Flow option

Please select Authorise flow option.

Oauth2 Authorisation Token URL

Enter the OAuth 2.0 authorization endpoint (v2) url copied from Microsoft Azure

Oauth2 Refresh Token URL

Enter the OAuth 2.0 token endpoint (v2) url copied from Microsoft Azure

  • Click on Add Integration.

The system will redirect the user to Azure's portal site to get their consent. Please login using your admin credentials and provide your consent.

Once done, the system will redirect the user to Enboarder and show the tile as integrated with a green check mark.

In case the admin leaves the company or their profile is deleted in Azure AD, please update the URL and re-authenticate the tile as well. Our suggestion is to create a system user with a shared email such as ENB-Integrations@example.comand use that to register the app in Azure.


Configure the Webhook Module

Using Enboarder’s webhook module, you can send data to our PowerBI table by configuring this module and adding it to a workflow sequence as shown below. There is a module template in the Enboarder Discover library which can be added to your account assets as an example. This is called Power BI Push Dataset Recipe.

Please refer to Microsoft's API document below for complete payload information:

The dataset ID and Table Name should be copied from the saved response in the prior step.

  • Authentication - Please select the Integration Tile which you have added in the previous step.

  • Method - POST

  • Header - None

  • Payload - Please modify the payload based on the below example, and make sure that each column:value pair is separated by a comma. You can add as many rows as your Push Data Table is configured to store.

    Sample Payload

{

"rows": [

{

"Test Column 1": "Test Value 1",

"Test Column 2": "Test Value 2",

"Test Column ID": 1

}

]

}

  • On success, the data will be available for your dashboard and reports within Power BI


If you are unsure where to place your webhook in the workflow, please reach out to Enboarder's support team!

Did this answer your question?