GraphQL client for building internal applications

All of your internal apps are probably made from the same building blocks: Tables, Lists, Charts, Forms, Buttons, etc. Retool provides these components – supercharged with any functionality you'd need – right out of the box.

Assemble your app in 30 seconds by connecting to your GraphQL (or any database, REST, gRPC endpoint) and dragging and dropping from our 50+ pre-built components.

Connecting Retool to a GraphQL API takes just a few minutes, and lets you to build user interfaces quickly on top of your own data.

Retool supports both reading and writing (including with variables) from GraphQL. And you can combine GraphQL data with other datasources, including databases (e.g. Postgres), and other APIs (e.g. Stripe, Firebase, etc.).


Build from a handful of drag-and-drop components

[object Object]
Text components can be used statically as labels or dynamically to display values.
[object Object]
Text Input is a component that takes a text input from the user. Commonly used to modify the parameters of a query.
[object Object]
Dropdown allows users to select one value from a list of options. Use MultiSelect Dropdown to be able to select more than one value.
[object Object]
Button triggers actions that do things like run queries, export data, or open other apps.
[object Object]
Table can be used to display the output of a query. You can control their appearance and the visible columns.
[object Object]
Key Value Map used to inspect the selectedRow of a table.
[object Object]
Image include the image URL to display and the image file name to display.
[object Object]
Tabbed Container like containers, except they are split into a defined number of tabs, which can be programmatically selected.
[object Object]
Form use forms to group inputs together so you can submit them at once. To add inputs to a form, just drag them onto the form.
[object Object]
Container the best way to organize your Retool page. Use them as top-level components, and nest other components inside of them.
[object Object]
JSON Schema Forms are dynamically generated forms. You can use them when you want to display different forms depending on some user input or generate forms from an API.
[object Object]
Alert components let you display alert messages to your users. Messages can be one of four types: successful, errors, warning, or informational.

Easily connect to GraphQL and get right to building. Connect directly to your database, query with SQL, or issue commands via a GUI. Quickly pull the data you need into your table or front-end. Explore our growing library of native integrations to PostgreSQL, MySQL, MongoDB, Firebase, S3, Elasticsearch and more.

Step 1 Create resource1. Create resource
Step 2 Read data2. Read data
Step 3 Connect data with UI3. Connect data with UI
pedro-franceschi
Brex Icon

Pedro Franceschi

Co-founder and CTO at Brex

Retool is incredible. It's been a critical for our ops from the start, and is the reason we’re able to scale so quickly. And the on-prem version with access controls & audit logs makes it easy to meet our compliance requirements.

Try Retool today

Get started building your internal tool in minutes

Schedule a demo