Overview
Retool is a platform for building custom internal applications. It targets developers and technical users who need to create tools like admin panels, operational dashboards, data management interfaces, and business process automation rapidly. The platform combines a visual drag-and-drop interface for UI design with an integrated development environment that supports JavaScript and SQL for custom logic and data manipulation Retool App Builder documentation.
Retool's core value proposition is accelerating development cycles for internal software that typically consumes significant engineering resources. It achieves this by providing pre-built UI components, connectors to various data sources, and a framework for orchestrating data flows and user interactions. This approach allows organizations to deploy bespoke tools faster than traditional custom development, reducing the time and cost associated with building and maintaining operational software.
The platform is designed to connect to a range of data sources, including databases (SQL, NoSQL), APIs (REST, GraphQL), and third-party services. This connectivity allows users to pull data from multiple systems into a single interface, manipulate it, and write it back. For scenarios requiring more complex logic or integrations not natively supported, developers can write custom JavaScript code directly within the platform or integrate external APIs Retool API reference.
Retool is suitable for use cases where off-the-shelf solutions are insufficient or too rigid, and full-stack custom development is too slow or expensive. This includes internal CRM systems, order management tools, customer support dashboards, and analytics portals. The platform supports deploying applications both in the cloud and on-premise, offering flexibility in terms of data residency and security requirements Retool self-hosting guide. Its compliance certifications, including SOC 2 Type II, GDPR, HIPAA, ISO 27001, and CCPA, address security and regulatory concerns for enterprise use.
While Retool offers a low-code approach, it is not a no-code platform; a foundational understanding of programming concepts, particularly JavaScript and SQL, is beneficial for maximizing its capabilities. This positions it as a tool for developers seeking to optimize their workflow for internal application development rather than a solution for non-technical users.
Key features
- Retool App Builder: A visual interface for assembling applications using pre-built UI components (tables, forms, charts, buttons) and connecting them to data sources.
- Retool Workflows: An automation engine for building backend processes, scheduled jobs, and chained actions without deploying separate services Retool Workflows overview.
- Retool Database: A PostgreSQL-compatible database built into Retool for managing application data directly, suitable for small to medium-sized datasets.
- Retool Mobile: Tools for building native mobile applications for iOS and Android using the Retool interface, leveraging existing Retool components and data sources.
- Custom Components: Ability to create and import custom React components to extend the platform's UI toolkit Retool custom components guide.
- Data Source Integrations: Direct connections to a variety of databases (PostgreSQL, MySQL, MongoDB, Redis, Google BigQuery, Snowflake), APIs (REST, GraphQL), and services (Stripe, Twilio, Salesforce).
- Access Controls & Permissions: Granular control over user roles, permissions, and access to applications and data sources.
- Version Control: Integration with Git for managing application versions, collaborating on development, and deploying changes.
Pricing
Pricing as of 2026-05-08. All paid plans are billed annually.
| Plan | Price | Key Features |
|---|---|---|
| Free | $0 | Up to 5 users, unlimited apps, basic integrations, 100 Retool Database rows |
| Team (Standard) | $10/user/month | Up to 100 users, unlimited apps, all connectors, 10k Retool Database rows, custom components, Git sync |
| Business (Self-Serve) | $50/user/month | All Team features, unlimited users, audit logs, environment management, up to 1M Retool Database rows |
| Enterprise | Custom | All Business features, enterprise-grade security, dedicated support, on-premise deployment, custom terms Retool pricing page |
Common integrations
- Databases: PostgreSQL, MySQL, MongoDB, SQL Server, Oracle, Amazon Redshift, Google BigQuery, Snowflake, CockroachDB Database connection guides
- APIs: REST APIs, GraphQL APIs, OpenAPI/Swagger API integration documentation
- Cloud Services: AWS S3, Google Sheets, Salesforce, HubSpot, Stripe, Twilio, Slack Retool integrations overview
- Authentication: Google OAuth, Okta, Azure AD, SAML, JWT Authentication methods
- Version Control: Git (GitHub, GitLab, Bitbucket) Git sync features
Alternatives
- Appsmith: An open-source low-code platform for building internal tools and dashboards, offering similar drag-and-drop UI and JavaScript extensibility.
- Budibase: An open-source low-code platform focused on building internal tools, portals, and forms, with self-hosting options and a built-in database.
- ToolJet: An open-source low-code framework for building internal tools with a visual application builder and extensive data source integrations.
- Open-source frameworks: For developers preferring full control and customizability, frameworks like React combined with component libraries (e.g., Material UI, Ant Design) offer a foundation for building internal tools from scratch, as discussed in Martin Fowler's perspective on internal tooling challenges, though at a higher development effort.
Getting started
To get started with Retool, you typically connect to an existing data source and build a simple application to display and modify data. Here's a basic example connecting to a PostgreSQL database, assuming you have a table named users with id and name columns.
Step 1: Connect to your PostgreSQL database.
In Retool, navigate to Resources > Create new > PostgreSQL. Fill in your database credentials (host, port, database name, user, password).
Step 2: Create a query to fetch users.
In your new Retool app, add a new query (e.g., getUsers) and select your PostgreSQL resource. Set the query type to 'SQL Mode' and enter:
SELECT id, name FROM users ORDER BY id ASC;
Run the query to verify it fetches data.
Step 3: Display users in a table component.
Drag a 'Table' component onto your canvas. In the inspector panel for the table, set its 'Data' property to {{ getUsers.data }}. This will populate the table with the results from your getUsers query.
Step 4: Add a query to insert a new user.
Add another query (e.g., insertUser) for your PostgreSQL resource. Set the query type to 'SQL Mode' and enter:
INSERT INTO users (name) VALUES ({{ newUserNameInput.value }});
Set a 'Success handler' for this query to 'Run a query' and select getUsers to refresh the table after insertion.
Step 5: Add an input field and button to create a new user.
Drag a 'Text Input' component onto the canvas and rename its 'Component name' property to newUserNameInput. Drag a 'Button' component. In the button's inspector, set its 'Text' property to 'Add User' and its 'Event Handlers' to 'Run a query' and select insertUser when clicked.
Now, you have a basic internal tool that displays users and allows you to add new ones, all connected to your PostgreSQL database Retool quickstart guide.