Skip to main content

Changelog

Updates, changes, and improvements at Retool.

Retool Storage is a hosted blob store that allows you to upload and interact with your files without needing to configure an object store (e.g., S3, Azure File Storage). There is a 5 GB storage limit per organization, with a 40 MB limit on file size. Your browser may have settings that restrict this limit further.

Working with files has previously been a challenge for users as it required storing base64 strings or using third-party data stores. Retool Storage is a built-in solution that requires no configuration.

There are two ways to interact with Retool Storage:

  • The Retool Storage section in the Resources tab for your organization.
  • The Retool Storage resource, available in both apps and workflows.

You can programmatically upload, read, and download from Retool Storage.

We're excited to announce that Retool Workflows is now generally available. Workflows is a visual automation product that lets you compose APIs and database queries with code (JavaScript or Python) to automate work. It combines the ease of drag-and-drop with the extensibility and reliability of code that engineers need for production-grade work. We've also integrated it with the rest of the Retool product so you can extend workflows with user interfaces or vice versa.

Read the blog post to learn more about Workflows, check out the documentation, and start building for free.

Retool AI is a set of AI building blocks to help you create AI-powered apps and workflows in minutes.

  • Build apps and workflows powered by AI: Use pre-built AI actions to summarize text, classify images, extract entities, and more. OpenAI’s gpt-4 & gpt-3.5-turbo are available out of the box. You can enter your API key, and swap in other LLMs any time.
  • Create data-aware AI chatbots in 30 seconds: Upload PDFs, crawl websites, and connect SaaS tools into Retool Vectors, our all-new managed vector store. Ask questions about your data and get helpful answers instantly.
  • Code, query, and debug faster: Ask our AI assistant questions and it’ll generate code that just works, with context into your app’s components and data sources.

Sign up or log in to get started on Retool Cloud.

When you configure a resource on Retool Cloud, you can now choose to route traffic through the eu-central-1 region, based in Frankfurt, Germany, or through the default us-west-2 region, based in Oregon, US. This determines the network round trip time it takes Retool to query your data sources. Selecting a region in close proximity to your resources can improve your application's performance.

You can set a default region for all your resources and override it for individual resources. Learn how to set resource regions in our documentation.

Secret Management is now supported in Retool! We have native integrations with AWS and HashiCorp Vault that allow you to keep your secrets secure and rotate them without restarting your Retool instance.

Admins can set up secrets by namespace after granting Retool access through their secrets manager provider.

Set up Secrets Manager

Resource editors can reference those secrets by key name on resource configuration fields. Retool will then fetch the secret values directly from the secrets manager.

Set up Secrets Manager

These integrations will be available on self-hosted Retool (v3.4+) on the Enterprise plan.

For customers that aren’t on our Enterprise plans, check out our newly released Environment Configuration Variables feature to store secrets securely in Retool without exposing them.

Get started

Explore Secrets Manager documentation to get started.

We're expanding beyond internal tools so you can build nearly any software for your business with Retool.

With this launch, we're adding two new products to help you:

  • Ship a secure, custom portal: Build and host portals for your customers, partners, and vendors fully on Retool with external apps which manages signup, authentication, and permissions out of the box.
  • Augment existing software: Quickly add data and CRUD functionality to an existing app or portal with embedded apps.

Both external apps and embedded apps are now available across Business and Enterprise plans.

To learn more about how embedded and external apps are changing the way you can build with Retool, watch the overview video.

You can read details in the docs to embed your first Retool app or build an end-to-end portal on Retool.

New Table component

We rebuilt the Table component to improve customizability, and scalability for our customers. The new Table is capable of rendering, updating, and scrolling through hundreds of thousands of rows and hundreds of columns with diverse data types fast.

It also features deeper customization options:

  • Data manipulation (filtering, sorting, pagination) works out-of-the-box and can be configured client- or server-side.
  • Advanced filtering and sorting options, such as nested filtering and multi-column sort.
  • Primary key configuration to maintain state (like Row selection, or change set) through complex filters, sorts, and pagination operations.
  • More intuitive Tag (dropdown and multiselect) columns with the option list editor.
  • Column-level event handlers.
  • Toolbar actions for more opportunities to perform action with table data.
  • Redesigned action buttons, more intelligent defaults (including column width and type), cell captions, column header tooltips.
  • Smoother editable cell interactions and improved keyboard shortcuts.

