Issue with Long-Running Workflow Timing Out and Cancelling After 15 Minutes

Hi Team,

I’m running into an issue with one of my workflows in Retool.

My workflow is designed for a Automation testing use case and involves Elasticsearch, Kafka, and other API integrations.

The workflow has dependent steps (so I cannot run them asynchronously/parallel).

The total execution time for the workflow is around 25 minutes.

The problem:

When I trigger this workflow from the Retool frontend , the request times out after 15 minutes.

Once the frontend request fails, the workflow itself also gets cancelled, even though it still has pending steps to complete.

My questions:

Is there a way to prevent the workflow from being cancelled if the frontend request times out?

Can we extend or bypass the 15-minute timeout when calling workflows from the frontend(I need at least 45 minutes time)?

If not, what is the recommended Retool pattern for handling long-running workflows (e.g., polling with workflowRunId, webhooks, or another best practice)?

Are there any examples or recommended approaches for ensuring dependent workflow steps complete successfully while avoiding frontend timeout issues?

Any guidance or best practices from the team/community would be greatly appreciated.

Thanks,
Phani

the max is 15, from what I understand it's a hard-coded value for us. I would suggest either

  • breaking up the workflow into smaller individual workflows, one for each API integration you have. you can then orchestrate it all from a JS Query on the frontend ensuring each individual workflow call gets its own full 15 min time limit (you could try doing this from another separate workflow, but I can't remember if a nested call gets its own 15min timer or if it's shared w the parent)
  • bring it all back into the frontend and create 1 API Query for each API resource. you'll also need a JS Query which will be your entry point and where you'll call each API Query. don't be too afraid of putting this on the frontend either btw, Retool is basically a React based framework so the UI, for the most part and within reason, will remain.... reactive(heh). There might be a problem if there's a bunch of concurrent queries running, but I don't think that's an issue for you with a linear process (but idk, you'll have to be the judge here just maybe keep an eye on the profiler :beers:)
1 Like

I’m working on a workflow that has multiple dependent sequential steps each step must wait for the response of the previous API call before continuing. The total runtime is around 25 minutes.

The issue I’m facing:

  • When triggered from the frontend, the workflow runs for 15 minutes and then times out.
  • Once the frontend request times out, the workflow itself also gets cancelled, so it never completes.
  • Because the workflow is strictly sequential with dependencies, I cannot restructure it into parallel blocks or run parts asynchronously.

I saw the community suggestions about breaking the flow into smaller independent workflows and orchestrating them from the frontend, or moving orchestration entirely to the frontend with API Queries and JS. However, due to the dependencies between my steps, these suggestions are not straightforward or feasible in my case.

My questions:

  • Is there an alternative way to handle sequential workflows that run longer than 15 minutes?
  • Is there any way to allow the workflow to continue running on the backend even if the frontend request times out?
  • If not, is the only practical option to split the workflow into smaller sub-workflows and chain them, even though each step depends on the prior one?

Any guidance or alternative approaches would be greatly appreciated.

one step depending on the previous shouldn't keep you from splitting them at all. All you do is take the output of the first workflow and pass it along as input to the next workflow. I don't see any issues arising from this with the information you've given.