What's new on Retool

Retool news feed and changelog.

October 01, 2020

v2.64.5 — Form generator, diffing between releases, and full screen code editing

Form Generator

You can now generate a form directly from a database table! Drag out a Form component, click on the “Generate fields from a database” button, choose your table, and we’ll add a query and all the components you need to insert a row. You’ll be able to edit the query and each component just as if you’d created the whole form manually.

Release diffs

We’ve added the ability to view the diff between two different releases. If you want to know which lines in a SQL query are different, or which exact property you tweaked last week on that button, this is your feature.

Full screen editing

Need more room to write code? You can now press F11 to view code editors in full screen. This feature works anywhere you can use {{ }}.

SSO with OAuth providers

For on-premise deployments, you can now implement SSO with any provider that implements OpenID, such as Auth0 and Azure AD. Check out the docs here.

Table improvements

  • Table component now handles non-array data correctly
  • Selecting a row in Table components now correctly updates the selected page
  • Table components using GraphQL server side pagination no longer infinitely loop
  • Table component pagination arrows now display correctly in Firefox
  • Table components columns with names that conflict with Table component properties now work correctly
  • Fixed Table components with inline editable columns that occasionally crashed

More improvements

  • Code completion for Table component column mapper settings is now based on the selected table row
  • Faster List View component rendering time
  • Faster load time for the Audit log page
  • Personal queries are now first in the Query Library

Bug fixes

  • Text Input components no longer default to an invalid regex check

  • Fixed an issue where pressing Tab would hide a Tabbed Container component’s tabs
  • Fixed certain cases where Text Input components inside containers and List views crashed
  • The JSON Schema Form component now lists all compatible SQL resources
  • Selecting a user in the Settings page no longer selects the wrong user
  • Fixed an issue where the query editor crashed with certain resources selected
  • Transformers no longer crashed the display when previewed
  • 0 is now considered a valid Text Input component value
  • Checkboxes inside Form components now clear when a form is cleared
  • App names with non-letter characters like !, #, or ? now display correctly in the editor
  • You can now dynamically add a key to a URL param for REST/GraphQL queries
  • Using /users/scheduled_sends in the Sendgrid resource no longer crashes the Query Editor
  • The visibleContainers field in the Container component now updates correctly on scroll
  • Changing the URL now triggers queries dependent on urlparams
  • Formatting SQL queries with && now works correctly
emoji negative reaction for 'v2.64.5 — Form generator, diffing between releases, and full screen code editing' emoji neutral reaction for 'v2.64.5 — Form generator, diffing between releases, and full screen code editing' emoji positive reaction for 'v2.64.5 — Form generator, diffing between releases, and full screen code editing'
Thank you for your feedback.
August 28, 2020

v2.63.5 — Wizard, gRPC, Plotly charts, and revamped SQL resource creation

We’ve been silent for a while but fret not, we’ve been hard at work. We’ve deployed some larger features over the last month and a half, not to mention a whole lot of smaller bug fixes and improvements. As usual, please reach out if you have feedback or comments!

Wizard component (BETA)

We've released a beta version of the Wizard component, an exciting new addition to Retool's component library. The Wizard allows you to visually create multi-step workflows with branching logic, ideal for when you need to guide users through a specific sequence. This is an entirely new component in Retool, so we’d love to hear more about how it can better fit your workflows.

Plotly Chart component (BETA)

We’ve released a beta version of our new Chart component, powered by Plotly. This new component gives you the option of quickly generating a chart from a query or transformer. For more advanced charting needs you can toggle to directly edit Plotly JSON.

New out of the box features:

  • Combine bar and line graphs in the same chart
  • Dynamically group and aggregate data
  • Use the chart’s selectedPoints property to dynamically update other parts of your app

Preview, Save, and Run Queries

The query editor now has improved clarity around previewing, saving and running queries. We've heard a lot of questions like: “Why does query1 run when I save, but query2 doesn’t?” and “Wait, the play button doesn’t actually run the query?” To help clear up this behavior, we've made the following changes:

  • The preview button now has a clearer label to prevent confusion with actually triggering a query.
  • The save button now has two states: “Save” and “Save & Run”. The state shown is tied to whether the query is set to run “automatically when inputs change” (Save & Run) or “only when manually triggered” (Save). In Retool, “read” queries default to always run when inputs change, while “write” queries will only run when manually triggered (e.g. by clicking on a button).
  • Once a query has been saved, you’ll see a newly added run button. This will trigger the query to run once. (Helpful for debugging—no more having to add a button to your app just to test trigger a query!)
  • Last but not least, we’ve moved the run query when setting to the top of the query editor, so it’s easier to predict the behavior of a query at a glance.

