Workflow Status Component

Hi there!

In short, could we get an app component that we can point to a workflow that then shows the status of the workflow, in particular the date and time of the last successful run.

We need to query data from several systems to generate detailed csv reports spanning large time spans. We're talking about 3/4 queries for each line in the report and about 100 lines per day queried. Given that this would take a long time to generate the data everytime it's requested, we've put together a workflow to run a nightly sync and keep the data up to date in our Retool DB, ready to be queried. We then have a Retool app where users can specify a time range to populate a table with the data and download the table .csv.

Right now, there is an implicit assumption that data for the previous day will be available, but if the workflow fails for whatever reason, then, obviously the data won't be there. Our users are non technical, so we can't just tell them to check the workflow every time they want to get the data. We also have tight control over permissions and don't want to give workflow access to non developers.

With the above, it would be amazing to have a component that shows when the last successful workflow run was, and how many failures (if any) there have been since the last successful run. Just to give users peace of mind that the data is up to date, and exactly how up to date it is.

3 Likes

Hey @Kevin2! Thanks for the request, I've filed it internally and can update this thread whenever there is additional information to share. Love the idea!

I agree with Kevin2 - Such a feature is much needed!
Right now, there is no information if a workflow fails and is not completed - at least not without "manually" remembering the running times of scheduled workflows.

It would be "nice" to be able to create a dashboard, if a flow is successfully completed, and/or if any parts has failed.

1 Like

This would be nice.
I created a log system where once the workflow starts it insert's a log with a status of triggered. Once the workflow finishes, then it updates the same log to completed. Any workflow that didn't complete within a certain period of time, I think 10 minutes is the time out for retool workflows, an error is assumed to have occurred.

Bumping this up if we have any updates :stuck_out_tongue:

as a temp workaround you could possibly set a Workflow Resource Query as a global error handler and just retrigger the workflow when it errors:

I didn't run this to see how/if it worked, but I did check that you can use both types of triggers (or it at least lets you set them) and it will let you select the same workflow as it's being called from so the potential is there. You could even add a 'retryCount' as an input and increment the number every time you recursively call so you can stop after so many attempts... to prevent an infinite loop (lasting 10 mins :joy:). I'm not sure how Retool would handle it, but the recursive calls could get you a 'stack too deep' or 'maximum call stack size exceeded' error or something. it basically means you ran out of memory. there could also be some weird cors complaint since i think workflows are ran in a sandbox on a diff server which could mean the workflow might not expect to get requests from itself :man_shrugging: