Retool Certification?

Hi all:

We are a small company that uses Retool. I am trying to find a training and certification program for one of our team members, who is non-technical but bright, to gain experience building small apps and helping maintain some existing apps.

Does anyone have a suggestion about coursework or a certification? Ideally this is something she can increase her market value with as well and put on her resume.

Thanks for any help!

1 Like

thats tough. as far as i know there is not an official certification. I would suggest giving her the tools needed to learn something new however. like these forums are an amazing source of knowledge and a safe place to ask questions where skill level isnt a concern to the community when amswering or helping people out. there is also stackoverflow, whoch is similar to here, but isnt as focused or zeroed in on supporting retool users. otherwise, heres the link to the retool tutorials

1 Like

Thanks. I'll maybe develop a training program around the tutoritals internally if there isn't something standardized. That could be a good feature for the Retool team to add though potentially..


Hello Retool Community,

Thanks for taking the time out to share your thoughts on certification. I wanted to introduce myself as a relatively new member to the Retool team focused on customer and partner education. Starting in the summer of 2023, we have begun work on developing educational content for developers, architects and administrators. Our goal in 2024 is to provide access to content that will be tied to digital badges upon successful completion as well as supporting materials in best practices. We will share more details in the forum as they become available and would love to hear any suggestions / feedback you are interested in providing.

Chris Riley
Customer and Partner Education Lead


A nice addition to these learning resources would be guides with examples like:

You want this code? some query with too much manual coding of actions Try linking with the GUI in this way cool steps video with assembling code into actions / handlers

For example, my co-worker had all this in a query, and I was trying to explain how most of that could be put into the GUI fields of the editor and not need a custom query.

if (file_uploader.files.length > 0) {
        additionalScope: {
            file: file_uploader.files[0]
        onSuccess: () => {
                title: 'Success',
                description: 'File uploaded successfully',
                notificationType: "success"
        onFailure: () => {
            const error = JSON.parse(;
                title: 'Upload Failed',
                description: error,
                notificationType: "error"
} else {
        title: 'Error',
        description: 'No file selected',
        notificationType: "error"

while you're not wrong at all, I do think it's worth pointing out that depending on the situation the pure code solution will actually run faster. Personally, I feel like there's at least a couple things that should be considered in a situation like this:

  • are queries being chained together, where the onSuccess for one query triggers another or something similar
  • does the query need data that isn't already available in a variable

The first one is probably the most important and obviously from the code posted it doesn't apply here, but it is worth thinking about. Every call/trigger of a query incurs extra overheard and thats even larger w workflow calls using a webhook. In order for Retool to do it's thing there's stuff going on behind the scenes on every query triggered, so the more queries you chain together the more time is spent on Retool doing Retool stuff and all that overhead can be reduced with more pure code solutions that don't need to call as many resources as a query might.

the second point is along the same lines dealing w overhead costs, but instead of having to set a variables then have a query use the value (thats 2 calls min, one to setValue or whatever and one to the query) you can just call the query and send it extra data. In reality, there's much more going on with the variable than it seems like memory allocation, initialization, validation and possibly sometimes deep copies (expensive so hopefully not many!) plus whatever else they have implemented for our, and our users, security.

It's basically a give and take situation where you can have less code needing to be maintained at the cost of efficiency and speed. smaller teams/orgs will also probably want to weigh the difference in time needed to implement, debug and test as spending the extra time on code to make your ADD end-users happy might not be cost efficient

1 Like

Thank you for such a detailed reply :slight_smile:

That makes total sense. To put it in perspective, I want my coworker to start with the GUI linking method of Apps, and then later, learn how to do it in code.

Heck, I am probably guilty of chaining too many onSuccesss when I might be able to make it clearer/faster in a single code query...

I have only been a ReTool-er for few months, so I will take any tips or guidance.