gRPC Connector

Retool now connects to gRPC based resources for on premise deployments. The connection supports unary requests for reading and writing (including with variables) with gRPC today. To setup your proto files and start making gRPC request start with the docs here.

SQL resource creation changes

Retool previously required you to set up two resources for SQL: one for reading and one for writing. We’ve simplified this so that one resource that can perform both reads and writes! This has been enabled for all SQL resources over the last few weeks. Check out the docs for a more detailed overview of the changes.

Configurable table button

You can now add a button to the table that can fire off any query of your choice. Often we’ve wanted a button that’s very table related but doesn’t quite fit into the existing toolkit, so we’ve added this button as a catch-all.


  • App search on the homepage now also shows apps inside folders
  • Added toggle to hide the submit button from Form containers
  • Added name of editors in the History and Releases modals
  • The search omnibox now de-prioritizes archived apps
  • Added support for specifying ?_releaseVersion as a URL parameter
  • Added the ability to customize the duration of query success/error notifications
  • Added (back!) the ability to bulk invite users


  • ListView components now support dynamic row heights and hiding components
  • Add ability to delete notes in the Notes component
  • Improved fuzzy search functionality for select components
  • Added back Regex filter on TextInput components that stopped users from typing invalid characters
  • Added the ability to set a start time for the Timer component and the ability to customize the value
  • Added the ability to style the Toggle component as a caret
  • Added a .select() method to Text Input components to select text from Run JS Code queries
  • Added the ability to use allow-downloads with IFrame components
  • Added the ability to group events by day in the Timeline component
  • Added the ability to allow geolocation in the Custom Component's IFrame
  • Added the ability to enable allow-same-origin in the Custom Component
  • Added the ability render custom HTML inside the Select component

Table improvements

  • CSV downloads now include the correct column names for renamed columns
  • Added the ability to disable the save changes button
  • Added the ability to view columns as radio buttons
  • Added the ability to disable checkbox and radio style columns
  • Fixed an issue where CSV exports now include all columns (instead of just those in the first row)
  • Fixed an issue where manually triggered queries were not run when clicking the refresh button
  • Fixed an issue where certain column names like “Disabled” broke the component
  • Fixed issues where currentRow and self displayed the wrong value
  • Fixed an issue where the “Server side paginated” field did not work as expected


  • You can now access returned errors in the Error transformer. You can now return an object from the Error transformer
  • Added the ability to specify user role for Snowflake connections
  • Added the ability to query collection groups for Firestore connections
  • Added in and array-contains-any queries to Firestore
  • Added the ability to use BigQuery’s legacy SQL dialect
  • Added KEYS, MGET, and HMGET to the available Redis commands
  • Added the ability to use IAM roles for Athena and DynamoDB
  • Added the ability to get, set and delete tags on S3 files

Auth improvements for REST/GraphQL

  • Added the ability to verify a custom auth connection via a request
  • Added the ability to create a custom flow for refreshing authentication
  • Added the ability to automatically submit an OAuth form for REST/GraphQL queries

Bug Fixes

  • Fixed a bug where paginated GraphQL queries were called repeatedly if they returned no results
  • Fixed a bug where the HTML renderer in Select components didn’t work if values were objects
  • Fixed an issue where Firebase queries didn’t allow selecting a collection ID
  • Fixed an issue where Firestore queries did not work when using $ref in the request
  • Fixed an issue where you could not call methods on components nested inside ListView components
  • Fixed an issue where the Rich Text Editor component called the “On Blur” query on every keystroke if the component contained a URL
  • Fixed issues where Select and Text Input components didn’t render correctly inside ListViews
  • Fixed an issue where Containers inside ListView components didn’t render in the right order
  • Fixed an issue where rejected promises returned from JS queries were not interpreted as errors
  • Fixed an issue where ui:emptyValue in JSONSchemaForm components wasn’t being set correctly
emoji negative reaction for 'v2.63.5 — Wizard, gRPC, Plotly charts, and revamped SQL resource creation' emoji neutral reaction for 'v2.63.5 — Wizard, gRPC, Plotly charts, and revamped SQL resource creation' emoji positive reaction for 'v2.63.5 — Wizard, gRPC, Plotly charts, and revamped SQL resource creation'
Thank you for your feedback.
June 29, 2020

