svix-id header as the idempotency key and skip a message you have already processed.
Return 200 before you do slow work. Process the event on a queue. Svix retries failed deliveries with exponential backoff.
Failed deliveries and replays are in Settings > Webhooks.