Whole Code



Reviewed July 24, 2019

Retool is a platform for programmers to rapidly create internal tools via reusable user-interface components paired with custom queries. It is used to build interfaces for the internal teams, mechanical turk workers (such as tagging data for ML), and augmenting Google Sheets data. It's WYSIWYG drag-and-drop UI editor is simple yet powerful when paired with the ability to tie inputs and events to queries and API requests.

Product Feel

Basic Usage

The above video creates an interface to search for customers, activate and deactivate their accounts, and view their orders. It demonstrates:

JavaScript everywhere

Embedding a JavaScript expression into any property is as simple as typing {{}}. By default the Moment and Lodash libraries are built-in and accessible within any JS expression, and you can add other libraries or JS functions in the Settings page:

Property Browser

Explore the values of all variables in scope via the property browser on the left-side of the screen. In the following video, I create a temporary piece of state that increases each time a button is clicked. I then put the value of this state in the text of the button itself, followed by other variables I find by exploring the property browser. Updates to the UI are made automatically, a la React.


They have built-in integrations to query a number of common data sources:

A custom integration is set up via a simple form:


While the product doesn't automatically save versions, it does allow for snapshots and "rollbacks" to previous versions. I was disappointed that they didn't allow forking of past versions.



Further Reading