Hey @cameronpak, there indeed is a system that deactivates a webhook. This is protected the system from constantly trying to repeat a webhook call that’s failing. By default, a webhook call is retried 8 times, and is also deactivated after 8 tries.
If your server responds with a 400 or 500 errors, then it marks the request as failed. Ideally, your server responds with a 20X status code to notify that the webhook was successfully delivered.
If you’re self-hosting, then you can change these environment variables BASEROW_WEBHOOKS_MAX_CONSECUTIVE_TRIGGER_FAILURES and BASEROW_WEBHOOKS_MAX_RETRIES_PER_CALL to increase the limits. More info about them on Configuring Baserow.