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
Name - Enter a meaningful application name that will be displayed to users of the app. E.g: Enboarder-Integration
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
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.
Please select web as the app type
Enter value https://auth.enboarder.com/oauth
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 |
|
Oauth2 Client ID | The Application (client) ID generated in Microsoft Azure. |
Oauth2 Client Secret | The Client credentials (secret) generated in Microsoft Azure. |
Oauth2 scopes |
|
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!