APIs & Integrations

ryankinal
Member

WorkFlow Extension Retries on Non-429 Error Response

I've created a workflow extension, and the script at the webhookUrl returns a 200 on success, and various non-2xx HTTP codes when an error occurs. According to the documention on Workflow Extensions (under the header "Executing Workflow Extensions"), a non-2xx, non-429 should log a failure in the workflow and continue with the next action.

  • Any successful response status code (2xx) - The workflow logs a success message in the workflow history and continues with the next action.
  • Rate limit/retry status code (429) - The workflow will retry the action until another response is obtained using an exponential backing off schedule over minutes or hours. If the Retry-After header value in the form of seconds is provided, that value will be used to schedule the next attempt.
  • Any other response status code - The workflow logs a failure message in the workflow history and continues with the next action.

This is not the behavior I've observed, though I have no way to verify the response codes that my system is returning to the workflow extension.

Is there a way to debug this?
Is there a way to guarantee a no-retry failure?
Should I just return a 200 even on failure? (This seems like an incredibly bad idea)

0 Upvotes
2 Replies 2
cbarley
HubSpot Alumni
HubSpot Alumni

WorkFlow Extension Retries on Non-429 Error Response

Hi @ryankinal,

You said you haven't experienced this behavior. What have you seen instead?

Can you respond here with a link to your workflow so I can take a look?

0 Upvotes
ryankinal
Member

WorkFlow Extension Retries on Non-429 Error Response

@Connor_Barley I'm seeing up to 5 retries, regardless of response code.

My workflow is here: https://app.hubspot.com/workflows/5264522/flow/3836831/edit

I'm doing some logging on my server when I receive requests from the SlickText workflow extension, and when it fails, I see several retries, even when the request fails. There are a few reasons the request could fail, even when the extension is set up correctly, and I'd rather not have the possibility of failed requests hitting my server 4 more times than necessary.

0 Upvotes