ReTool Workflow runs twice

Hi everyone,

I'm having an issue with some workflows. When triggered, they start and complete successfully, but immediately after, they start a second run, which fails and returns an error as the trigger result. This seems to happen only with long-running workflows (7+ minutes).

I’ve checked on my end and confirmed that the trigger is only fired once

Does anyone know why this might be happening?

Hi @Anton_Enenkov,

Can you please post a little more information such as the blocks as well as the Data tab on the startTrigger Block? Already in your run history we see for example 9.2kb and 285.1kb. This would suggest the data is different.

If you do this for a pair of your webhook calls we should be able to find the difference.

Maybe also let us know what app is triggering the webhook.

Hi @Shawn_Optipath
Thanks for your support

Here are two JSONs from the triggers. As you can see, both contain the same data, including identical timestamps, but the request IDs are different.

I'm not sure if you can access my workflow, but if you can, here’s the workflow ID:: cbe0d279-f077-4c0d-b5b1-9e5fbd1ef9c6?runId=67a92a83-af84-4265-bb46-1ebb04af69e2


Hi Anton,

It looks like Ampup is sending the webhook multiple times. Some webhook providers retry the request if they don’t receive a quick response. Even if your workflow succeeds, Ampup may still resend the webhook. Check: Does Ampup have retry logic? Look at its logs to see if multiple identical requests were sent.

I have run across this before with Jobber. The developers there said it was common to have the webhook send it out more than once to be sure the data was retrieved. It was up to us (or me) to build into my workflow something so the data was not used twice.

You could add a code block right after the startTrigger to filter out any identical data within the same timeframe.

1 Like

Hi @Shawn_Optipath

We don’t have any retry logic on our side, and during testing, we didn’t observe any duplicate network requests from our end. Additionally, the timestamp field is generated on the client side, and as you can see, it remains identical for both runs.

We can certainly add a block after the trigger to filter out duplicates. However, the real issue is that when a duplicate run occurs, the response comes from that run rather than the original one. This causes the second run to always fail, which is the main challenge for us.

Let me know if you have any thoughts on this!

Have you reached out to Ampup tech support?

When is this webhook triggered? Is it on a new record or an update? Sometimes when it is on update you can end up in a loop if you are updating the data. It's hard to tell without more context.

Another observation. In your example your duplicate webhook is triggered 6 seconds after the first. Your workflow is a whopping 462 seconds. Maybe try adding a webhook response immediately after the startTrigger telling the server you're good, no need to send it again.

That's a really good suggestion, @Shawn_Optipath! Does your workflow in its current form have any response block, @Anton_Enenkov?

1 Like