Creating a resource query (GUI mode)

screenElements:
Text Field
Button

screenElements:
Select
Text Field

screenElements:
Text Field
Button
Text Field
Button
Select
Select
Select
Text Field

screenPatterns:
Code Editor
Add & Create
Add & Create
Add & Create
Code Editor
Add & Create
Add & Create

pageType: Application Application Application Application Application Application Application Application Application Application Application Application Application Application Application Application

screenKeywords:
Admin Panel
- i B 0 - 100% P Preview
= Manage users Edit
Header Inspect  Create
Components Modules
Q_ Search components
Main
Commonly used
i| First Name Last Name Email Active |
| | 0 == @ G
| Ben Bitdiddle ben@tryretool.com v i
i i Table Text Button Text Input
| Eva Lu Ator evaluator@tryretool.com | —
| | #—1 5
! i -
Robert') DROP TABLE Users; droptable@xkcd.com : Number Input Select Container Form
[ i , , i A B
| Louis Reasoner louis@competitor.com 1 |I| D
1 | [ ]
Tabbed Modal Chart Key Value
.| AlyssaP. Hacker tenx@tryretool.com 1 Container
{| Showing 1-5 of 13 1]of3 » + Y C | @ .
Image Navigation
All queries completed. Text inputs
-
@ =[O censm Response Asvanced query? [ s RN .,
T & T & < —1I I
W} getUsers _
W query2 o e Resource m onboarding_db Edit Qsearch tables or columns Editable Text Edlte;:ileeaText Email JSON Editor
. BIu”
GUI mode Run query only when manually triggered All tables c Pl I z T—1
I
~ ar_internal_metadata
Password Rich Text Text Area Text Input
Table key # varchar Editor
created_at timestamp
ppdatediat GRS
”—I
value varchar
users .
> credits URL
promo_code_users > deals
Ann wiallave Niimher inniite
(9 Latest No queries running % 92 0
|Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
Components Modules
Q_ Search components
Main
Commonly used
First Name Last Name Email Active
[ 2= @ o
Ben Bitdiddle ben@tryretool.com v
Table Text Button Text Input
Eva Lu Ator evaluator@tryretool.com —
# —1 5
-
Robert') DROP TABLE Users; droptable@xkcd.com Number Input Select Container Form
i . i A B
Louis Reasoner louis@competitor.com |I| D
[ ]
Tabbed Modal Chart Key Value
Alyssa P. Hacker tenx@tryretool.com Container
Showing 1-5 of 13 1]of3 » s+ YT C @ .
Image Navigation
All queries completed. Text inputs
-
Code aQa = + [[J General Response Advanced query2 m o .7 o
T & T & < —1I I
W} getUsers —
I query2 e Update an existing record Q_ Search tables or columns Edftable Text  Editable Text  Emal JSON Editor
rea
Filter by
- BIu” =
id = {{ usersTable.selectedRow.data.id}} X Related tables Aol I — I T—1
> users
+ Add new Password Rich Text Text Area Text Input
All tables Editor
Changeset ~ ar_internal_metadata
. key # varchar »—1I
Key value pairs .
created_at timestamp
updated_at timestamp URL
value X
value varchar
S Niimher inniite
(9 Latest No queries running % 92 0
|=  Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
(I7 usersTable
DATA -
Main
i usersTable
o O Data {{ getUsers.data }}
First Name Last Name Email Active
Empty state No rows found
Ben Bitdiddle ben@tryretool.com v
Show spinner when data is loading «©
Eva Lu Ator evaluator@tryretool.com Reset after successful save «©
Robert') DROP TABLE Users; droptable@xkcd.com COLUMNS -
Columns (9) + Add
Louis Reasoner louis@competitor.com
Title Editable
Alyssa P. Hacker tenx@tryretool.com @8 id X
[ First Name
Showing 1-5 of 13 1|of3 » ¥y Y C
I I [ Last Name
5 Email
All queries completed. £8 created_at N
-
Code Q= + [[] General Response Advanced query2 m o 7 [ updated_at B\
W} getUsers o ) Active
Q Search tables or columns
Wl query2 o Changeset B feature_flags R
Object . .
trial_expiry_date R
Related tables c 8 piry R
1 {{ forml.data }} > users Use dynamic column settings
All tables
Allow this query to modify multiple rows in the database? ~ ar_internal_metadata SORTING -
key # varchar
Consider queries that update zero records as successes created_at timestamp Sort column Select column
updated_at timestamp
Transformer Enable
value varchar
ROW SELECTION -
(9 Latest No queries running % 92 0
|Admin Panel
- i B 0O - 100% m P Preview ~
= Manage users Edit
Header Inspect  Create
(I7 usersTable
DATA -
Main
i usersTable
Q o) Data {{ getUsers.data }}
First Name Last Name Email Active
Empty state No rows found
Ben Bitdiddle ben@tryretool.com v
Show spinner when data is loading «©
Eva Lu Ator evaluator@tryretool.com Reset after successful save «©
Robert') DROP TABLE Users; droptable@xkcd.com COLUMNS -
Columns (9) + Add
Louis Reasoner louis@competitor.com
Title Editable
Alyssa P. Hacker tenx@tryretool.com @8 id X
[ First Name
Showing 1-5 of 13 1|of3 » ¥y Y C
I I [ Last Name
5 Email
All queries completed. £8 created_at N
-
Code a = + [[J General Response Advanced query2 m o .7 (B updated_at X
I getUsers —_— e @ Active
) query2 e Q Search tables or columns
W query EVENT HANDLERS (B feature_flags B\
Success + Add trial_expiry_date X
Related tables c 8 -expins R
getUsers.trigger() .ee . .
> users Use dynamic column settings
Failure + Add All tables
i i i ~ ar_internal_metadata SORTING -~
Trigger queries, control components, or call other APIs in response to
query failure. These are not run when the query is previewed. key # varchar
created_at timestamp Sort column Select column
updated_at timestamp
value varchar
ROW SELECTION -
(9 Latest No queries running % 92 0
|Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
Components Modules
Q Search components
Main
Commonly used
First Name Last Name Email Active
D * @ &
Ben Bitdiddle ben@tryretool.com v
Table Text Button Text Input
Eva Lu Ator evaluator@tryretool.com —
# —1 5
-
Robert') DROP TABLE Users; droptable@xkcd.com Number Input Select Container Form
. . . A B
Louis Reasoner louis@competitor.com |I| D
[ ]
Tabbed Modal Chart Key Value
Alyssa P. Hacker tenx@tryretool.com Container
Showing 1-5 of 13 1]of3 » s+ YT C @ .
Image Navigation
All queries completed. Text inputs
-
Code aQa = + [[J General Response Advanced query2 m o .7 o
T s T ke S —I I
W} getUsers _
W query2 o .o Resource m onboarding_db Edit Q Search tables or columns Editable Text Edlte;:ileeaText Email JSON Editor
. BIu”
GUI mode Run query only when manually triggered All tables c Pl I z T—1
I
+ ar_internal_metadata
Password Rich Text Text Area Text Input
Table key # varchar Editor
created_at timestamp
Select a table updated_at timestamp —
D)
value varchar
Action type
> credits URL
Select an action Ndcals
Ann wiallave Niimher inniite
(9 Latest No queries running % 92 0
|= Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
(I7 usersTable
DATA -
Main
i usersTable
Q@ ol Data {{ queryl.data }}
id email first_name last_name created_at updated_at active
Empty state No rows found
2 evaluator@... Eva Lu Ator Dec 2, 201... Nov 29, 20...
Show spinner when data is loading «©
3 droptable@..  Robert) DROP TABL..  Dec3,201..  Nov 29, 20... Reset after successful save «©
4 louis@com... Louis Reasoner Dec 4, 201... Nov 29, 20... COLUMNS -
Columns (9) + Add
5 tenx@tryre... Alyssa P. Hacker Dec 5, 201... Nov 29, 20...
Title Editable
6  cy@tryreto... CyD. Fect Dec 6, 201... Nov 29, 20... (Hid
£ email
Showing 1-5 of 13 1|of3 » R ¢
I I [ first_name
[ last_name
All queries completed. {1 created_at
-
Code Q= + [[] General Response Advanced query1 » Save & Run o 7 [ updated_at
W query1e 0.7s | soe - [ active
Resource ¥} onboarding_db Edit Q Search tables or columns (1 feature_flags
SQL mode Run query automatically when inputs change All tables (e B trial_expiry_date
~ ar_internal_metadata Use dynamic column settings
key # varchar
1 select * from users; created_at timestamp
SORTING -
updated_at timestamp
Jalle Vatchay Sort column Select column
> credits
> deals
Trancfarmar Enahla Aan wiallave ROW SELECTION
(9 Latest No queries running % 92 0
|Admin Panel
- i B 0O - 100% P Preview ~
= Manage users Edit
Header Inspect  Create
(I7 usersTable
DATA -
Main
i usersTable
Q o) Data {{ getUsers.data }}
First Name Last Name Email Active
Empty state No rows found
Ben Bitdiddle ben@tryretool.com v
Show spinner when data is loading «©
Eva Lu Ator evaluator@tryretool.com Reset after successful save «©
Robert') DROP TABLE Users; droptable@xkcd.com COLUMNS -
Columns (9) + Add
Louis Reasoner louis@competitor.com
Title Editable
Alyssa P. Hacker tenx@tryretool.com @8 id X
[ First Name
Showing 1-5 of 13 1|of3 » ¥y Y C
I I [ Last Name
5 Email
All queries completed. £8 created_at N
-
Code a = + [[J General Response Advanced query2 m o .7 (B updated_at X
I getUsers —_— e & Active
Y query2 e Q Search tables or columns
W query EVENT HANDLERS B feature_flags X
Success + Add trial_expiry_date X
Related tables c 8 -expins R
Trigger queries, control components, or call other API‘s in response to > (0 Use dynamic column settings
query success. These are not run when the query is previewed.
All tables
Failure + Add + ar_internal_metadata SORTING -
Trigger queries, control components, or call other APIs in response to kevi Ava TEER
query failure. These are not run when the query is previewed. created_at timestamp Sort column Select column
updated_at timestamp
value varchar
ROW SELECTION -
(9 Latest No queries running % 92 0
|=  Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
(I7 usersTable
DATA -
Main
i usersTable
o O Data {{ getUsers.data }}
First Name Last Name Email Active
Empty state No rows found
Ben Bitdiddle ben@tryretool.com v
Show spinner when data is loading «©
Eva Lu Ator evaluator@tryretool.com Reset after successful save «©
Robert') DROP TABLE Users; droptable@xkcd.com COLUMNS -
Columns (9) + Add
Louis Reasoner louis@competitor.com
Title Editable
Alyssa P. Hacker tenx@tryretool.com @8 id X
[ First Name
Showing 1-5 of 13 1|of3 » ¥y Y C
I I [ Last Name
5 Email
All queries completed. £8 created_at N
-
Code aQa = + [[] General Response Advanced query2 m o .7 (B updated_at X
W} getUsers o ) Active
Q Search tables or columns
Wl query2 o Changeset B feature_flags R
Object . .
trial_expiry_date R
Related tables c 8 piry R
1 {{usersTable.recordUpdates[@]}} > users Use dynamic column settings
All tables
Allow this query to modify multiple rows in the database? ~ ar_internal_metadata SORTING -
key # varchar
Consider queries that update zero records as successes created_at timestamp Sort column Select column
updated_at timestamp
Transformer Enable
value varchar
ROW SELECTION -
(9 Latest No queries running % 92 0
|Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
Components Modules
Q_ Search components
Main
Commonly used
First Name Last Name Email Active
[ 2= @ o
Ben Bitdiddle ben@tryretool.com v
Table Text Button Text Input
Eva Lu Ator evaluator@tryretool.com —
# —1 5
-
Robert') DROP TABLE Users; droptable@xkcd.com Number Input Select Container Form
A B
Louis Reasoner louis@competitor.com Il D
[ ] 1
Tabbed Modal Chart Key Value
Alyssa P. Hacker tenx@tryretool.com Container
Showing 1-5 of 13 1]of3 » s+ YT C @ .
Image Navigation
All queries completed. Text inputs
-
Code aQa = + [[J General Response Advanced query2 m o .7 o
T & T & < —1I I
W} getUsers —
W query2e Update an existing record Q_ Search tables or columns Editable Text Editable Text Email JSON Editor
r Area
Filter by
BIu” =
feature_flags = value X Related tables c Pl I ] : T—1
> users
+ Add new Password Rich Text Text Area Text Input
All tables Editor
Changeset ~ ar_internal_metadata
. key # varchar »—1I
Key value pairs .
created_at timestamp
updated_at timestamp URL
value X
value varchar
S Niimher inniite
(9 Latest No queries running % 92 0
|Admin Panel
- i B 0 - 100% P Preview
= Manage users Edit
Header Inspect  Create
Components Modules
Q Search components
Main
Commonly used
First Name Last Name Email Active
D * @ &
Ben Bitdiddle ben@tryretool.com v
Table Text Button Text Input
Eva Lu Ator evaluator@tryretool.com —
# —1 5
-
Robert') DROP TABLE Users; droptable@xkcd.com Number Input Select Container Form
A B
Louis Reasoner louis@competitor.com |I| D
[ ]
Tabbed Modal Chart Key Value
Alyssa P. Hacker tenx@tryretool.com Container
Showing 1-5 of 13 1]of3 » s+ YT C @ .
Image Navigation
All queries completed. Text inputs
-
Code aQa = + [J General Response Advanced query2 » Run o .2 0
T & T ke S —I I
W} getUsers _
W query2 .o Resource m onboarding_db Edit Q Search tables or columns Editable Text Edite;:ileeaText Email JSON Editor
BIu”
SQL mode Run query automatically when inputs change All tables (e Pl I z T—1
I
+ ar_internal_metadata
v SQL mode Password Rich Text Text Area Text Input
i key # varchar Editor
Query your database by running raw SQL .
. created_at timestamp
statements. Typically used for reads.
updated_at timestamp
”—I
GUI mode (write) value varchar
Construct write queries with a GUI. Easier > credits URL
and less error prone than writing raw SQL. > =B
Tranctarmar Enahla Ann wiallave Niimher inniite
(9 Latest No queries running % 92 0
|Admin Panel
- i B 0 - 100% P Preview
= Manage users Edit
Header Inspect  Create
Components Modules
Q_ Search components
Main
Commonly used
First Name Last Name Email Active
|| =
Ben Bitdiddle ben@tryretool.com v
Table Text Button Text Input
Eva Lu Ator evaluator@tryretool.com —
# —1 5
-
Robert') DROP TABLE Users; droptable@xkcd.com Number Input Select Container Form
A B
Louis Reasoner louis@competitor.com Il D
[ ] 1
Tabbed Modal Chart Key Value
Alyssa P. Hacker tenx@tryretool.com Container
Showing 1-5 of 13 1]of3 » s+ YT C @ .
Image Navigation
All queries completed. Text inputs
-
Code aQa = + [J General Response Advanced updateUser » Run o .2 0
T s T ke S —I I
I getUsers —_— e
W updateUser e Q Search tables or columns Editable Text Editable Text Email JSON Editor
EVENT HANDLERS Area
Success + Add B/u” o
Related tables c Pl I = T T —1
getUsers.trigger() eoe S (TS
Password Rich Text Text Area Text Input
Failure + Add All tables Editor
i i i ~ ar_internal_metadata
Trigger queries, control components, or call other APIs in response to
query failure. These are not run when the query is previewed. key # varchar S—I
created_at timestamp
updated_at timestamp URL
value varchar
Niimher inniite
(9 Latest No queries running % 92 0
|Admin Panel
- i B 0 - 100% P Preview
= Manage users Edit
Header Inspect  Create
Components Modules
Q_ Search components
Main
Commonly used
i| First Name Last Name Email Active |
| | [0 %= e b=
| Ben Bitdiddle ben@tryretool.com v i
i i Table Text Button Text Input
| Eva Lu Ator evaluator@tryretool.com | —
| | #—1 5
! i -
Robert') DROP TABLE Users; droptable@xkcd.com Number Input Select Container Form
[ i , , i A B
| Louis Reasoner louis@competitor.com | Il D
Tabbed Modal Chart Key Value
.| AlyssaP. Hacker tenx@tryretool.com 1 Container
{| Showing 1-5of 13 1]of3 » LY C | @ .
ar_internal_metadata Image Navigation
All queries completed. credits Text inputs
-
AR Bl o - 5
T & T & S —I I
W} getUsers dog_walkers
Editable Text Editable Text Email JSON Editor
m query2 o images Q Search tables or columns e
items BIu” ~
All tables c Pl I = T —1
line_items - ar_internal_metadata
Password Rich Text Text Area Text Input
orders key # varchar Editor
created_at timestamp
Select a table updated_at timestamp —
D)
i value varchar
Action type
> credits URL
Select an action Ndcals
Ann wiallave Niimher inniite
(9 Latest No queries running % 92 0
|=  Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
(I7 usersTable
DATA -
Main
i usersTable
o O Data {{ getUsers.data }}
First Name Last Name Email Active
Empty state No rows found
Ben Bitdiddle ben@tryretool.com v
Show spinner when data is loading «©
Eva Lu Ator evaluator@tryretool.com Reset after successful save «©
Robert') DROP TABLE Users; droptable@xkcd.com COLUMNS -
Columns (9) + Add
Louis Reasoner louis@competitor.com
Title Editable
Alyssa P. Hacker tenx@tryretool.com @8 id X
[ First Name
Showing 1-5 of 13 1|of3 » ¥y Y C
I I [ Last Name
5 Email
All queries completed. £8 created_at N
-
Code aQa = + [[] General Response Advanced query2 m o .7 (B updated_at X
W} getUsers o ) Active
Q Search tables or columns
Wl query2 o Changeset B feature_flags R
Key value pairs . .
trial_expiry_date R
Related tables c 8 piry R
value X > users Use dynamic column settings
+ Add new All tables
~ ar_internal_metadata SORTING -
Allow this query to modify multiple rows in the database? key # varchar
created_at timestamp Sort column Select column
Consider queries that update zero records as successes .
updated_at timestamp
value h
Transformer Enable varensn ROW SELECTION -
(9 Latest No queries running % 92 0
|Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
Components Modules
Q Search components
Main
Commonly used
First Name Last Name Email Active
D * @ &
Ben Bitdiddle ben@tryretool.com v
Table Text Button Text Input
Eva Lu Ator evaluator@tryretool.com —
# —1 5
-
Robert') DROP TABLE Users; droptable@xkcd.com Number Input Select Container Form
A B
Louis Reasoner louis@competitor.com Il D
[ ] 1
Tabbed Modal Chart Key Value
Alyssa P. Hacker tenx@tryretool.com Container
Showing 1-5 of 13 1]of3 » s+ YT C @ .
Image Navigation
All queries completed. Text inputs
-
Code aQa = + [[J General Response Advanced query2 m o .7 o
T & T ke S —I I
W} getUsers _
i N Search tables or columns Editable Text Editable Text Email JSON Editor
Wl query2 o Resource ! onboarding_db Edit Q Area
BIu”
GUI mode Run query only when manually triggered Related tables c Pl I z ; T—1
> users
Password Rich Text Text Area Text Input
Table All tables Editor
+ ar_internal_metadata
users
key # varchar —I
Action type created_at timestamp
updated_at timestamp URL
Update an existing record
value varchar
Niimher inniite
(9 Latest No queries running % 92 0
|= Admin Panel
- i B 0O - 100% m P Preview ~
= Manage users Edit
Header Inspect  Create
(I7 usersTable
DATA -
Main
i usersTable
> o) Data {{ getUsers.data }}
First Name Last Name Email Active
Empty state No rows found
Ben Bitdiddle ben@tryretool.com v
Show spinner when data is loading «©
Eva Lu Ator evaluator@tryretool.com Reset after successful save ©
Robert') DROP TABLE Users; droptable@xkcd.com COLUMNS -
Columns (9) + Add
Louis Reasoner louis@com  Edit success handler X
Title Editable
Alyssa P. Hacker tenx@tryre  Action Control query B id X
| : First Name
Control t B
Showing 1-5 of 13 1]of3 » ontroraueny eptons
O - Query getUsers (onboarding_... £B Last Name
5 Email
. Method Trigger
All queries completed. (8 created_at =
- Advanced
Code Q=+ [J General Response Ad m o .7 8 updated_at R
I Only run when {{ !'example.value }}
W} getUsers = 0 Active
) query2 o Q_ Search tables or columns
% query EVENT HANDLERS Debounce e 0 feature_flags X
Success + Ada trial_expiry_date X
Related tables c 9 trial_expiry- R
getUsers.trigger() eos . .
> users Use dynamic column settings
Failure + Add All tables
. i . ~ ar_internal_metadata SORTING -~
Trigger queries, control components, or call other APIs in response to
query failure. These are not run when the query is previewed. key # varchar
created_at timestamp Sort column Select column
updated_at timestamp
value varchar
ROW SELECTION -
{0 Latest No queries running % 92 0
|Admin Panel
L] . 2 0 - 100% m b Preview ~
= Manage users Edit
Header Inspect  Create
(I7 usersTable
DATA -
Main
i usersTable
o o) Data {{ getUsers.data }}
First Name Last Name Email Active
Empty state No rows found
Ben Bitdiddle ben@tryretool.com v
Show spinner when data is loading «©
Eva Lu Ator evaluator@tryretool.com Reset after successful save ©
Robert') DROP TABLE Users; droptable@xkcd.com COLUMNS -
Columns (9) + Add
Louis Reasoner louis@competitor.com
Title Editable
Alyssa P. Hacker tenx@tryre e adiey X @ id X
| [ First Name
Showing 1-5 of 13 1|of3 » Action Control query
& ! [ Last Name
Control query options
5 Email
. Query Select a query
All queries completed. (8 created_at =
- Advanced
Code Q=+ [J General Response Ad m o .7 8 updated_at R
I Only run when {{ !'example.value }}
W} getUsers = 0 Active
) query2 o Q_ Search tables or columns
% query EVENT HANDLERS Debounce e 0 feature_flags X
Success + Ada trial_expiry_date X
Related tables c 9 trial_expiry- R
Incomplete selection
P > users Use dynamic column settings
Failure + Add All tables
' ' ' ~ ar_internal_metadata SORTING -
Trigger queries, control components, or call other APIs in response to
query failure. These are not run when the query is previewed. key # varchar
created_at timestamp Sort column Select column
updated_at timestamp
value varchar
ROW SELECTION -
{0 Latest No queries running % 92 0


Learn

appName: Retool

appCategory: Developer Tools

appTagline: The best way to develop effective software

companyHqRegion: US & Canada

companyStage: Growth Stage

platform: web

pageType: Application

hotspotType: Click

hotspotType: Scroll Vertically

screenElements: Icon Thumbnail

screenElements:
Carousel
Page Control

screenElements:
Carousel
Page Control
Card
Link
Icon
Thumbnail
Icon
Thumbnail
Carousel
Page Control
Top Navigation Bar
Button
Avatar
Side Navigation
Thumbnail
Search Bar
Stacked List
Icon
Floating Action Button
Badge

screenPatterns: Misc Misc Home

pageType: Application Application Application Application

screenKeywords:
-_ Retool O Apps & Resources @ Query Library i Learn &5 Workflows BETA Upgrade e
- —° - = . ° R
= = - = e — —
Build a GUI for your SQL database 10:53 How Coursera uses Retool 6:55
Tips and tricks 2 3 >
Query anything with SQL
You can query data from non-SQL sources, like
Google Sheets and MongoDB, via SQL. Retool lets you
use SQL to query your data as if it was a table in a General - Advanced
database.
Selectresource @ Query JSON with SQL
To get started, select the Query JSON with SQL
resource in your app. 1 select *
2 from {{ apiData.data }}
3 where first_name ilike {{ '%' + textinputil.value + '%' }}
Learn More -
Quick links
(b Community > @ Documentation >
Q Webinars > @ Retool University >
What's new? > ];[ YouTube Channel >
|-_ Retool O Apps & Resources @ Query Library i Learn &5 Workflows BETA Upgrade e
Create an app
Build a simple app using a CSV < Build a simple app using sample data
Best way to start learning how to build in Retool g Don't have a CSV at hand? Use our sample data
Start from scratch < Learn with an example app
If you already know what you want to build g Deconstruct a pre-built app to see how Retool works
Video tutorials
- °__ = °__.___
Build your first app 13:34 Build a CRUD app from a Google Sheet 14:38
= == e [EEe—— e
= : = £ = | = e — s == [
= = = TEEE —— e [ —
= = i T o - s
= = — o i JR—
- e == »..;_ ; | o m—r——
= - - .= T e e—— —
Build a GUI for your SQL database 10:53 How Coursera uses Retool 6:55
Tips and tricks 2 3 >
|-_ Retool O Apps & Resources @ Query Library i Learn &5 Workflows BETA Upgrade e
= E - = o — e — [
Build a GUI for your SQL database 10:53 How Coursera uses Retool 6:55
Tips and tricks < s>
Reuse logic with modules
Modules let you reuse groups of components and
queries between Retool applications.
To create a new module, go to the Retool Apps page + Create a blank app
and press Create new - Create a module B, Create from template
@ Generate app from data
Learn More = {7 Import an app
@ Create amodule Beta
+ Create a new folder
Quick links
(b Community > @ Documentation >
Q Webinars > @ Retool University >
What's new? > ];[ YouTube Channel >
|-_ Retool O Apps & Resources @ Query Library i Learn &5 Workflows BETA Upgrade e
All (4) .
Welcome to Retool, John! Hide Learn more
Recent
Starred N R O .
Build a simple app using a CSV M || B et SRS
Modules p'e app i 9 L SR bl kB oo ol b
Best way to start learning how to build in Retool . e L ol [ b o
Trash s oes -_—
Learn with an example app : e [ ——
Folders 9 . . ey porp 3 am—
Deconstruct a pre-built app to see how Retool works N PR A mume - e -
Start from scratch
If you already know what you want to build Intro to Retool 4:02
Al
Select all
o Add User Form
%% Module - 35 minutes ago by John Smith
o Admin Panel
~  App - 26 minutes ago by John Smith
o Basic Admin
9% Module - 32 minutes ago
o Sample Users Page
~  App - 2 hours ago
&% Invite new members o


Debug tools

hotspotType: Hover

screenElements:
Stepper
Tab
Segmented Control

screenPatterns:
Misc
Empty State

screenElements:
Popover
Button
Stacked List
Text Field
Segmented Control
Tab
Keyboard Key
Stepper
Tab
Segmented Control
Search Bar

screenPatterns:
Misc
Misc
Misc
Empty State
Misc

pageType: Application Application Application Application Application Application

screenKeywords:
Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
Components Modules
Q Search components
Main
Commonly used
First Name Last Name Email B Active Delete Add New User
0 = e o
Ben Bitdiddle ben@tryretool.com v B
- =
Email &4 ben@tryretool.com Table Text Button Text Input
Eva Lu Ator evaluator@tryret... = First name * Ben —
# —1 5
-
Robert DROP TABLE Use...  droptable@xkcd.... B Last name * Bitdiddle Number Input  Select Container Form
Active * —
Louis Reasoner louis@competitor... B |I| D
[ ]
_ Tabbed Modal Chart Key Value
Alyssa P. Hacker tenx@tryretool.co... g Container
Showing 1-5 of 13 1]of3 » s+ YT C . .
Image Navigation
All queries completed. Text inputs
-
Code aQa = + [J General Response Advanced getUsers » Run o .2 0
T Rd T Ra S —1I .
i} getUsers 0.95 | see e - -
Console Timeline State  Linting @ Feedback @ X
! updateUser Resource I} onboarding_db Edit Q Search tabls
Fiterby @6 &4 A0 &0 Show timestamp Q
! deleteUser R .
SQL mode Run query automatically when inputs change Related tables or Errorf Car."?ct, read properties of undefined updateUser ¥
(reading 'id')
~ users
. € » Error: Cannot read properties of undefined deleteUser W
email # (reading 'id')
1 select * id #
2 from users T @ > getUsers ran successfully (0.742s). getUsers W
3 order by id
created_at @ » getUsers ran successfully (0.812s). getUsers W
feature_flags ! .
» console.log("hello, world!")
first_name
Trancfarmar Enahla last_name
(B Latest No queries running ® 9 (2]
|Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
Components Modules
Q Search components
Main
Commonly used
First Name Last Name Email B Active Delete Add New User
[ 2= @ o
Ben Bitdiddle ben@tryretool.com v B
- =
Email &4 ben@tryretool.com Table Text Button Text Input
Eva Lu Ator evaluator@tryret... B First name * Ben —
# —1 5
-
Robert) DROP TABLE Use...  droptable@xkcd.... B Last name * Bitdiddle Number Input  Select Container Form
Active * —
Louis Reasoner louis@competitor... B Il D
[ ] 1
- Tabbed Modal Chart Key Value
Alyssa P. Hacker tenx@tryretool.co... g Container
Showing 1-5 of 13 1]of3 » s+ YT C @ .
Image Navigation
All queries completed. Text inputs
-
Code aQa = + [J General Response Advanced deleteUser » Run o .2 0
T & T & < —1I I
W} getUsers 0.8s _
W updateUser Resource m onboarding_db Edit Q Search tables or columns Editable Text Edite;:ileeaText Email JSON Editor
}? deleteUser ol
GUI mode Run query only when manually triggered Related tables c Pl = z T—1
I I
> users
Password Rich Text Text Area Text Input
Table All tables Editor
> ar_internal_metadata
users )
> credits @ —1
Action type > deals
> dog_walkers URL
Delete a record > images
itame Niimher inniite
(9 Latest No queries running % 92 0
|Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
Components Modules
Search components
Main
Commonly used
First Name Last Name Email B Active Delete Add New User
0 = @ =
Ben Bitdiddle ben@tryretool.com v g
- =
Email &4 ben@tryretool.com Table Text Button Text Input
Eva Lu Ator evaluator@tryret... |5 First name * Ben —
I
— =
Robert DROP TABLE Use...  droptable@xkcd.... g Last name * Bitdiddle Number Input  Select Container Form
Active * —
Louis Reasoner louis@competitor... g Il D
[ ] 1
. Tabbed Modal Chart Key Value
Alyssa P. Hacker tenx@tryretool.co... g Container
Showing 1-5 of 13 1]of3 » s+ YT C . .
Image Navigation
All queries completed. Text inputs
Code N
[[J General Response Advanced getUsers » Run O
I
i} getUsers _ I
W updateUser Resource m onboarding_db Edit Search tables or columns Editable Text EdltibrleeaText Email JSON Editor
! deleteUser ol
SQL mode Run query automatically when inputs change Related tables 1 = I 1
I
users
email # T Char Password Rlé:gi:;erxt Text Area Text Input
1 select * id # bigint
2 from users A
N active boolean
3 order by id I
created_at timestamp
feature_flags jsonb URL
first_name varchar Debug Tools |~ || *
Tranefarmar Enahla last_name varchar Niimher inniite
Latest No queries running x 2
|= Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
Components Modules
Q Search components
Main
Commonly used
First Name Last Name Email B Active Delete Add New User
0 = e o
Ben Bitdiddle ben@tryretool.com v B
- =
Email &4 ben@tryretool.com Table Text Button Text Input
Eva Lu Ator evaluator@tryret... B First name * Ben —
# —1I S
-
Robert DROP TABLE Use...  droptable@xkcd.... B Last name * Bitdiddle Number Input  Select Container Form
Active * —
Louis Reasoner louis@competitor... B Il D
[ ] 1
- Tabbed Modal Chart Key Value
Alyssa P. Hacker tenx@tryretool.co... g Container
Showing 1-5 of 13 1]of3 » s+ YT C . .
Image Navigation
All queries completed. Text inputs
-
Code aQa = + [J General Response Advanced getUsers » Run o . 0
T Ra T Ra S —1I .
! getUsers 0.9s | oo -
W9 : Console Timeline State Linting @ Feedback @ X
! updateUser Resource I} onboarding_db Edit Q Search tabls 4
Fiterby @2 &4 ©O0 - 100% + @
W deleteUser 15:24 15:28 15:32
SQL mode Run query automatically when inputs change Related tables Q Search ’ ’ '
~ users W} getUsers & < @ 2.02s
email #
W oloct s addUser < €081s
Z (i) (A T addUser < @0.43s
3 order by id
created_at addUser < ©0.88s
feature_flags -
first_name W} getUsers & < @0.74s
Tranefarmar Enahla last_name U getUsers 0.81s
(B Latest No queries running * 9 (2]
|Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
Components Modules
Q Search components
Main
Commonly used
First Name Last Name Email B Active Delete Add New User
[ 2= @ o
Ben Bitdiddle ben@tryretool.com v B
- =
Email &5 ben@tryretool.com Table Text Button Text Input
Eva Lu Ator evaluator@tryret... B First name * Ben —
# —1 5
-
Robert DROP TABLE Use...  droptable@xkcd.... B Last name * Bitdiddle Number Input  Select Container Form
Active * —
Louis Reasoner louis@competitor... B Il D
[ ] 1
- Tabbed Modal Chart Key Value
Alyssa P. Hacker tenx@tryretool.co... g Container
Showing 1-5 of 13 1]of3 » s+ YT C @ .
Image Navigation
All queries completed. Text inputs
-
Code aQa = + [J General Response Advanced getUsers » Run o . 0
T P T P S —I -
! getUsers 0.9s | oo -
W9 : Console Timeline State Linting @ Feedback @ X
! updateUser Resource I} onboarding_db Edit Q Search tabls
! deleteUser
SQL mode Run query automatically when inputs change Related tables
~ users
email #
1 select * id # No linting errors in component or query settings.
2 from users T
3 order by id
created_at
feature_flags
first_name
Trancfarmar Enahla last_name
(B Latest No queries running * 9 (2]
|Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
Components Modules
Q Search components
Main
Commonly used
First Name Last Name Email B Active Delete Add New User
0 = e o
Ben Bitdiddle ben@tryretool.com v B
- =
Email &4 ben@tryretool.com Table Text Button Text Input
Eva Lu Ator evaluator@tryret... = First name * Ben —
# —1I S
-
Robert DROP TABLE Use...  droptable@xkcd.... B Last name * Bitdiddle Number Input  Select Container Form
Active * —
Louis Reasoner louis@competitor... B Il D
[ ] 1
_ Tabbed Modal Chart Key Value
Alyssa P. Hacker tenx@tryretool.co... g Container
Showing 1-5 of 13 1]of3 » s+ YT C . .
Image Navigation
All queries completed. Text inputs
-
Code aQa = + [J General Response Advanced getUsers » Run o . 0
T Ra T Ra S —1I .
! getUsers 0.95 | oo -
W < Console Timeline State Linting @ Feedback @ X
! updateUser Resource I} onboarding_db Edit Q Search tabls .
Q Search W} getUsers (SalQueryUnified) «
! deleteUser
SQL mode Run query automatically when inputs change Related tables Queries data {} 9 keys
deleteUser error null
v users getUsers ) actionType ""
email # updateUser bulkUpdatePrimaryKey ""
1 select * id # cacheKeyTtl "
2 from user§ T Components changeset ""
g order by id created_at checkbox1 changesetIsObject false
feature_flags form1 chanaesetOhiect ""
first_name formButton1 Controlled by 2 updateUser, deleteUser
i Updates 1 usersTable
Tranefarmar Enahla last_name formTitle1 P
(B Latest No queries running * 9 (2]


Admin panels

pageType: Marketing

pagePatterns:
Landing Page
Footer Section

pagePatterns:
Solutions & Use Cases Page
Hero Section

screenElements:
Hero Image
Button

screenElements:
Link
Hero Image
Button

pagePatterns:
Landing Page
Footer Section
Solutions & Use Cases Page
Hero Section
Solutions & Use Cases Page
Feature Section
Solutions & Use Cases Page
Feature Section
Solutions & Use Cases Page

pageType: Marketing Marketing Marketing Marketing Marketing

screenKeywords:
-_ Retool Products v Customers Integrations Pricing Docs Book a demo
~ - L J v v v L J v [ J [ J L J
GCL Sidlteu puliuinyg your el e e & e A °
= m e 6 6 6 o 0 0 O
internal tool in under 10 . Y %%
e 6 ¢ o 6 0 0 o
= e 6 o o e o o
minutes o e’ o
[ J
e 6 o o
: e o o o
Sign up for free Schedule a demo - o o ©
[
-_ Retool Use Cases Integrations Developers Community Company
Admin panels PostgreSQL Changelog Community home About
Firebase GUI MySQL Documentation Support forum Customers
MongoDB GUI DynamoDB Status Show & tell Careers
GraphQL GUI Firebase On-prem deployment Retool for Startups Team
Dashboards GraphQL API Generator Internal Tools Report Blog
SQL GUI Amazon S3 Developer Utilities Engineering Time
React components Google Sheets Report
Google Sheets GUI MongoDB
|-
- Retool Products v Customers Integrations Pricing Docs Sign in Start for free
morning, Alex!
Customers 281
ST (e Active MRR  $284,432
ne Project manager
Select a manager Active subscription
: Success manager .
Solutions Initech
Th f st st t Select a manager Customer since Jun 24, 2018
I u i I I n I i n n I Y ¢ Usage Records validated
I Company name CsSM MRR
. ) _ _ 83.33% 40.78%
Save hundreds of hours with pre-made Initech Jessica Mohaim $321.50 B ,
i i Circle Health .
templates, integrations, and components. Duncan Idaho $111.00 oo s [
Yogi sportswear Maya Gao $438.50 Monthly 12 Monthly 95
Try Retool now - Book a demo General  Advanced downloadSelectedFile Preview
Selectresource W} postgresal  retool_emailer_write write Q  Search tables or columns
ar_internal_metadata
Actiontype  Update existing records key varchar
value varchar
Database table  Select a table SRR tmezone
iFile indatad A+ +imaznana
« 231 rows returned in 3s X
name quantity id unit_price_cents
Stucture and Interpretation of Computer Proarams 961 1 998001
’
|-
- Retool Products v Customers Integrations Pricing Docs Book a demo Start for free
Explore a live demo oce
An admin panel template with
basic CRUD views for ‘ Firebase Admin Panel
Firebase. Select a collection,
. . Select a collection from the dropdown to start browsing your documents.

and click on a document in the . —
table to explore it and add coll

ollection i
new ones. This is similar to the «  ny-facilities & Explore Document Q
Firebase admin console; . B i W LA

Actions Facility Name Address % =
however, because you control &
the Ul, you can very granularly Edit New York City Housing Authority 441 Wes % K3

SUGAR HILL Q N

control permissions. A L

Edit Green lvy Battery Park, LLC 21 South HEIGHTS ., jf

Edit Wally Park LLC 1601 De

Edit Foundation For Filipino Artists (2) 86-13 5¢

St. Benedict's Day Nursery 21 West i
# Explore live demo
’
|-_ Retool Products v Customers Integrations Pricing Docs Book a demo Start for free
« 231 rows returned in 3s X
name quantity id unit_price_cents
Stucture and Interpretation of Computer Proarams 961 1 998001
) Success manager Select a manager
o |
. ‘ @ ’ = 12 results
-
id Company name CSM I o =
© S O » . “°
1 Retool Jessica Mohaim
Easily connect to your datasource and Drag, drop, and build your admin panel Build faster with 50+ drag and drop
get right to building Every admin panel is unique, but they share a components
Connect directly to your database, query with bunch of core elements like tables, search, Explore our library of 50+ components to
SQL, or issue commands via a GUI. Quickly pull buttons, and forms. Retool gives you these quickly build a Ul for your app with out-of-the-
the data you need into your table or front-end. components out of the box with flexibility box components like tables, buttons, text
Explore our growing library of native around triggers, styles, filters, and whatever inputs, and much more. Read, write, and update
integrations to PostgreSQL, MySQL, MongoDB, else you’d be building yourself. your PostgreSQL data in minutes instead of
Firebase, S3, Elasticsearch and more. hours.
From startups to Fortune 500s, the world's most effective teams use @ ' Dean McRobie
Retool to power their internal apps. Our customers - CTO at CommonBond
|-
- Retool Products v Customers Integrations Pricing Docs Book a demo Start for free
Retool provides the Whether you're building a basic CRUD interface or refund management software, internal tools have the same building
bUI|dIng blocks for any blocks: tables, text boxes, dropdowns, etc. Retool gives you a simple way to connect these building blocks with your own
. data sources so you can assemble any custom internal tool, fast.
internal tool
Start building now - Data source
How Alex built a dashboard {{ query.data }}
4 min Watch now »
Compact mode
received_at Filter button
Column title Download button
ime received_at email . Spin when fetching data
- received_at
)gi Seethanraman 2019-04-22 yogi@r Column typ COLUMN OPTIONS -
aya Gao 2019-02-11 maya@ Default ° Default column to sort by
istin Gage 2019-01-23 justin@ Make 3 Select a column Descending
ake editanie
ine Kelly 2018-08-22 jane@r
Mapper Columns (8) + Custom column
Page 1 of2 Click to edit, drag and drop to reorder.
{{moment (self).format('YYYY-MM-
DD')}} id
Use self to access current cell data, name
and currentRow to access row data.
received_a&o ©
email


Editing form title

hotspotType: Keyboard Input

screenElements:
Text Field
Text Field

screenKeywords:
Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
Components Modules
Q Search components
Main
Commonly used
First Name Last Name Email B Active Delete Add New User
[ 2= @ o
Ben Bitdiddle ben@tryretool.com v B
- =
Email &4 ben@tryretool.com Table Text Button Text Input
Eva Lu Ator evaluator@tryret... B First name * Ben —
# —1 5
-
Robert) DROP TABLE Use...  droptable@xkcd.... B Last name * Bitdiddle Number Input  Select Container Form
Active * —
Louis Reasoner louis@competitor... B Il D
[ ] 1
- Tabbed Modal Chart Key Value
Alyssa P. Hacker tenx@tryretool.co... g Container
Showing 1-5 of 13 1]of3 » s+ YT C @ .
Image Navigation
All queries completed. Text inputs
-
Code aQa = + [J General Response Advanced deleteUser » Run o .2 0
T & T & < —1I I
W} getUsers 0.8s _
W updateUser Resource m onboarding_db Edit Q Search tables or columns Editable Text Edite;:ileeaText Email JSON Editor
}? deleteUser ol
GUI mode Run query only when manually triggered Related tables c Pl = z T—1
I I
> users
Password Rich Text Text Area Text Input
Table All tables Editor
> ar_internal_metadata
users )
> credits @ —1
Action type > deals
> dog_walkers URL
Delete a record > images
itame Niimher inniite
(9 Latest No queries running % 92 0
|=  Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
7" formTitle1
BASIC -
Main
Value Markdown
Ben Bitdiddle ben@tryretool.com v B N
Email * ben@tryretool.com ADORNMENTS
Eva Lu Ator evaluator@tryret... B First name * Ben Tooltip
Robert DROP TABLE Use...  droptable@xkcd.... g Last name * Bitdiddle
LAYOUT -
Active * Al
Louis Reasoner louis@competitor... B ignment
Alyssa P. Hacker tenx@tryretool.co... B Image width
Fit
Showing 1-5 of 13 1|of3 » ¥y Y C
Height
Hug contents
All queries completed. Hidden false
Code Q & + x
[[] General Response Advanced deleteUser m » Run O . Maintain space when hidden
W} getUsers 2.1s _
Always show in edit mode
lﬁl updateUser Resource i onboarding_db Edit Q_ Search tables or columns
}? deleteUser STYLE ~
GUI mode Run query only when manually triggered Related tables c
~ users Styles
email # varchar
Table i Background / Transparent
id # bigint
users active boolean Text Contrast text
A created_at timestamp
t' t . .
ction type feature_flags jsonb Links . Primary
Delete a record first_name varchar
last_name varchar [ N
(B Latest No queries running * 9 (2]
|= Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
7" formTitle1
BASIC -
Main
Value Markdown
First Name Last Name Email B Active Delete l Add New User l #### Add New User
Ben Bitdiddle ben@tryretool.com v B N
Email * ben@tryretool.com ADORNMENTS
Eva Lu Ator evaluator@tryret... = First name * Ben Tooltip
Robert DROP TABLE Use...  droptable@xkcd.... g Last name * Bitdiddle Lavour R
Active * Al
Louis Reasoner louis@competitor... B ignment
Alyssa P. Hacker tenx@tryretool.co... B Image width
Fit
Showing 1-5 of 13 1|of3 » ¥y Y C
Height
Hug contents
All queries completed. Hidden false
Cod =
ode a == + [J General Response Advanced deleteUser PRun 03 " | \saintain space when hidden
W} getUsers 2.1s _
Always show in edit mode
lﬁl updateUser Resource i onboarding_db Edit Q_ Search tables or columns
}? deleteUser STYLE -
GUI mode Run query only when manually triggered Related tables c
~ users Styles
email # varchar
Table i Background / Transparent
id # bigint
users active boolean Text Contrast text
Acti created_at timestamp
ction type feature_flags jsonb Links . Primary
Delete a record first_name varchar
last_name varchar [ N
(B Latest No queries running * 9 (2]
|= Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
([} form1
BASIC -
Main
Initial data
First Name Last Name Email @ Active Delete Form title {{ usersTable.selectedRow.data }}
Ben Bitdiddle ben@tryretool.com v g Reset after successful submit «©
Email * ben@tryretool.com
Eva Lu Ator evaluator@tryret... B First name * Ben INTERACTION -
l - l Event handlers + Add
Robert DROP TABLE Use...  droptable@xkcd.... g Last name * Bitdiddle
Active * Trigger qu'eries, control components, or call
_ other APIs in response to component events.
Louis Reasoner louis@competitor... g
Alyssa P. Hacker tenx@tryretool.co... B
Validate inputs on submit «©
Showing 1-5 of 13 1|of3 » ¥y Y C .
Disable submit false
Loading false
All queries completed.
Hoist loading state «©
-
Code aQa = + [J General Response Advanced deleteUser » Run o .2
W getUsers 2.1s - ADORNMENTS -
lﬁl updateUser Resource i onboarding_db Edit Q_ Search tables or columns
Tooltip
}? deleteUser
GUI mode Run query only when manually triggered Related tables c
- users LAYOUT -
email # varchar
Table
id # bigint Show header «©
users ti bool
active oolean Show body ©
A created_at timestamp
ction type
yp feature_flags jsonb Show footer «©
Delete a record first_name varchar .
last_name varchar Height Qi
(B Latest No queries running * 9 (2]


Themes

screenElements: Dialog Accordion Thumbnail

screenElements: Banner Button

screenElements:
Dialog
Accordion
Thumbnail
Banner
Button
Side Navigation
Search Bar
Button
Stacked List
Badge
Accordion

screenPatterns:
Guided Tour & Tutorial
Settings & Preferences
Settings & Preferences
Guided Tour & Tutorial

screenKeywords:
— Retool O Apps & Resources ® Query Library i Learn &5 Workflows BETA Upgrade e
Personal Th
emes
Account
Users Promo code
L New pd state (optional)
Permissions MRR Revenue Upgrade ™
[ition
Environments $32,123 $2,892 B Downgrade
W No change .
a 10% %
Billing Custom theme, anywhere e —
" t an option
Branding (ERtSrBnss Customize the look of any Retool app.
Themes  Business Upgrade -
checked checkbox
Advanced Years in business Focused state (optional)
Expected annual GPV (optic " Venre in bhucinace
$ 83,203 How themes works X
1 Create theme -
Click "Create New" to create a new theme. Name your
theme and select one of the six base themes as a starting
point.
Create a new theme
Theme name Give yc
Retool default themes (6)
2 Customize theme v
3 Apply theme to apps v
4 Fine-tune colors v
Have questions? Read the documentation.
|— Retool Q) Apps & Resources ® Query Library i Learn i"& Workflows BETA Upgrade e
Personal Themes
Account
Organization Assessment
Users
Promo code
L New pd state (optional)
Permissions MRR Revenue Upgrade ™
[ition
Environments $32,123 $2,892 B Downgrade
W No change .
a 10% 6%
Billing Custom theme, anywhere M pUTEiEEs
" t an option
Branding Enterprise Customize the look of any Retool app.
ecked checkbox
Themes  Business Upgrade -
checked checkbox
Advanced Years in business Focused state (optional)
Expected annual GPV (optional) Years in business Spin when fetchi
83,293
ed on
|— Retool O Apps & Resources ® Query Library i Learn &5 Workflows BETA Upgrade e
Personal
UserS Enabled users (2) Sort by Name Search for a user m
Account
Organization Showing 2 enabled users.
Users Name Permissions 2FA Last active
Permissions ° Jane Doe (jdoe.mobbin@gmail.com) admin All Users a few seconds ago
Environments
e John Smith (jsmith.mobbin@gmail.com) admin  All Users 2 hours ago
Billing
Branding Enterprise
Themes Business
Advanced
Beta
|— Retool O Apps & Resources ® Query Library i Learn &5 Workflows BETA Upgrade e
Personal Th
emes
Account
Users Promo code
L New bd state (optional)
Permissions MRR Revenue Upgrade R
Environments $32123 $2,892 ® Downgrade
W No change .
10% %
Billing Custom theme, anywhere “ e —
" t an option
Branding (ERtSrBnss Customize the look of any Retool app.
Themes  Business Upgrade -
Advanced Years in business How themes works X
Beta Select an option
1 Create theme v
Expected annual GPV (optic
% 83,293 2 Customize theme -
3 Apply theme to apps -
You can apply your new theme to individual apps by going to
App settings > Select a theme. If you want a theme to be
used across all apps, set it as the default theme.
Select a team theme
! Migrate old CSS
You may notice that some of your old CSS is not
working anymore. Learn more here.
4 Fine-tune colors v
Have questions? Read the documentation.


Creating custom shortcuts

screenElements: Dialog Button

screenPatterns:
Add & Create
Acknowledgement & Success

screenElements:
Dropdown Menu
Dialog
Button
Text Field
Button
Text Field

screenPatterns:
Action Option
Misc
Add & Create
Acknowledgement & Success
Add & Create

screenKeywords:
Onboarding Page
= o 9 rag _ i B 0 - 100% m P Preview ~
= Description and documentation Edit
App actions
Header sect  Create
S Import app from JSON
Learn more v Community What's new ¥ Welcome, Jok ples
Export to JSON
ents
Main .
Duplicate app
Clone to module
Releases and history m T—1
t Button Text Input
Reload all queries
Upgrade components B
-
App settings ct Container Form
Scripts and styles | D
il
URL parameters
al Chart Key Value
Custom shortcuts
(a] G
Image Navigation
All queries completed. Text inputs
-
Code aQa = + [J General Response Advanced query1 » Run o .2 0
T s T ke S —I I
W query1 0.85 | oo e
Resource m onboarding_db Edit Q Search tables or columns Editable Text Edlte;:ileeaText Email JSON Editor
BIu”
SQL mode Run query automatically when inputs change Related tables (e Pl I z T—1
I
~ users
email # L CIaT Password Rlé:gi::;arxt Text Area Text Input
1 select * from users limit 100 id # bigint
active boolean
”—I
created_at timestamp
feature_flags jsonb URL
first_name varchar
Tranefarmar Enahla last_name varchar Niimher inniite
(9 Latest No queries running % 92 0
|Custom keyboard shortcuts @ X
|Custom keyboard shortcuts @ X
shortcut script to run, e.g. open a modal like modal.open() X
v Changes saved.
|Custom keyboard shortcuts @ X
selectedUser {{ usersTable.selectedRow.data.id }} X
v Changes saved.


Deleting a component

hotspotType: Right Click

screenElements:
Button
Context Menu
Editable Text

screenPatterns:
Delete
Action Option

screenKeywords:
Are you sure you want to delete navigation?
Cancel
|Admin Panel
= i B 0 - 100% m P Preview ~
= Manage users Edit
Haas Inspect  Create
inspect
i i S PN . .
Lear! AT ) What's new \‘ Welcome, John = havigation
View state LoGo N
Main c %C
o|
Py URL
Duplicate 8D
Paste below 8V
On click
Rename
Run a query
Delete <
Select a query
MENU -
Menu items (3) + Add
it Learn more (3)
: Working with components
:: Reading and writing data
:: Retool docs
All queries completed.
Cod = ¢ Community
oae a = + [ General Response Advanced query1 » Run o 2
i What's new
W query1 0.85 | oo e
Resource ¥} onboarding_db Edit Q Search tables or columns Menu alignment
|
SQL mode Run query automatically when inputs change Related tables ©
v users LAYOUT ~
email # varchar
1 select * from users limit 100 id # bigint
. Hidden false
active boolean
Cestediat UL Maintain space when hidden
feature_flags jsonb
first_name varchar Always show in edit mode
Trancfarmar Enahla last_name varchar
{0 Latest No queries running % 92 0
|Admin Panel
- i B 0 - 100% P Preview
= Manage users Edit
Header Inspect  Create
v Deleted component successfully! (88Z to undo) —_—
Components Modules
Q_ Search components
Main
Commonly used
[ 2= @ o
Table Text Button Text Input
# —1 5
-
Number Input Select Container Form
- I O
Tabbed Modal Chart Key Value
Container
(a) G
Image Navigation
All queries completed. Text inputs
-
Code aQa = + [J General Response Advanced query1 » Run o .2 0
T s T ke S —I I
W query1 0.85 | oo e
Resource m onboarding_db Edit Q Search tables or columns Editable Text Edlte;:ileeaText Email JSON Editor
: . BIu”
SQL mode Run query automatically when inputs change Related tables (e Pl I z T—1
I
~ users
email # L CIaT Password Rlégi::;arxt Text Area Text Input
1 select * from users limit 100 id # bigint
active boolean
I
created_at timestamp
feature_flags jsonb URL
first_name varchar
Trancfarmar Enshla last_name varchar Numher inniite
(9 Latest No queries running % 92 0
|Admin Panel
= o _ i B 0 - 100% m P Preview ~
= Description and documentation Edit
Header Inspect  Create
. \ Components Modules
Learn more v Community What's new ~ Welcome, John P
Q Search components
Main
Commonly used
3 = o =
Table Text Button Text Input
# —1 .
-
Number Input Select Container Form
- I O
Tabbed Modal Chart Key Value
Container
(a) G
Image Navigation
All queries completed. Text inputs
-
Code aQa = + [J General Response Advanced query1 » Run o .2 0
T s T ke S —I I
W query1 0.85 | oo e
Resource m onboarding_db Edit Q, Search tables or columns Editable Text Edlte;:ileeaText Email JSON Editor
. . Blu” =
SQL mode Run query automatically when inputs change Related tables (e Pl I ] : T—1
~ users
email # L CIaT Password Rlé:gi::;arxt Text Area Text Input
1 select * from users limit 100 id # bigint
active boolean
v—I
created_at timestamp
feature_flags jsonb URL
first_name varchar
Trancfarmar Enshla last_name varchar Numher inniite
(9 Latest No queries running % 92 0


Editing a table column

screenElements:
Popover
Text Field
Switch
Button
Divider
Text Field

screenPatterns: Edit Edit Reorder

screenKeywords:
= Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
usersTable
DATA
Main
i usersTable
Q o) Data {{ getUsers.data }}
first_name last_name email created_at updated_at active feature_flags .
first_name X
npty state No rows found
Ben Bitdiddle ben@tryret... Dec 1, 201... Nov 29, 20... v -
Column title first_name 10w spinner when data is loading «©
Eva Lu Ator evaluator@..  Dec 2,201..  Nov 29, 20... - 'set after successful save «©
Column type Auto
Robert') DROP TABL...  droptable@..  Dec 3,201..  Nov 29, 20... - Editable column JLUMNS
slumns (9) + Add
Louis Reasoner louis@com... Dec 4, 201... Nov 29, 20... -
Mapped value Title Editable
Alyssa P. Hacker tenx@tryre..  Dec5,201..  Nov 29, 20... - id
Disable sorting EUIETE
Showing 1-5 of 13 1|of3 » ¥y Y C Sort by mapped value ©
last_name
O O
email
. Show column «©
All queries completed. created_at
Background
Code [) General Response Advanced getUsers g updated_at
i} getUsers — Alignment active
Resource W. onboarding_db Edit Freeze column — feature_flags
SQL mode Run query automatically when inputs change Reset column width trial_expiry_date
users Use dynamic column settings
+~ Query ran successfully X Close
SORTING
id | email | first_name | last_name | created_at | updated_at | active
Sort column Select column
1 ben@tryretool.com Ben Bitdiddle 2018-12-01T00:... 2022-11-29T08:... true
2 evaluator@tryret... Eva Lu Ator 2018-12-02T01:... 2022-11-29T08:... false ROW SELECTION
Latest No queries running
|= Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
(I7 usersTable
DATA -
Main
i usersTable
o O Data {{ getUsers.data }}
First Name Last Name Email Active
Empty state No rows found
Ben Bitdiddle ben@tryretool.com v
Show spinner when data is loading «©
Eva Lu Ator evaluator@tryretool.com Reset after successful save «©
Robert') DROP TABLE Users; droptable@xkcd.com COLUMNS -
Columns (9) + Add
Louis Reasoner louis@competitor.com
Title Editable
Alyssa P. Hacker tenx@tryretool.com @8 id X
[ First Name
Showing 1-5 of 13 1|of3 » ¥y Y C
I I [ Last Name
5 Email
All queries completed. £8 created_at N
-
Code Q= + [[] General Response Advanced getUsers » Run o 7 [ updated_at B\
i} getUsers e (B Active
" " Q, Search tables or columns
Resource ! onboarding_db Edit (3 feature_flags N
SQL mode Run query automatically when inputs change Related tables & BB trial_expiry_date R
users Use dynamic column settings
+~ Query ran successfully X Close
SORTING -
id | email | first_name | last_name | created_at | updated_at | active
Sort column Select column
1 ben@tryretool.com Ben Bitdiddle 2018-12-01T00:... 2022-11-29T08:... true
2 evaluator@tryret... Eva Lu Ator 2018-12-02T01:... 2022-11-29T08:... false ROW SELECTION -~
(9 Latest No queries running % 92 0
|=  Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
usersTable
DATA
Main
i usersTable
Q o) Data {{ getUsers.data }}
First Name last_name email created_at updated_at active feature_flags .
first_name X
npty state No rows found
Ben Bitdiddle ben@tryret... Dec 1, 201... Nov 29, 20... v -
Column title First Name 10w spinner when data is loading «©
Eva Lu Ator evaluator@..  Dec 2,201..  Nov 29, 20... - 'set after successful save «©
Column type Auto
Robert') DROP TABL...  droptable@..  Dec 3,201..  Nov 29, 20... - Editable column JLUMNS
slumns (9) + Add
Louis Reasoner louis@com... Dec 4, 201... Nov 29, 20... -
Mapped value Title Editable
Alyssa P. Hacker tenx@tryre..  Dec5,201..  Nov 29, 20... - id
Disable sorting First Name
Showing 1-5 of 13 1|of3 » ¥y Y C Sort by mapped value ©
last_name
O O
email
Show column
All queries completed. W colu o created_at
Background
Code [) General Response Advanced getUsers g updated_at
i} getUsers — Alignment active
Resource W. onboarding_db Edit Freeze column — feature_flags
SQL mode Run query automatically when inputs change Reset column width trial_expiry_date
users Use dynamic column settings
+~ Query ran successfully X Close
SORTING
id | email | first_name | last_name | created_at | updated_at | active
Sort column Select column
1 ben@tryretool.com Ben Bitdiddle 2018-12-01T00:... 2022-11-29T08:... true
2 evaluator@tryret... Eva Lu Ator 2018-12-02T01:... 2022-11-29T08:... false ROW SELECTION
Latest No queries running
|= Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
usersTable
DATA
Main
i usersTable
o O Data {{ getUsers.data }}
first_name last_name email created_at updated_at active feature_flags
Empty state No rows found
Ben Bitdiddle ben@tryret... Dec 1, 201... Nov 29, 20... v -
Show spinner when data is loading «©
Eva Lu Ator evaluator@..  Dec 2,201..  Nov 29, 20... - Reset after successful save «©
Robert') DROP TABL... droptable@... Dec 3, 201... Nov 29, 20... - COLUMNS
Columns (9) + Add
Louis Reasoner louis@com... Dec 4, 201... Nov 29, 20... -
Title Editable
Alyssa P. Hacker tenx@tryre..  Dec5,201..  Nov 29, 20... - id
first_name
Showing 1-5 of 13 1|of3 » ¥y Y C
5 S last_name
email
All queries completed. created_at
Code N
[) General Response Advanced getUsers » Run O . updated_at
i} getUsers _ active
n - Search tables or columns
Resource ! onboarding_db Edit feature_flags
SQL mode Run query automatically when inputs change Related tables trial_expiry_date
users Use dynamic column settings
+~ Query ran successfully X Close
SORTING
id | email | first_name | last_name | created_at | updated_at | active
Sort column Select column
1 ben@tryretool.com Ben Bitdiddle 2018-12-01T00:... 2022-11-29T08:... true
2 evaluator@tryret... Eva Lu Ator 2018-12-02T01:... 2022-11-29T08:... false ROW SELECTION
Latest No queries running


Restoring a previous version

screenElements:
Dialog
Stacked List
Tab
Segmented Control
Loading Indicator

screenPatterns:
Timeline & History
Loading

pageType: Application Application Application

screenKeywords:
Releases History X
History L
Edit formTitle1 . .

. Current working version
You 2 minutes ago
Restore f:hanges 2 Restore
You 2 minutes ago
Edit forrI1T|tIe1 2 Restore
You 3 minutes ago
Edit fornﬂ 2 Restore
You 3 minutes ago
Create (?heckbox1 2 Restore
You 3 minutes ago
Create tfextlnput?. 2 Restore
You 3 minutes ago
Create tfextlnputz 2 Restore
You 3 minutes ago
Edit forn"n 1; Delete ; Create textinput1 D Restore
You 3 minutes ago
Edit fornfﬂ ; Delete 9 Restore
You 3 minutes ago
Create ff:rmButton1 9 Restore
You 3 minutes ago
|Releases History X
History "]
Restore changes Current working version
You a few seconds ago

Edit fornﬁTﬂIe1 2 Restore
You 2 minutes ago

Restore f:hanges 2 Restore
You 3 minutes ago

Edit fornﬁTﬂIe1 2 Restore
You 3 minutes ago

Edit form1 2 Restore
You 3 minutes ago

Create (?heckbox1 2 Restore
You 3 minutes ago

Create tfextlnput?. 2 Restore
You 3 minutes ago

Create tfextlnputz 2 Restore
You 3 minutes ago

Edit forn"n 1; Delete ; Create textinput1 D Restore
You 3 minutes ago

Edit form1 ; Delete 9 Restore
You 3 minutes ago
|Releases History X
History "]
Edit formTitle1
Restore changes
Edit formTitle1
Edit form1
~
Create checkbox1
Create textinput3
Create textinput2
Edit form1; Delete ; Create textinput1
Edit form1; Delete
Create formButton1


Data editor

screenElements:
Dropdown Menu
Avatar

screenKeywords:
-_ Retool O Apps & Resources @ Query Library i Learn &5 Workflows BETA Upgrade e
e John Smith
Admin
All (4) .
Welcome to Retool, John! Hide  settings
Recent
Audit logs
Starred N R O Data edit
ata editor
Build a simple app using a CSV M || B et SRS
Modules p'e app i 9 L SR bl kB oo ol b
Best way to start learning how to build in Retool . el L L B el R
. e i e Logout
Trash s rders h_
v e [ lm S Retool version 2.103.2
Learn with an example app = [ | -
Folders 9 . . ey porp 3 am—
Deconstruct a pre-built app to see how Retool works N PR A mume - e -
Start from scratch
If you already know what you want to build Intro to Retool 4:02
Al
Select all
o Add User Form
%% Module - 35 minutes ago by John Smith
o Admin Panel
~  App - 26 minutes ago by John Smith
o Basic Admin
9% Module - 32 minutes ago
o Sample Users Page
~  App - 2 hours ago
&% Invite new members o
|-_ Retool Q) Apps & Resources ® Query Library @ Learn &5 Workflows BETA Upgrade e
Database Editor
< Back to databases
B managed_db
|-_ Retool Q) Apps & Resources ® Query Library @ Learn &5 Workflows BETA Upgrade e
Database Editor
Use our database editor to add columns and rows to your database tables,
along with advanced features like CSV upload!
DATABASES
B managed_db Postgresql just now


Settings

screenElements:
Text Field
Button

screenElements:
Side Navigation
Stacked List
Avatar

screenElements:
Side Navigation
Button
Badge

screenPatterns:
Settings & Preferences
Code Editor

screenElements:
Side Navigation
Button
Badge
Dropdown Menu
Avatar
Text Field
Button
Button
Side Navigation
Stacked List
Avatar
Switch
Text Field
Button
Top Navigation Bar
Button
Avatar
Side Navigation
Thumbnail
Search Bar
Stacked List
Icon
Floating Action Button
Badge
Side Navigation
Search Bar
Button
Stacked List
Badge

screenPatterns:
Settings & Preferences
Settings & Preferences
Code Editor
Settings & Preferences
Settings & Preferences
Settings & Preferences
Settings & Preferences
Settings & Preferences
Home
Settings & Preferences

pageType: Application Application Application Application Application Application Application Application Application Application

screenKeywords:
— Retool O Apps & Resources ® Query Library i Learn &5 Workflows BETA Upgrade e
Personal .
Branding
Account
Organization
Enterprise
Users Custom Branding
Permissions Add custom branding to headers, sign up/login pages, and email invites for your end users
Environments Upgrade now -
Billing
Branding Enterprise Circle Health
Themes Business
Advanced ¥ Hyperlight
Beta
|-_ Retool O Apps & Resources @ Query Library i Learn &5 Workflows BETA Upgrade e
e John Smith
Admin
All (4) .
Welcome to Retool, John! Hide  settings
Recent
Audit logs
Starred N R O Data edit
ata editor
Build a simple app using a CSV M || B et SRS
Modules p'e app i 9 L SR bl kB oo ol b
Best way to start learning how to build in Retool . el L L B el R
. e i e Logout
Trash s rders h_
v e [ lm S Retool version 2.103.2
Learn with an example app = [ | -
Folders 9 . . ey porp 3 am—
Deconstruct a pre-built app to see how Retool works N PR A mume - e -
Start from scratch
If you already know what you want to build Intro to Retool 4:02
Al
Select all
o Add User Form
%% Module - 35 minutes ago by John Smith
o Admin Panel
~  App - 26 minutes ago by John Smith
o Basic Admin
9% Module - 32 minutes ago
o Sample Users Page
~  App - 2 hours ago
&% Invite new members o
|— Retool Q) Apps & Resources M Query Library i Learn ;’; Workflows BETA Upgrade e
Personal
Advanced
Account
Organization . . N
Authentication Options
Users
L Require Two Factor Authentication
Permissions
Environments This applies to the entire organization, not limited to one domain.
Billing
Branding Enterprise
Themes Business Auto-join domains
Users with emails from these domains can join this organization.
Advanced
Beta example_domain.com Add domain
Preloaded JavaScript
Add preloaded JavaScript to all applications in the organization by assigning them to the window scope.
Note: Adding preloaded JavaScript to all applications may negatively impact performance. We recommend adding preloaded JavaScript to individual applications when
possible to avoid potential issues. Learn More
1
|— Retool Q) Apps & Resources M Query Library i Learn ;’; Workflows BETA Upgrade e
Personal .
Environments
Account
Organization ! Environments are not enabled in your plan.
. . Upgrade now
Users Upgrade to create multiple environments.
Permissions
Name Connected Resources
Environments
- ® production Default
Billing : : : : . 3 (Al)
Created 3 hours ago * An environment to define the production configuration of your resources
Branding Enterprise
@ staging N
Themes Business Created 3 hours ago ¢ An environment to define the staging configuration of your resources one
Advanced
Beta
|— Retool Q) Apps & Resources M Query Library i Learn ;’; Workflows BETA Upgrade e
Personal
Advanced
Account
Organization
Users
Permissions
Environments
Billing
Save
Branding Enterprise
Themes Business
Advanced
Beta Libraries
Add access to custom libraries to all applications in this organization. Retool includes out-of-the-box access to lodash, moment.js, uuid, and numbro.
Note: Adding preloaded libraries to all applications may negatively impact performance. We recommend adding preloaded libraries to individual applications when
possible to avoid potential issues. Learn More
Add Link
Cache queries across all users o«
Archive Organization
Archiving this Retool organization will also archive every user belonging to it.
Archive organization
|— Retool Q) Apps & Resources M Query Library i Learn ;’; Workflows BETA Upgrade e

Personal . .

Permission Groups Search
Account
Organization ! Granular access controls are not available in your plan.

Upgrade now

Users Upgrade to create custom groups.
Permissions

Name Apps Resources Users Group admins
Environments
Billing All Users 3 (Al 3 (Al 2 @3 None
Branding Enterprise

Admin 3 (Al 3 (Al : D None
Themes Business
Advanced
Beta
|— Retool Q) Apps & Resources M Query Library i Learn ;’; Workflows BETA Upgrade e
Personal
Beta
Account
Organization
S Features
Users
Permissions Deprecated components
. Show deprecated versions of components in the right panel.

Environments

Billing
Google Analytics Integration

Branding Enterprise Show the Google Analytics OpenAPI integration in the create a resource Ul

Themes Business

Advanced Google Search Console Integration

Beta Show the Google Search Console OpenAPI integration in the create a resource Ul
HubSpot Integration
Show the Hubspot OpenAPI integration in the create a resource Ul
Enable parent window communication
Allow embedded Retool apps to use the parent.postWindow() APl in Javascript queries
Prevent query variable spoofing
Prevent spoofing of expressions that refer to the current_user global in queries.
Require Strong Password for Login
When true, requires password to have minimum character length and contain one uppercase letter, one lowercase letter, and one special character
|— Retool Q) Apps & Resources M Query Library i Learn ;’; Workflows BETA Upgrade e
Personal
Account
Account
Organization
Users First name Last name Email
Permissions John Smith
Environments
Branding Enterprise
Themes Business Security
Advanced Change Password
Beta
Login history
Archive account
Archive your account to be removed from this organization. You will be able to join other Retool organizations using the email
address jsmith.mobbin@gmail.com .
You are the only Admin in this organization. In Permission Groups, add at least one user to the Admin group before archiving
yourself.
|-_ Retool O Apps & Resources @ Query Library i Learn &5 Workflows BETA Upgrade e
All (4) .
Welcome to Retool, John! Hide Learn more
Recent
Starred N R O .
Build a simple app using a CSV M || B et SRS
Modules p'e app i 9 L SR bl kB oo ol b
Best way to start learning how to build in Retool . e L ol [ b o
Trash s oes -_—
Learn with an example app : e [ ——
Folders 9 . . ey porp 3 am—
Deconstruct a pre-built app to see how Retool works N PR A mume - e -
Start from scratch
If you already know what you want to build Intro to Retool 4:02
Al
Select all
o Add User Form
%% Module - 35 minutes ago by John Smith
o Admin Panel
~  App - 26 minutes ago by John Smith
o Basic Admin
9% Module - 32 minutes ago
o Sample Users Page
~  App - 2 hours ago
&% Invite new members o
|— Retool O Apps & Resources ® Query Library i Learn &5 Workflows BETA Upgrade e
Personal
UserS Enabled users (2) Sort by Name Search for a user m
Account
Organization Showing 2 enabled users.
Users Name Permissions 2FA Last active
Permissions ° Jane Doe (jdoe.mobbin@gmail.com) admin All Users a few seconds ago
Environments
e John Smith (jsmith.mobbin@gmail.com) admin  All Users 2 hours ago
Billing
Branding Enterprise
Themes Business
Advanced
Beta


Mobile

screenElements: Button Badge

screenElements: Thumbnail Button

pagePatterns:
Features Page
CTA Section

screenElements:
Thumbnail
Button
Button
Badge
Dropdown Menu
Thumbnail
Button
Card

pagePatterns:
Features Page
Features Page
Landing Page
Features Page
Features Page
CTA Section
Features Page
Social Proof (Testimonial) Section

pageType: Marketing Marketing Marketing Marketing Marketing Marketing Marketing

screenKeywords:
-

- Retool Products v Customers Integrations Pricing Docs Book a demo Start for free
Inventory Manager > BeiEy
Warehouse Apps - Edited 1 min ago
SCREENS +

Collection1
Dashboard
10:26 7 ol T .
Inventory General
Inventory
Inventory detail Data
Inventory add new Collection1 "product": "Encoder 12mm",
“Quantity": 112,
Profile ‘ Encoder 12mm "Price": 4.92
Qty: 112 - $4.92
oo
COMPONENTS - . "product”: "Switch 9.5mm",
AN Switch 2 Zm "Quantity": 312,
v i= Collection1 Qt \ “Price”: 0.64
LR
FAB “product”: "Switch 7.3mm",
E] ‘Q S "Quantity": 182,
Qty. -8 “Price": 0.88
7-Segment red
< Header
- Qty: 112 - $8.49
. LED3mmred Layout
¥ Qty: 112 - $4.92
Type List Card
I Mainboard 530
Qty: 112 - $324.99
Content
Converter PCM56P
Title {{item.product}}
-1 =] ]
Inventory Schedule Shipping
Body {{item.quantity}}
Max lines 2
’
|-_ Retool Products v  Customers Integrations Pricing Docs Book a demo Start for free
Warehouse own all
Manage all your apps securely Postares resource
Customer database
; Operations Edit all
Ensure your team has secure access to the right tools when
they need them. Retool offers SSO, granular permissions, and
audit logs out of the box. Sales Edit all a Field sales
- B Inventory
Deliveries own all
a Shipping
Vendors Edit all
|-_ Retool Products v Customers Integrations Pricing Docs Sign in
The fastest way to build native
apps for your mobile workforce
No complex frameworks or tedious deployments. Build mobile apps with what
you already know, like JS and SQL.
Inventory Manager > BeiEy
Narehouse Edited N agc
SCREENS +
Collection1
Dashboard
10:26 7 ol T -
Inventory General
Inventory
Inventory detail Data
-
Inventory add new Collection1 "product”: "Encoder 12mm", —
“Quantity": 112,
Profile [ Encoder 12mm "Price": 4.92
|-
- Retool Products v Customers Integrations Pricing Docs Sign in Start for free
Components
Workflows
. nate cron jobs, custom alerts, and ETL tasks with Retool Workflows. Learn more -
Mobile
Database
-
=maes | jnternal tools, remarkably fast
y
Self-hosted
with Ul libraries, hacking together data sources, and figuring out access
controls. Start shipping apps that move your business forward.
Watch demo
Try Retool for free - °
[ BN J
Inspector Components
& Good morning, Alex!
Customers 281 Y 1tly u
Select a customer to view their metrics. Active MRR  $284,432
A Text
Company name Proiect manager Supports markdown or HTML
Search here Select a manager Active subscription Analytics 1 Input
Control other components or
I
Niarkettier . R ) queries with text
Initech brosd
Select a tier Select a manager . ropdown
9 Customer since Jun 24, 2018 hd Select one value from a list of
options.
, Usage Records validated
12 results Y Button
m Trigger actions like run queries,
id Company name CSM MRR export data, or open other apps.
83.33% 40.78%
1 Initech Jessica Mohaim $321.50 | ’ |:| Table
Display tabular data with
pagination. .
2 Circle Health Duncan Idaho $111.00 —d
Used 5 Validated 31
3 Yogi sportswear Maya Gao $438.50 Monthly 12 Monthly 95 Key yal}.le map -
|-_ Retool Products v Customers Integrations Pricing Docs Book a demo
hQL @ MySQL @ Salesforce a Google
Connect to anything
AWS S3 @ PostaresaL Redis e s
Build powerful mobile apps with the same ease and flexibility ! @ gresQ e
of building web apps on Retool. It's easy to connect any
database or API so you can work with all of your data sources [ . MongoDB ‘ AWS Lambda F Sendgrid
in one app.
 slack [ AwsRedshitt () Twilo  34% snc
Tavt innut Nate
|-_ Retool Products v Customers Integrations Pricing Docs Book a demo
—
Get up and running in seconds

-_ Retool Use Cases Integrations Developers Community Company
Admin panels PostgreSQL Changelog Community home About
Firebase GUI MySQL Documentation Support forum Customers
|-_ Retool Products v Customers Integrations Pricing Docs
What our customers are saying

(33 (33

Building mobile apps with React Native With tens of thousands of daily deliveries

required upfront investments that were hard across more than 20 cities, we need to

to justify. Retool Mobile helps our entire rapidly iterate on the tools our workforce

engineering team create and deploy native needs to operate. With Retool Mobile, we can

apps for our employees—all by simply using add new apps in hours and seamlessly

the backend systems they already know. deploy them to every platform over the air, on
the same day.

Mac Evans

Software Engineer Manager at Workrise John Hughes
Chief Strategy Officer at Modern Milkman

=S


Previewing query result

screenKeywords:
= Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
(I7 usersTable
DATA -
Main
i usersTable
Q@ ol Data {{ queryl.data }}
id email first_name last_name created_at updated_at active
Empty state No rows found
2 evaluator@... Eva Lu Ator Dec 2, 201... Nov 29, 20...
Show spinner when data is loading «©
3 droptable@..  Robert) DROP TABL..  Dec3,201..  Nov 29, 20... Reset after successful save «©
4 louis@com... Louis Reasoner Dec 4, 201... Nov 29, 20... COLUMNS -
Columns (9) + Add
5 tenx@tryre... Alyssa P. Hacker Dec 5, 201... Nov 29, 20...
Title Editable
6  cy@tryreto... CyD. Fect Dec 6, 201... Nov 29, 20... (Hid
£ email
Showing 1-5 of 13 1 0of3 » R ¢
I I [ first_name
[ last_name
All queries completed. {1 created_at
-
Code aQa = + [[] General Response Advanced query1 » Save & Run o .7 [ updated_at
W query1e 0.7s | soe - [ active
" " Q, Search tables or columns
Resource ! onboarding_db Edit (1 feature_flags
SQL mode Run query automatically when inputs change Related tables (e B trial_expiry_date
users Use dynamic column settings
+~ Query ran successfully Preview only. Click Save or press S to confirm changes. X Close
SORTING -
id | email | first_name | last_name | created_at | updated_at | active
Sort column Select column
1 ben@tryretool.com Ben Bitdiddle 2018-12-01T00:... 2022-11-29T08:... true
2 evaluator@tryret... Eva Lu Ator 2018-12-02T01:... 2022-11-29T08:... false ROW SELECTION -~
(9 Latest No queries running % 92 0
|= Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
usersTable
DATA
Main
i usersTable
Q@ ol Data {{ queryl.data }}
id email first_name last_name created_at updated_at active
Empty state No rows found
2 evaluator@... Eva Lu Ator Dec 2, 201... Nov 29, 20...
Show spinner when data is loading «©
3 droptable@..  Robert) DROP TABL..  Dec3,201..  Nov 29, 20... Reset after successful save «©
4 louis@com... Louis Reasoner Dec 4, 201... Nov 29, 20... COLUMNS
Columns (9) + Add
5 tenx@tryre... Alyssa P. Hacker Dec 5, 201... Nov 29, 20...
Title Editable
6 cy@tryreto..  CyD. Fect Dec 6,201...  Nov 29, 20... id
email
Showing 1-5 of 13 1 0of3 » R ¢
I I first_name
last_name
q Click or press 8«3 to preview result
Code N
[] General Response Advanced query1 » Save & Run O . updated_at
W queryle active
n - Search tables or columns
Resource ! onboarding_db Edit feature_flags
SQL mode Run query automatically when inputs change Related tables trial_expiry_date
users Use dynamic column settings
All tables
1 select * A
2 from users ar_internal_metadata SORTING
3  order by id key # varchar
created_at timestamp Sort column Select column
updated_at timestamp
value varchar
Trancfarmar Enahla ROW SELECTION
Latest No queries running
|= Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
usersTable
DATA
Main
i usersTable
Q@ ol Data {{ queryl.data }}
id email first_name last_name created_at updated_at active
Empty state No rows found
2 evaluator@... Eva Lu Ator Dec 2, 201... Nov 29, 20...
Show spinner when data is loading «©
3 droptable@..  Robert) DROP TABL..  Dec3,201..  Nov 29, 20... Reset after successful save «©
4 louis@com... Louis Reasoner Dec 4, 201... Nov 29, 20... COLUMNS
Columns (9) + Add
5 tenx@tryre... Alyssa P. Hacker Dec 5, 201... Nov 29, 20...
Title Editable
6 cy@tryreto..  CyD. Fect Dec 6,201...  Nov 29, 20... id
email
Showing 1-5 of 13 1 0of3 » R ¢
I I first_name
last_name
q Click or press 3 < to preview result
Code N
[] General Response Advanced query1 - 0.3s » Save & Run O . updated_at
W queryle active
n - Search tables or columns
Resource ! onboarding_db Edit feature_flags
SQL mode Run query automatically when inputs change Related tables trial_expiry_date
users Use dynamic column settings
All tables
1 select * A
2 from users ar_internal_metadata SORTING
3 order by id key # varchar
created_at timestamp Sort column Select column
updated_at timestamp
value varchar
Trancfarmar Enahla ROW SELECTION
Latest No queries running
|= Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
(I7 usersTable
DATA -
Main
i usersTable
Q@ ol Data {{ queryl.data }}
id email first_name last_name created_at updated_at active
Empty state No rows found
2 evaluator@... Eva Lu Ator Dec 2, 201... Nov 29, 20...
Show spinner when data is loading «©
3 droptable@..  Robert) DROP TABL..  Dec3,201..  Nov 29, 20... Reset after successful save «©
4 louis@com... Louis Reasoner Dec 4, 201... Nov 29, 20... COLUMNS -
Columns (9) + Add
5 tenx@tryre... Alyssa P. Hacker Dec 5, 201... Nov 29, 20...
Title Editable
6  cy@tryreto... CyD. Fect Dec 6, 201... Nov 29, 20... (Hid
£ email
Showing 1-5 of 13 1|of3 » R ¢
I I [ first_name
[ last_name
All queries completed. {1 created_at
-
Code Q= + [[] General Response Advanced query1 » Save & Run o 7 [ updated_at
W query1e 0.7s | soe - [ active
" " Q, Search tables or columns
Resource ! onboarding_db Edit (1 feature_flags
SQL mode Run query automatically when inputs change Related tables (e B trial_expiry_date
> users Use dynamic column settings
All tables
1 select *
2  from users + ar_internal_metadata SORTING S
3 order by id key # varchar
created_at timestamp Sort column Select column
updated_at timestamp
value varchar N
Trancfarmar Enahla ROW SELECTION
(9 Latest No queries running % 92 0


Adding an event handler

screenElements:
Dialog
Checkbox
Side Navigation

screenKeywords:
= Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
(I7 usersTable
Download raw data
Main Show custom button
i usersTable
o O
First Name Last Name Email @ Active INTERACTION ~
Ben Bitdiddle ben@tryretool.com v Event handlers + Add
Save cha... updateUser.trigger() eoe
Eva Lu Ator evaluator@tryretool.com
Disable save false
Robert' DROP TABLE Users; droptable@xkcd.com . .
) P @ Double click to edit cells «©
Louis Reasoner louis@competitor.com
ACTIONS -
Alyssa P. Hacker tenx@tryretool.com Actions (0) + Add
No actions added.
Showing 1-5 of 13 1|of3 » ¥y Y C
O O
LAYOUT -
All queries completed. Height Fixed
- .
Code aQa = + [[J General Response Advanced updateUser » Run o .7 Row height Standard
I getUsers 0.8s Dynamically adjust row height
) updateUser Q Search tables or columns
W EVENT HANDLERS Hidden s
Success + Add
Related tables c Maintain space when hidden
getUsers.trigger() eoe
ppusors Always show in edit mode
Failure + Add All tables
Trigger queries, control components, or call other APIs in response to ’ ar_ln‘ternal_metadata STYLE -~
query failure. These are not run when the query is previewed. » credits
> deals
Styles
> dog_walkers
> images Background Surface primary
itame
(B Latest No queries running * 9 (2]
|= Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
usersTable
Edit save changes handler X ®
Download raw data
Main Event Save changes Show custom button
i usersTable
o O
. B . Action Control query
First Name Last Name Email @ Active INTERACTION ~
Control query options
Ben Bitdiddle ben@tryretool.com v Event handlers + Add
Query updateUser (onboardin...
Save cha... updateUser.trigger() oo
Eva Lu Ator evaluator@tryretool.com Method Trigger
Disable save false
Advanced
Robert' DROP TABLE Users; droptable@xkcd.com . .
) P @ Double click to edit cells «©
Only run when {{ !'example.value }}
Louis Reasoner louis@competitor.com R
Debounce 2] QCTIONS
Alyssa P. Hacker tenx@tryretool.com Actions (0) + Add
No actions added.
Showing 1-5 of 13 1|of3 » ¥y Y C
O O
LAYOUT -
All queries completed. Height Fixed
- .
Code aQa = + [[J General Response Advanced updateUser » Run o .7 Row height Standard
I getUsers 0.8s Dynamically adjust row height
Q Search tables or columns
¥ updateUser EVENT HANDLERS Hidden A
Success + Add
Related tables c Maintain space when hidden
getUsers.trigger() eoe
ppusors Always show in edit mode
Failure + Add All tables
Trigger queries, control components, or call other APIs in response to ’ ar_ln‘ternal_metadata STYLE -~
query failure. These are not run when the query is previewed. » credits
> deals
Styles
> dog_walkers
> images Background Surface primary
itame
(B Latest No queries running * 9 (2]
|Admin Panel
- i B 0O - 100% m P Preview ~
= Manage users Edit
Header Inspect  Create
(I7 usersTable
DATA -
Main
i usersTable
o O Data {{ getUsers.data }}
First Name Last Name Email B Active
Empty state No rows found
Ben Bitdiddle ben@tryretool.com v
Show spinner when data is loading «©
Eva Lu Ator evaluator@tryretool.com Reset after successful save «©
Robert') DROP TABLE Users; droptable@xkcd.com COLUMNS -
Columns (9) + Add
Louis Reasoner louis@competitor.com
Title Editable @
Alyssa P. Hacker tenx@tryretool.com @8 id X
£H First Name
Showing 1-5 of 13 1|of3 » ¥y Y C
& & fH Last Name
£ Email
All queries completed. £8 created_at N
-
Code a = + [[J General Response Advanced updateUser » Run o .7 (B updated_at X
I getUsers —_— e @ Active
) updateUser Q Search tables or columns
B EVENT HANDLERS (B feature_flags B\
Success + Add trial_expiry_date X
Related tables c 8 -expins R
getUsers.trigger() .ee . .
> users Use dynamic column settings
Failure + Add All tables
i i i ~ ar_internal_metadata SORTING -~
Trigger queries, control components, or call other APIs in response to
query failure. These are not run when the query is previewed. key # varchar
created_at timestamp Sort column Select column
updated_at timestamp
value varchar
ROW SELECTION -
(9 Latest No queries running % 92 0
|Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
(I7 usersTable
Download raw data
Main Show custom button
i usersTable
o O
First Name Last Name Email @ Active INTERACTION ~
Ben Bitdiddle ben@tryretool.com v Event handlers + Add
Trigger queries, control components, or call
Eva Lu Ator evaluator@tryretool.com other APIs in response to component events.
Disable save fal
Robert') DROP TABLE Users; droptable@xkcd.com aee
Double click to edit cells «©
Louis Reasoner louis@competitor.com
ACTIONS -
Alyssa P. Hacker tenx@tryretool.com .
Actions (0) + Add
Showing 1-5 of 13 1|of3 » ¥y Y C No actions added.
O O
LAYOUT -
All queries completed.
Height Fixed
-
Code aQa = + [J General Response Advanced updateUser » Run o .2
Row height Standard
W} getUsers 0.8s _
Q, Search tables or columns Dynamically adjust row height
¥ updateUser EVENT HANDLERS
Success + Add Hidden false
Related tables c
etUsers.trigger eoe intai i
g gger () . users Maintain space when hidden
Failure + Add All tables Always show in edit mode
Trigger queries, control components, or call other APIs in response to ’ ar_ln‘ternal_metadata
query failure. These are not run when the query is previewed. » credits STYLE -~
> deals
> dog_walkers Styles
> images
itame Backaround Surface primary
(0 Latest No queries running T 9 0


Filtering messages

screenElements:
Popover
Button
Stacked List
Text Field
Segmented Control
Tab
Chip

screenPatterns:
Misc
Filter & Sort
Timeline & History

screenKeywords:
Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
Components Modules
Q Search components
Main
Commonly used
First Name Last Name Email B Active Delete Add New User
0 = e o
Ben Bitdiddle ben@tryretool.com v B
- =
Email &4 ben@tryretool.com Table Text Button Text Input
Eva Lu Ator evaluator@tryret... = First name * Ben —
# —1 5
-
Robert DROP TABLE Use...  droptable@xkcd.... B Last name * Bitdiddle Number Input  Select Container Form
Active * —
Louis Reasoner louis@competitor... B |I| D
[ ]
_ Tabbed Modal Chart Key Value
Alyssa P. Hacker tenx@tryretool.co... g Container
Showing 1-5 of 13 1]of3 » s+ YT C . .
Image Navigation
All queries completed. Text inputs
-
Code aQa = + [J General Response Advanced getUsers » Run o .2 0
T Rd T Ra S —1I .
i} getUsers 0.95 | see e - -
Console Timeline State  Linting @ Feedback @ X
! updateUser Resource I} onboarding_db Edit Q Search tabls
Fiterby @6 &4 A0 &0 Show timestamp Q
! deleteUser R .
SQL mode Run query automatically when inputs change Related tables or Errorf Car."?ct, read properties of undefined updateUser ¥
(reading 'id')
~ users
. € » Error: Cannot read properties of undefined deleteUser W
email # (reading 'id')
1 select * id #
2 from users T @ > getUsers ran successfully (0.742s). getUsers W
3 order by id
created_at @ » getUsers ran successfully (0.812s). getUsers W
feature_flags ! .
» console.log("hello, world!")
first_name
Trancfarmar Enahla last_name
(B Latest No queries running ® 9 (2]
|Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
Components Modules
Q Search components
Main
Commonly used
First Name Last Name Email B Active Delete Add New User
0 = e o
Ben Bitdiddle ben@tryretool.com v B
- =
Email S8 ben@tryretool.com Table Text Button Text Input
Eva Lu Ator evaluator@tryret... = First name * Ben —
# —1 —
-
Robert DROP TABLE Use...  droptable@xkcd.... B Last name * Bitdiddle Number Input  Select Container Form
Active * —
Louis Reasoner louis@competitor... B |I| D
[ ]
_ Tabbed Modal Chart Key Value
Alyssa P. Hacker tenx@tryretool.co... g Container
Showing 1-5 of 13 1]of3 » s+ YT C . .
Image Navigation
All queries completed. Text inputs
-
Code aQa = + [J General Response Advanced getUsers » Run o .2 0
T R T R S —1I .
i} getUsers 0.95 | see e - -
Console Timeline State  Linting @ Feedback @ X
! updateUser Resource I} onboarding_db Edit Q Search tabls
Fiterby @6 &4 A0 &0 Show timestamp Q
! deleteUser
SQL mode Run query automatically when inputs change Related tables € » Error: Cannot read properties of undefined deleteUser W
< (EED (reading 'id')
email # € » Error: Cannot read properties of undefined updateUser W
1 select * id # (reading 'id')
2 from users i
3 order by id active € » Error: Cannot read properties of undefined deleteUser W
created_at (reading 'id")
feature_flags : .
» console.log("hello, world!")
first_name
Trancfarmar Enahla last_name
(B Latest No queries running ® 9 (2]
|Admin Panel
- i B 0 - 100% m P Preview
= Manage users Edit
Header Inspect  Create
Components Modules
Q Search components
Main
Commonly used
First Name Last Name Email B Active Delete Add New User
3 = o =
Ben Bitdiddle ben@tryretool.com v B
- =
Email &4 ben@tryretool.com Table Text Button Text Input
Eva Lu Ator evaluator@tryret... B First name * Ben —
# —1 5
-
Robert DROP TABLE Use...  droptable@xkcd.... B Last name * Bitdiddle Number Input  Select Container Form
Active * —
Louis Reasoner louis@competitor... B |I| D
[ ]
- Tabbed Modal Chart Key Value
Alyssa P. Hacker tenx@tryretool.co... g Container
Showing 1-5 of 13 1]of3 » s+ YT C . .
Image Navigation
All queries completed. Text inputs
-
Code aQa = + [J General Response Advanced getUsers » Run o .2 0
T Rd T Ra S —1I .
i} getUsers 0.95 | see e - -
Console Timeline State  Linting @ Feedback @ X
! updateUser Resource I} onboarding_db Edit Q Search tabls
Fiterby @6 &4 A0 &0 Show timestamp [7,)
! deleteUser
SQL mode Run query automatically when inputs change Related tables @ 18:04:24 »Error: Cannot read properties of deleteUser W
< (EED undefined (reading 'id')
email # € 18:04:36 »Error: Cannot read properties of updateUser W
1 select * id # undefined (reading 'id')
2 from users i
3 order by id active € 18:04:36 »Error: Cannot read properties of deleteUser W
created_at undefined (reading 'id"')
feature_flags . B
) » console.log("hello, world!")
first_name
Trancfarmar Enahla last_name
(B Latest No queries running ® 9 (2]