Skip to main content

Connect to Propel

· 5 min read

You can connect to Propel using Retool's GraphQL integration and make it available as a resource. Once complete, you can write queries to interact with the Propel API.

Requirements

All users for Retool organizations on Free or Team plans have global Edit permissions and can add, edit, and remove resources. If your organization manages user permissions for resources, you must be a member of a group with Edit all permissions.

To create your Propel resource, you need:

Propel uses Bearer tokens and OAuth 2.0. You must provide an API key or access token for Retool to authorize requests. Refer to the Propel documentation on authenticating requests to learn how to obtain an API key or access token.

If Propel is behind a firewall, you must also allow access from Retool's IP addresses. Add these IP addresses to your firewall's allowlist before you create the resource.

1. Create a new resource

Sign in to your Retool organization and navigate to the Resources tab. Click Create new, then select Resource.

Retool can connect to almost any API or database, and has built-in integrations for popular data sources. Select the GraphQL integration.

2. Configure the resource

Provide the necessary details to configure the resource so Retool can connect to Propel. Not all settings are required but refer to the Propel documentation to learn what is needed.

General

These settings configure the name and location of the resource within Retool.

Name

The name to use for the resource (e.g., Propel).

Folder

The folder in which to save the resource.

Description

A brief description of the resource (e.g., Propel data).

Credentials

These settings configure how Retool connects to Propel.

Base URL

The base URL for the Propel API. This must be an absolute URL. Use https://api.us-east-2.propeldata.com/graphql.

URL parameters

Key-value pairs to include as URL parameters with Propel API requests. No additional URL parameters are required.

Headers

Key-value pairs to include as headers with Propel API requests. Propel uses Bearer (token) authentication which includes your API key or token as a header value. Include the following key-value pairs:

KeyValue
AuthorizationBearer access_token

Body

Key-value pairs to include in the body of Propel API requests. No additional body values are required.

Cookies

Cookies to include with Propel API requests. No cookies are required.

Forward all cookies

Whether to forward all cookies. This is useful if you have dynamic cookie names.

Authentication

The method of authentication to use with Propel. Select OAuth 2.0.

To provide the OAuth 2.0 settings, you need to create a Propel Application for Retool if you haven't already. Log into your Propel Account, click Applications in the left hand menu, and click create Application. Make sure to:

  • Name your application. You can use "Retool" since you'll query the API from Retool.
  • Give the application scopes. The scopes determine what the Application and the API credentials can do in the Propel API. Select the METRIC_QUERY and METRIC_STATS scopes to be able to query Metric data and stats.

configuring an oAuth2 app

After you have your Client ID and secret, enter the following data in Retool.

SettingValue
Client Credentials FlowSelected
Access Token URLhttps://auth.us-east-2.propeldata.com/oauth2/token
Client IDThe Client ID of the Propel Application
Client SecretThe Client Secret of the Propel Application
Scopesmetric:query metric:stats

oauth 2 config for propel

If the Create Resource button is disabled and indicates that An Auth URL is required, deselect the Use Client Credentials Flow and enter the following URL in the Auth URL field: https://auth.us-east-2.propeldata.com/oauth2/auth.

Disable Introspection

Select this option as the Propel endpoint does not support introspection.

3. Save the resource

Click Test Connection to verify that Retool can connect to Propel. If the test fails, check the resource settings and try again. Testing a connection only checks whether Retool can successfully connect to the resource. It cannot check whether the provided credentials have sufficient privileges or can perform every supported action.

Click Create resource to complete the setup. You can then click either Create an app to immediately start building a Retool app or Back to resources to return to the list of resources.

Wrap up

Your Propel resource is now ready to use. You write queries using GraphQL schema.

To verify you can successfully interact with Propel, write a test query to retrieve some data. This example from the Propel docs retrieves a counter metric that aggregates sales from an individual salesperson. You can replace the metric name with others that might exist in your account.

query CounterExample1 (
$timeRange: RelativeTimeRange,
$salesperson: String!
) {
sales: metricByName (uniqueName: "sales") {
counter ({
timeRange: { relative: $timeRange }
filters: [{
column: "Salesperson"
operator: EQUALS
value: $salesperson
}]
}) {
value
}
}
}