v2.60.1 — A little UX sugar

Custom keyboard shortcuts

You can now add custom keyboard shortcuts to your apps! If you find yourself clicking the same button over and over again, or if you want to run a mini JS query on keystroke, you can now automate those actions with shortcuts.

Default table shortcuts

While you can define custom shortcuts for any component, we also added some default hotkeys for the table. When you click on a table, you can use the keyboard to travel between rows in that table — to go up and down, you can use:

  • Up/Down arrow keys
  • J/K for our Vim experts
  • Ctrl-P/Ctrl-N for our Emacs fans

Expand and minimize the query editor

We’ve all wanted a little more room to write our longer queries. You can now expand the query editor to (almost!) fill your screen.

A long tail of other improvements


  • Added a focus() method for Text Input components in Javascript queries
  • Added the ability to disable Button components for a specified time time after click
  • Added the ability to set times using the local time zone on the Date Time Picker and the Date Range Picker components. For example, with local timezones enabled in EST, the component interprets choosing 5PM as 5PM EST, as opposed to 5PM in UTC converted to 1PM EST.
  • Added class names to input validation icons to allow overriding with custom CSS
  • Added the ability to search users in the Settings → Users page
  • Added toggle to allow popups to escape the sandbox for custom components
  • Added the ability to right align table columns
  • Fixed a bug where passing JSON to column settings in tables would crash the table


  • Added the ability to configure instance names for MSSQL resources
  • Added the ability to set application intent to “read only” for MSSQL resources


  • Significant performance improvements when loading apps and using apps when queries are running
  • Performance improvements for navigating the user permissions page

Bug fixes

  • Fixed a bug where text inputs did not expand to their full height when labels were positioned to the left
  • Fixed a bug where tabbing between component settings did not work as expected
  • Fixed a bug where Text Input components did not blur properly on ESC
  • Fixed a bug where you could not leave the staging environment in Presentation mode
  • Fixed an issue where edits to resource settings were not being saved
  • Fixed an issue where placeholders for Parent Window queries were not set correctly
  • Fixed an issue where searching for actions in Firebase queries did not show the right results
  • Fixed an issue where clicking Rich Text Editor components didn’t save correctly on blur
  • Fixed a bug where you could not select the time on the Date Picker component if min or max values were set
  • Fixed a few overflow bugs on user access control settings
  • Fixed a bug where not all pages were fetched from DynamoDB tables when there were more than 100
emoji negative reaction for ' v2.60.1 — A little UX sugar' emoji neutral reaction for ' v2.60.1 — A little UX sugar' emoji positive reaction for ' v2.60.1 — A little UX sugar'
Thank you for your feedback.
May 28, 2020

v2.59.0 — Better components and resources

Styled text components

We’ve added options to set the text alignment, text color, and background color for Text components. This should help the simple but hard working component stand out, as it organizes your apps and calls out important information.

Add your logo and brand color

Custom theming has arrived! Enterprise customers can now upload a logo file and customize the navbar color. This improves the presentation quality when end users log in to use your Retool apps.


Customize the default homepage for your end users with workspaces. You can build a Retool app and declare this page as the workspace any of your user groups.

Component improvements

  • Added toggles to allow microphone and camera access for the IFrame component
  • Added the ability to test a connection while adding a resource
  • Added the option to use UTC instead of local timezone in the Date picker component
  • Added the ability to run queries on blur for the Rich Text Editor component
  • Fixed a bug where ui:emptyValue was not interpreted correctly in the JSON Schema Form component
  • Fixed a bug where text colors were not applying correctly when using Markdown
  • Fixed a bug to allow negative currency values in the Text input component
  • Fixed a bug to correctly validate currency in Text input components
  • Fixed an overflow issue for Table component action buttons and columns

Resource improvements

  • Added the ability to create a GraphQL query without creating a resource
  • Added the option to disable prepared statements for BigQuery resources
  • Fixed a bug where MongoDB insertOne and deleteOne queries were triggered by input changes
  • Fixed a bug to enable uploading raw strings to S3

Bug fixes

  • Fixed an issue causing unreliable sending of user invites
  • Fixed a bug causing child components to clear state when nested in List View containers
  • Added a modal to view user permissions (back) to the app list on the home page
  • Fixed a bug where the app would scroll to the top when a component was deleted
  • Fixed a bug where DateTimePicker and TimePicker values were incorrectly formatted
  • Hidden widgets no longer flash on page load
  • Folders have been added back to the home screen alongside apps
