Connect to Real-Time PingOne Data in Power Apps Using Dataflows to Build Custom Applications



Use CData Power BI Connector for PingOne and Dataflow to import and use PingOne data in Power Apps.

Power Apps is a suite of apps, services, and connectors that allows users to build custom applications with minimal or no coding. It empowers businesses to create tailored apps that solve specific business challenges, automate workflows, and integrate with various data sources, including Microsoft Dataverse, SQL Server, and third-party services.

Dataflows in Power Apps simplify the process of importing, transforming, and loading external data into Microsoft Dataverse or other storage systems. They allow users to connect to multiple data sources (like Salesforce, Excel, or SQL databases), clean or shape the data, and store it in Power Apps. When paired with the CData Power BI Connector for PingOne, it provides access to PingOne data to build custom applications and more

This article demonstrates how you can easily connect to PingOne using the CData Power BI Connector for PingOne and integrate your PingOne data through the Power Apps on-premises data gateway.

Configure a DSN to connect to PingOne data

Installing the Power BI Connector creates a DSN (data source name) called CData PBI PingOne Sys. This the name of the DSN that Power BI uses to request a connection to the data source. Configure the DSN by filling in the required connection properties.

You can use the Microsoft ODBC Data Source Administrator to create a new DSN or configure (and rename) an existing DSN: From the Start menu, enter "ODBC Data Sources." Ensure that you run the version of the ODBC Administrator that corresponds to the bitness of your Power BI Desktop installation (32-bit or 64-bit).

To connect to PingOne, configure these properties:

  • Region: The region where the data for your PingOne organization is being hosted.
  • AuthScheme: The type of authentication to use when connecting to PingOne.
  • Either WorkerAppEnvironmentId (required when using the default PingOne domain) or AuthorizationServerURL, configured as described below.

Configuring WorkerAppEnvironmentId

WorkerAppEnvironmentId is the ID of the PingOne environment in which your Worker application resides. This parameter is used only when the environment is using the default PingOne domain (auth.pingone). It is configured after you have created the custom OAuth application you will use to authenticate to PingOne, as described in Creating a Custom OAuth Application in the Help documentation.

First, find the value for this property:

  1. From the home page of your PingOne organization, move to the navigation sidebar and click Environments.
  2. Find the environment in which you have created your custom OAuth/Worker application (usually Administrators), and click Manage Environment. The environment's home page displays.
  3. In the environment's home page navigation sidebar, click Applications.
  4. Find your OAuth or Worker application details in the list.
  5. Copy the value in the Environment ID field. It should look similar to:
    WorkerAppEnvironmentId='11e96fc7-aa4d-4a60-8196-9acf91424eca'

Now set WorkerAppEnvironmentId to the value of the Environment ID field.

Configuring AuthorizationServerURL

AuthorizationServerURL is the base URL of the PingOne authorization server for the environment where your application is located. This property is only used when you have set up a custom domain for the environment, as described in the PingOne platform API documentation. See Custom Domains.

Authenticating to PingOne with OAuth

PingOne supports both OAuth and OAuthClient authentication. In addition to performing the configuration steps described above, there are two more steps to complete to support OAuth or OAuthCliet authentication:

  • Create and configure a custom OAuth application, as described in Creating a Custom OAuth Application in the Help documentation.
  • To ensure that the driver can access the entities in Data Model, confirm that you have configured the correct roles for the admin user/worker application you will be using, as described in Administrator Roles in the Help documentation.
  • Set the appropriate properties for the authscheme and authflow of your choice, as described in the following subsections.

OAuth (Authorization Code grant)

Set AuthScheme to OAuth.

Desktop Applications

Get and Refresh the OAuth Access Token

After setting the following, you are ready to connect:

  • InitiateOAuth: GETANDREFRESH. To avoid the need to repeat the OAuth exchange and manually setting the OAuthAccessToken each time you connect, use InitiateOAuth.
  • OAuthClientId: The Client ID you obtained when you created your custom OAuth application.
  • OAuthClientSecret: The Client Secret you obtained when you created your custom OAuth application.
  • CallbackURL: The redirect URI you defined when you registered your custom OAuth application. For example: https://localhost:3333