The new Table component is available today and replaces the previous Table component. Existing customers can continue to use the previous version, which is available as the Table (legacy) component.

Check out our docs or the migration guide to get started. To learn more about building a data-driven dashboard with the new Table component, check out the following walkthrough.

Today we announced major changes to our pricing to make Retool more accessible to as many teams as possible. Here’s what we’ve updated:

  • Instead of charging the same price for any user at your company, we now charge different rates for Standard users (people who build apps in Retool) and a significantly lower amount for End users (people who only view or use Retool apps).
  • We’re also adding an annual billing option to our Team and Business plans so that you can pay annually and get an additional 20% discount per user.
  • And, we’re introducing a Self-hosted Business plan for teams that prefer to self-host and need more granular permissions, audit logs, reusable modules, and other security features. To access these new plans, make sure to upgrade your Self-hosted Retool deployment to v2.117 or later. Existing Free, Team, and Business plan customers can switch over to the new plans from your billing page at any time and we expect that many of you will find that the new pricing better meets your team’s needs. If you’d like to stay on your current plan, there’s no action required—your current plan will still be available until the end of 2024 and we’ll provide plenty of notice before then. To learn more, check out our pricing page.

You don't have to upgrade existing apps that use the legacy Table component. You can continue to configure the legacy Table in your existing apps, and then use the new Table component when you have an app to build.

If you want to migrate an existing app to use the new Table component, use this guide to learn more about the differences before migrating.

Column configuration

The new Table no longer supports the Auto column format. Each column must have an explicit format. Each column can contain an optional source key, which maps the column to a field in the data source. If the source key is omitted, the column is effectively a custom column.

Properties

Some commonly used Table properties have been renamed. Anywhere in your app where you reference these properties, you’ll want to update those references to the new property names.

selectedRow

The property to access the Table’s selected row changed from table1.selectedRow.data to table1.selectedRow.

currentRow

currentRow in a column’s mapped values is now currentSourceRow, to make it explicit that it references the underlying source row’s data.

recordUpdates and changeSet

The legacy Table’s edited fields were exposed in recordUpdates and changeSet. These fields are now changesetArray and changesetObject, respectively. These properties no longer contain the entire row’s data, and instead only contain the modified fields.

Pagination controls

Pagination controls are now nested under table1.pagination. This means referencing a table’s pageSize, for example, is done using table1.pagination.pageSize. Pagination is now accessible in the Table’s Add-ons section in the Inspect tab.

Save and cancel buttons

The new Table exposes the built-in save and cancel buttons for bulk editing in the Add-ons section of the Inspect tab.

Sorting controls

The legacy Table exposed several fields to represent the Table’s sorting state: defaultSortDescending, defaultSortByColumn, sortedColumn, sortedDesc. The new Table exposes the sortArray property, which represents the entire sort state of the table.

Filtering controls

The legacy Table did not support nested filtering. The new Table supports nested filters with the filterStack property.

Feature comparison

See below for a feature-by-feature comparison of the legacy Table and the new Table.

Updated approaches to existing features

CategoryFeatureDescription
Column typeAuto columnThe new Table forces explicit column types.
Column typeButton columnThe new Table has redesigned actions for triggering events.
Column typeUser Email columnThe new Table has an Avatar column that serves the same purpose.
Column typeModal columnModal columns are not supported natively in the new Table, but can be implemented by using a Column event handler to trigger a Modal component open.
ActionsAction button columnsThe new Table floats all action buttons to the right edge of the table when you hover over a row.

Legacy features unsupported in the new Table component

CategoryFeatureDescription
Column typeRating columnYou can use a Tag column to represent a rating cell instead.
SortingSort columns by raw valueThe new Table sorts columns by their mapped values.
StylingRow colorRow color is not supported in the new Table.