emoji negative reaction for 'v2.59.0 — Better components and resources' emoji neutral reaction for 'v2.59.0 — Better components and resources' emoji positive reaction for 'v2.59.0 — Better components and resources'
Thank you for your feedback.
April 17, 2020

2.58.10 — Quarantine Cleaning

A new home page

The home page is the first screen you see after signing in. It’s the hub of Retool: where you go to create a new app, access apps you’ve already built, and discover apps built by teammates. To make it easier for new users to get started — and existing teams to manage a growing number of apps — we’ve rebuilt the Apps home page from the ground up with a focus on speed and visibility.

Some of our favorite features of the new home page include:

  • Quick links to access apps you’ve recently viewed or starred
  • Ability to view all your folders
  • See when an app was last edited and by whom with more app metadata
  • Search for pages by name (and last editor) and faster page loads

What's using this button?

Components, transformers, state, and queries now show dependencies in the model browser! Hover over the blue icon next to the name to see the dependencies. For example, you can see which components update `textinput1` and what components `textinput1` depends on.


As usual, we've made improvements to the table component, given how core it is to the Retool experience. Let us know if there any cases that make using tables particularly slow or cumbersome, and we’ll be on it!


  • Performance improvements for tables that contain dates
  • Tables with content that overflowed columns now load faster
  • Tables load data faster


  • Fixed Action Buttons not rendering correctly in Tables that use forward-cursor-based pagination
  • Allow users to disable the "Next" button on the Table for forward-cursor-based pagination
  • Fixed how the Table decides to update the afterCursor property when the data has been fully loaded

Custom column types

  • Fixed an issue where tables with dropdown type columns did not load dynamic data correctly
  • Fixed an issue where tables with dropdown type columns would sometimes crash
  • Fixed an issue where dropdown type cells in tables would search via value instead of label

Features & Integrations

  • Added startAt and endAt to Firestore queries for use in pagination
  • You can now delete shared queries in the query library
  • Imported queries that have been deleted can now be converted to a regular query

UX Improvements

  • The JSON Explorer component now opens all nodes by default
  • Added `Cmd/Ctrl+Shift+P` as a shortcut to go to presentation mode
  • Added transformers back to the model browser

Bug Fixes

  • Fixed issue where changing URL parameters in REST resources didn't let you save the resource
  • Fixed an issue where clicking on a state variable wouldn’t focus the inspector
  • Fixed an issue where zero values did not display correctly in Text components
emoji negative reaction for ' 2.58.10 — Quarantine Cleaning' emoji neutral reaction for ' 2.58.10 — Quarantine Cleaning' emoji positive reaction for ' 2.58.10 — Quarantine Cleaning'
Thank you for your feedback.
March 17, 2020

v2.54.19 — Validation and Visuals

Along with improvements to forms, we’ve continued our series of visual tweaks. We’ll be tweaking these designs over the next few months. We’d love to hear your feedback!

Powerful validation options

We’ve added a number of validation options to validate your inputs. For example, you can check that a value in a Text Input is now a valid email address in 2 clicks. You can also customize the error message you show to your users.

Duplicate apps from the editor

A little easier on the eyes

A new set of colors to make Retool more accessible

Our new colors and their improved accessibility ratings

More consistent tables, typography, and containers

A new navigation bar

… to give you a little more horizontal space

New styles for all resource forms

… as part of our quest to make adding a resource as easy as possible

An easier way to create apps

A new `Share` button

...for sharing links for editors, viewers, and for embedding public apps

Other improvements

  • Added a keyboard shortcut Ctrl+b / Cmd+b to open and close the Model browser
  • Added support for newer AWS regions (eu-north-1, me-south-1, us-gov-east-1, and us-gov-west-1) for DynamoDB and Athena.


  • Fixed a bug where background colors for modals and file pickers weren’t configurable
  • Fixes a bug where Table mappers that refer to something outside of the Table's data scope would not update properly.
  • Performance improvements for Retool apps with many components
  • Fixed a bug where `Select` and `TextInput` components inside `ListView` components might crash
  • Handle raw SQL statements on Oracle DB correctly
  • Fix issue with SQL Server resource connections
emoji negative reaction for 'v2.54.19 — Validation and Visuals' emoji neutral reaction for 'v2.54.19 — Validation and Visuals' emoji positive reaction for 'v2.54.19 — Validation and Visuals'
Thank you for your feedback.