Skip to main content

Building apps in Retool


If you're new to Retool and eager to get started, we recommend following this tutorial. This 5-minute video tutorial provides a step-by-step walkthrough of building your first application with Retool. It covers the basics and highlights the key features to help you quickly grasp the platform's capabilities and start creating business software.

Watch the Quickstart Tutorial

By following this tutorial, you'll gain hands-on experience with Retool and you’ll learn the basics of building out a simple application.

Scoping Out an Idea for an App

Before diving into building an app with Retool, it's essential to thoroughly scope out your idea to ensure a successful development process. Consider the following questions to clarify your requirements and objectives:

  1. Can you tell us more about the app you're planning to build? Provide a detailed overview of the app's purpose, functionality, and desired outcomes.
  2. What are the risks and challenges of continuing with the current app? Assess the limitations and issues of the existing solution to understand the motivations behind building a new app.
  3. Who will be the primary users of the app? Identify the target users and their specific roles or responsibilities to tailor the app's design and functionality accordingly.
  4. What data source(s) will the app need to connect to? Determine if the app requires connectivity to APIs, databases, or other data sources. Discuss the availability and required access levels for these resources, including considerations such as Role-Based Access Control (RLS).
  5. What are the key features and functionality of the app? Define the essential capabilities the app needs to deliver, ensuring alignment with your objectives and user requirements.
  6. What are your timelines? Determine the desired go-live date and any critical milestones along the development journey to set realistic expectations and plan accordingly.
  7. How often is this app accessed? Determine the expected frequency of usage (daily, weekly, monthly, etc.) to gauge the anticipated load and performance requirements.
  8. Are there any specific design or branding requirements? Consider any specific design elements, branding guidelines, or user experience expectations that should be incorporated into the app's visual and interactive aspects.
  9. What kind of support and maintenance does the app need after go-live? Discuss the ongoing support and maintenance needs of the app, including bug fixes, feature enhancements, and scalability requirements.
  10. How is the app going to be built, and who will be the main builders of this app? Identify the primary individuals or teams involved in building the app and ensure clear communication and coordination during the development process.

By addressing these questions, you can establish a solid foundation for your app development journey with Retool, ensuring a comprehensive understanding of your requirements and objectives.

Starting a New App

To initiate the development of a new Retool app, follow these steps:

  1. Contact the designated resource administrators (LINK HERE) to set up the required resources such as databases or REST API connections. They will guide you through the provisioning and configuration process.
  2. Once the necessary resources are set up, you can begin building your app using Retool's intuitive drag-and-drop interface. Leverage the pre-configured connections to interact with your resources seamlessly.

For specific instructions and guidance, reach out to [Name] at [Contact Details].

Retool Building Best Practices

General Building Principles:

  • Build the UI first, and logic later. Mapping out components first helps clarify the flow of logic and reduces the reliance on a temporary state.
  • Always think about 80-20 user flows. Instead of exposing multiple buttons at the top level, think about when users would need to use specific actions. Can you guide them through the application more cleanly?
  • Use defaults and run queries manually. If your text input relies on another query and is a parameter in a query that populates the main table, consider executing the table query immediately.
  • Consolidate filtering and aggregation logic. Table data fields should be minimal and point to a transformer value. The transformer should be the source of truth for customised logic.
  • Use caching when a query has at most 1 dependency. You can always invalidate the cache (query1.invalidate()) programmatically if a user alters the table.
  • Single source-of-truth (query or query + transformer) that supports each component. For example, behind the main table there were many queries and temporary states involved in order to filter the data → Work with a single query to retrieve the data and filter it based on the transformer
  • Aim for parallel query executions. An ideal Retool application will have one wave of queries on page load, and trigger subsequent queries only on user interaction.
  • Leverage Workflows for cron jobs, custom alerts, and ETL tasks. Workflows is a cleaner and easier way to build and manage things like monitoring & altering or scheduled jobs. Connect your Workflows to existing applications.
  • Design in Retool. Follow our documentation here for overall design practices.