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)