Feature: Re-firing Webhooks
Webhook deliveries can fail for all kinds of reasons — a downstream service was briefly down, an endpoint was misconfigured, or you simply want to replay a submission to a newly connected integration. Until now, the only option was to wait for Basin's automatic retry cycle to finish or resubmit the form entirely.
Today we're shipping manual webhook re-firing across the dashboard and API.
What's new
Re-fire from the submission log
Open any submission's Log view and you'll see a Re-fire Webhook button next to each webhook event. Clicking it immediately re-queues that specific webhook and creates a fresh log entry so you can track exactly what happened. The button disables itself after firing so you don't accidentally double-send.
Bulk re-fire from the inbox
Need to replay webhooks for a batch of submissions? Select them in your form's inbox using the checkboxes, open the Action dropdown, and choose Re-fire Webhooks. Every enabled webhook on each selected submission will be queued.
Re-fire via the API
Automate webhook re-firing from your own tooling using two new API endpoints:
Single submission:
curl -X POST "https://usebasin.com/api/v1/submissions/{id}/refire_webhooks?api_token=YOUR_TOKEN"
Multiple submissions:
curl -X POST "https://usebasin.com/api/v1/submissions/refire_webhooks?api_token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"submission_ids": [123, 456]}'
Both endpoints support Account API keys and Form API keys. When a Form API key is used, only submissions belonging to that form can be re-fired — requests for submissions from other forms are rejected.
How it works
Each re-fire creates a new parent log event (labelled "Webhook Re-fired") and re-queues WebhookJobV2, so the full retry and failure handling cycle applies exactly as it does for an original webhook delivery. Your webhook logs will always show a clear history of every attempt, including manual re-fires.