Create Your Account
Navigate to retool.com and click Start Building in the top right corner. Enter your work email address and create a password. Retool will ask about your role and use case during onboarding. Select Internal Tools and your team size. You’ll land in the Retool dashboard where you can see templates and existing apps.
Choose between Cloud or Self-Hosted deployment. Most teams start with Cloud for faster setup. If you need on-premise deployment for security or compliance, select Self-Hosted and follow the Docker or Kubernetes installation guide. Cloud accounts include SSL, backups, and automatic updates out of the box.
Connect Your Data Source
Click Resources in the left sidebar, then click Create New. Retool supports over 50 data sources including PostgreSQL, MySQL, MongoDB, REST APIs, and GraphQL. Select your database type and enter connection details: host, port, database name, username, and password.
Test the connection by clicking Test Connection at the bottom of the form. If it fails, verify firewall rules and IP whitelisting. Retool provides static IP addresses for Cloud customers. Once connected, click Create Resource. You can now query this database from any app you build.
For REST APIs, enter the base URL and configure authentication (API key, OAuth, or basic auth). Save common headers like Content-Type or Authorization tokens as environment variables for reuse across apps.
Build Your First App
Click Apps in the sidebar, then Create New and select Start from Scratch. Drag a Table component from the right panel onto the canvas. Click the table, then open the Data tab in the right inspector panel. Click New Query and select your connected resource.
Write a SQL query like SELECT * FROM customers LIMIT 50 and click Run Query. Bind the query to the table by setting {{ query1.data }} as the table’s data source. The table auto-populates with your database records.
Add a Form component below the table to create new records. Drag Text Input fields for each column. Add a Button labeled “Save” and create a new query that runs on click: INSERT INTO customers (name, email) VALUES ({{ textInput1.value }}, {{ textInput2.value }}). Chain this query to refresh the table query on success.
Use AI AppGen (beta feature) by clicking AI Generate at the top. Describe your app in plain English: “Build a customer support dashboard with ticket list, status filters, and assignment workflow.” Retool generates a complete app with queries, components, and logic in seconds. Review and customize the generated code.
Share with Your Team
Click Share in the top right corner. Add team members by email address and assign permissions: Viewer (read-only), Editor (can modify apps), or Admin (full access). Viewers can use apps but not edit them. Editors can build and deploy. Admins manage billing and resources.
Set up Groups for department-based access control. Navigate to Settings > Groups and create groups like “Sales Team” or “Engineering”. Assign apps and resources to groups rather than individuals for easier permission management at scale.
Deploy your app by clicking Deploy in the top right. Retool creates a production version with a unique URL. Enable Require Login to protect internal data. Configure custom domains under Settings > Custom Domains by adding a CNAME record to your DNS provider.
Next Steps
Explore advanced features like Workflows for backend automation, Mobile Apps for native iOS and Android builds, and Modules for reusable component libraries. Check out the Retool resource page for video tutorials, database optimization tips, and integration guides for Slack, Stripe, and AWS services. Join the Retool Community forum to share apps and get help from thousands of builders.