Skip to main content

Protect queries with Source Control

Learn how to protect and sync queries in Query Library using Source Control.

Available on:Enterprise plan

Protected queries is available on Retool Cloud and self-hosted Retool version 3.6 or later for GitHub only.

Using protected queries in Source Control, you can safely share queries in Query Library across multiple instances of Retool, similar to protected resources.


You must set up your Source Control provider to start using protected queries.

You also need to be able to protect underlying resources if you want to share queries that depend on resources across instances. See protected resources for more.

Protect queries

To protect a query and start tracking its changes, you need to merge an initial commit for the query to your remote repository.

1. Start protecting a query

You can start protecting your resource by selecting Protect query from the dropdown menu.

Protect Query button

When you click Protect query, Retool creates a new branch on your SCM provider.

start protecting query modal

Note that you will see a warning to protect the underlying resource if it is not protected yet. Protected queries will only work across different instances if their resources are also protected and shared.

2. Open a new pull request

After you click Open pull request, you’ll be redirected to your SCM provider to create an initial commit for the resource. This commit contains a Toolscript file with relevant details for your query.

Open initial pr for query protection

3. Merge pull request

Query is not protected until your repository contains the files from your initial commit. After you merge this commit, the query syncs to all other instances.

Edit protected queries

Use the following steps to make changes to protected queries.

1. Select a branch to edit

When you edit a protected query, you must select a branch to edit. You can either continue on the previously selected branch or create a new branch from the menu.

Edit query menu

2. Commit your changes

Make your changes to the query and commit your changes by clicking on the Commit button on the top right corner. Note that you have to save your changes first before you can commit. If you have unsaved changes, the commit button will be disabled.

3. Open and merge a pull request

Once you've committed your changes, open a pull request to get your changes reviewed. Click branch name in the lower left corner, and select Create pull request. You'll be redirected to your SCM provider to open a pull request. Once it's reviewed, you can merge the changes into the main branch of your repository.

After a few seconds, your changes appear in the main branch of the Retool application.

Unprotect queries

You can unprotect a query by selecting Unprotect query from the dropdown menu.

A query must be unprotected before you can delete it.