When you connect, the driver opens PingOne's OAuth endpoint in your default browser. Log in and grant permissions to the application. The driver then completes the OAuth process:

  1. The driver obtains an access token from PingOne and uses it to request data.
  2. The OAuth values are saved in the location specified in OAuthSettingsLocation, to be persisted across connections.

The driver refreshes the access token automatically when it expires.

For other OAuth methods, including Web Applications, Headless Machines, or Client Credentials Grant, refer to the Help documentation.

Configure the on-premises data gateway to recognize the CData Power BI Connector for PingOne

In this section, we will configure the on-premises data gateway to detect the CData Power BI Connector for PingOne installed on your system. If you haven't installed the data gateway yet, you can download it from Microsoft's official website.

Set Up the Power BI Gateway

Follow the given process to configure the on-premise data gateway on your machine:

  1. Download and install the on-premises data gateway (recommended) option.
  2. Sign into the gateway.
  3. Create a name for the new gateway and specify a recovery key.
  4. Open the new gateway, navigate to the Connector tab, and select the path C:\Program Files\CData\CData Power BI Connector for PingOne from the folder. Click on Apply.

    NOTE: Select the folder where the gateway will search for the CData Power BI Connector.

  5. Once the CData Power BI Connector for PingOne is identified by the gateway, you're good to go.

Configure a dataflow connection in Power Apps

Once the on-premise data gateway is configured and a new gateway is created, follow these steps to create a dataflow that pulls in the PingOne data into Power Apps:

  1. Open Power Apps.
  2. Select Dataflows from the left panel on the Power Apps screen and click + New Dataflow.
  3. Provide a name to the dataflow and click Create.
  4. Select ODBC from the list of data sources.
  5. On the ODBC Connection settings screen, use the connection details you set up earlier by entering DSN=Connection name (in this case, DSN=CData PBI PingOne Sys) in the connection string. The on-premise data gateway will display available gateways for connection - select the one you created. Due to the current specifications of Power Apps dataflows, authentication is required for ODBC connections. Choose Basic as the authentication type and enter the PingOne Username and Password. Click Next.
  6. PingOne is now connected to Power Apps. Under Display options, expand CData under ODBC and PingOne under CData, and a list of all the PingOne tables will appear in the panel. When you select any one of these tables, a preview will appear, showing that the PingOne data is correctly referenced through the Power BI connector and on-premise data gateway. Next, click on Transform Data.
  7. On the query editing screen, if no column conversion is needed, you can skip this step and proceed by clicking on Next.
  8. In the Choose destination settings screen, you can select how the selected table needs to be loaded by choosing options like Load to new table, Load to existing table, and Do not load. You can also change the Table display name and description as required.
  9. Finally, choose how you'd like to update your data: Refresh manually or Refresh automatically. In this case, we have set it to Refresh automatically. By scheduling it to update every 45 minutes, as shown below, data will be collected and registered every 45 minutes timeframe, ensuring the most up-to-date information is always available. (You can select any timeframe based on your convenience)
  10. Click on Publish. The dataflow will now be created, published, and displayed as a part of the dataflow list on the Dataflows screen.

Get Started Today

At this point, you will have created a dataflow using live PingOne data and connected it to Power Apps. To learn more, explore the CData Power BI Connectors for Salesforce and download a free 30-day trial from the CData Power BI Connector for PingOne page.

Feel free to reach out to our Support Team with any questions.

Ready to get started?

Download a free trial of the PingOne Power BI Connector to get started:

 Download Now

Learn more:

PingOne Icon PingOne Power BI Connector

The fastest and easiest way to connect Power BI to PingOne data. Includes comprehensive high-performance data access, real-time integration, extensive metadata discovery, and robust SQL-92 support.