Build PingOne-Connected Apps in Bubble

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Use CData Connect AI to create an OData feed for PingOne Data and create custom apps in Bubble.

Bubble is a no-code platform that simplifies the process of developing and launching apps and businesses. When coupled with CData Connect AI, you gain effortless no-code access to PingOne data for streamlined app development. This article guides you through the integration process from Bubble to PingOne using CData Connect AI.

CData Connect AI provides a pure cloud-to-cloud OData interface for PingOne data that allows you to integrate from Bubble to PingOne data in real time.

Connect to PingOne from Bubble

To work with PingOne data from Bubble, we need to connect to PingOne from Connect AI, provide user access to the connection, and create a Workspace for the PingOne data.

Connect to PingOne from Connect AI

CData Connect AI uses a straightforward, point-and-click interface to connect to data sources.

  1. Log into Connect AI, click Sources, and then click Add Connection
  2. Adding a Connection
  3. Select "PingOne" from the Add Connection panel
  4. Selecting a data source
  5. Enter the necessary authentication properties to connect to PingOne.

    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.

    Configuring a connection (Salesforce is shown)
  6. Click Save & Test
  7. Navigate to the Permissions tab in the Add PingOne Connection page and update the User-based permissions. Updating permissions

Add a Personal Access Token

When connecting to Connect AI through the REST API, the OData API, or the Virtual SQL Server, a Personal Access Token (PAT) is used to authenticate the connection to Connect AI. It is best practice to create a separate PAT for each service to maintain granularity of access.

  1. Click on the Gear icon () at the top right of the Connect AI app to open the settings page.
  2. On the Settings page, go to the Access Tokens section and click Create PAT.
  3. Give the PAT a name and click Create. Creating a new PAT
  4. The personal access token is only visible at creation, so be sure to copy it and store it securely for future use.

Configure PingOne Endpoints for Bubble

After connecting to PingOne, create a workspace for your desired table(s).

  1. Navigate to the Workspaces page and click Add to create a new Workspace (or select an existing workspace). The Workspaces page. Adding a new Workspace.
  2. Click Add to add new assets to the Workspace.
  3. Select the PingOne connection (e.g. PingOne1) and click Next. Selecting an Asset (Salesforce is shown).
  4. Select the table(s) you wish to work with and click Confirm. Selecting Tables (Salesforce is shown).
  5. Make note of the OData Service URL for your workspace, e.g. https://cloud.cdata.com/api/odata/{workspace_name}

With the connection, PAT, and Workspace configured, you are ready to connect to PingOne data from Bubble.

Build a PingOne-Connected App

With OData endpoints added to Connect AI, you can build an app in Bubble with live access to PingOne data.

Configure the Bubble API Connector

To start, Configure the API Connector for accessing CData Connect AI from Bubble.

  1. In your app, click the Plugins tab and click Add plugins
  2. Search for "API Connector" and click Install Installing the API Connector plugin
  3. After installation, click the "Add another API" button and configure the API:
    • Name the API
    • Set Authentication to "HTTP Basic Auth"
    • Set Username to a Connect AI user (e.g. [email protected])
    • Set Password to the PAT for the user
    • Expand the API Call, select the "GET" command and set the URL to a Workspace endpoint you previously configured (e.g. https://cloud.cdata.com/api/odata/{workspace_name}/[CData].[Administrators].Users)
    Configuring the API Call
  4. Click the "Initialize call" button to adjust data types in the response (as needed) Initializing the call
  5. After making any necessary changes, click "Save" Saving the data types

Configure the App UI

With the API Connector configure, you are ready to retrieve PingOne data in your Bubble app. In this article, we request the data with a UI component that can display an Excel-like table.

  1. On the Plugin tab, install the "Excel-like HandsonTable" Adding the Excel-like HandsonTable plugin
  2. On the Design tab, add an "Excel Table" to the workspace Adding an Excel Table to the app
  3. In the Excel Table, in Data source, select "Get data from an external API"
  4. Set Type of content to "API Call value"
  5. Set Data source to "CData Connect AI - API Call's value" (or equivalent) Binding the Excel Table to the API Call
  6. Click "Preview" to ensure the data was retrieved from PingOne. Previewing the app

At this point, you can develop applications with live access to PingOne data without needing to know the complexities of the back-end API.

Live Access to PingOne Data from Cloud Applications

Now you have a direct connection to live PingOne data from Bubble. You can create more PingOne-connected apps — all without writing any code or replicating PingOne data.

To get live data access to hundreds of SaaS, Big Data, and NoSQL sources directly from your cloud applications, see the CData Connect AI.

Ready to get started?

Learn more about CData Connect AI or sign up for free trial access:

Free Trial