How to export Comment Thread / Note data from classic apps before moving to React apps?

Hi all,

We're on Retool Cloud and are moving our classic apps to the new code-based React apps. Two of our classic apps use Retool's built-in comment storage for internal team notes:

  • A Comment Thread component with threadId set to {{ "program-" + programId.value }}, so there's one thread per record.

  • A Note component ("Comments") with evaluatedKey set to {{ userId.value }}, again one thread per record.

In the new app we store these notes in our own database.

Questions:

  1. Is there a supported way to bulk-export all comments of a classic app (or the whole org)? Ideally the export would include the thread ID/key, author (email), message text, created and edited timestamps, and whether a message was deleted.

  2. Do the Note component and the Comment Thread component use the same storage? Would one export cover both?

  3. If there's no self-serve option, can Retool support provide an export (CSV/JSON) for specific apps on request?

  4. Are there any undocumented options people have used successfully, such as a Retool API endpoint or a query that lists the threads that exist for an app?

  5. Will the comments stay available once we archive or delete the classic apps? We'd like to know before we retire them.

If you've done a migration like this, how did you handle it? Any pointers are appreciated.

Thanks!

Summary

On Retool Cloud and migrating classic apps (which use the built-in Comment Thread and Note/Comments components for internal notes) to the new app builder, they want to know if there's a supported way to bulk-export all existing comment data (thread ID/key, author, text, timestamps, deleted flag), whether the two components share storage, and whether the comments persist after the classic apps are archived or deleted.

AI Response

On Cloud, comments created by the built-in Comment Thread and Note components are stored in Retool's own managed note tables (the same underlying retoolManagedNote storage, so both components draw from one shared store keyed by Thread ID). Per Retool's own documentation, unless a comment was explicitly written out to a database via a Submit event handler, it is "not otherwise retrievable or downloadable from Retool" — there is no self-serve bulk export, and direct database access to these tables is only available on self-hosted (on-prem) deployments, not Cloud. A Retool staff reply confirms this and notes the recommended pattern is to build your own solution (e.g., persist each comment to your own database on submit); the only documented, forward-looking path is to add a Submit event handler that inserts each new comment (user ID, name, body) into your own table before the classic apps are retired. Note that Thread IDs are global across all classic apps and comments are preserved indefinitely with no retention limit, but once no component references a given thread the historical messages are no longer surfaced anywhere, so capture anything you need before archiving/deleting the apps.

Sources

:bookmark: Getting started with Comment Thread | Retool Docs
Official guide confirming comments are stored by Retool and are not retrievable or downloadable unless logged to a database via a Submit event handler, plus the supported pattern for persisting them yourself.
:bookmark: How does the comment component store data
Solved thread with a Retool staff confirmation that Note/Comment data lives in Retool's underlying DB (accessible only on on-prem, not Cloud) and that building a custom form/database solution is the recommended approach.

The Community Team is testing out a new automation. Let us know if it's helpful (or not) by leaving a :heart:, :+1:, or :-1:. Or by marking this post as the "Solution"! Let us know if you have any feedback here. :rocket: