Learn about connecting your data to Retool.

You can connect almost any data source and make it available for use in your Retool organization as a resource. Retool supports a wide range of data source integrations that enable you to connect to almost any database or API.

Data sources

A data source is somewhere you store and perform operations with data. This could be a PostgreSQL database, the Twilio REST API, an Amazon S3 bucket, etc. You can add as many data sources as you need to Retool and make them available for users to query.

Data sources


A resource is a saved set of user-configured properties that determine how Retool connects to data source. You create a resource for each data source you want to use with Retool. You can then select the resource when writing a query so you can interact with the data.

Query the new resource

Each resource has its own configuration options that Retool uses when interacting with a data source. This configuration can include:

  • Authentication credentials and flow (username and password, API key, OAuth, etc.)
  • Database connection settings (host, port, database name, etc.)
  • API settings (base URL, default headers, cookies, etc.)

Configure settings


Integrations are the available data source types for which you can create a resource. Retool includes built-in integrations for many popular data sources that require minimal configuration, such as SQL databases, Twilio, and Stripe. If Retool doesn't have a built-in integration for a particular type of data source, you can connect to almost any API using REST, GraphQL, or SOAP integrations.

Select a resource type

How resources work

Resources store the required settings for Retool to connect to your data source. This simplifies how you query data sources while ensuring access is secure.

When a query is run for a resource, Retool proxies the request to the data source, server-side, using the resource's configuration settings. This means only Retool directly connects to a data source, not your users.

Resources flow

Retool abstracts away all of the complexities when connecting to a data source from your users. They only need to select the resource to use when writing a query. The type of data source is also displayed but your users only need to specify the resource. In addition, you can connect different data sources of the same type. For example, you can add multiple Amazon S3 buckets as different resources to distinguish their usage.

With this approach, users don't interact directly with your data sources. Retool avoids any client-side connections to the data source that could expose credentials and ensures all interactions use the same conditions. Resources also make query caching possible, which allows Retool to serve cached data and reduce the number of requests to a data source—potentially reducing costs.

What’s Next

Learn more about connecting your data with Retool.