// the find
zapier/django-rest-hooks
:love_letter: Add webhook subscriptions to your Django app.
django-rest-hooks adds webhook subscription management to Django apps by piggybacking on Django's signals framework. You define events in settings, and the library automatically fires HTTP POSTs when models are created, updated, or deleted. It's from Zapier, which gives it credibility — they clearly built this to scratch their own itch.
The signals integration is genuinely clever: zero boilerplate for CRUD events, you just declare them in settings and it works. The swappable Hook model via AbstractHook is the right design — you're not locked into their schema. Custom event support via raw_hook_event lets you fire arbitrary payloads beyond the ORM lifecycle. The Celery integration path is first-class and well-documented, which matters because the default threading approach will quietly drop deliveries under load.
Dead since 2021 — last commit is five years old, and the stated Django support tops out at 2.0 (current is 5.x). No built-in retry logic or dead-letter handling: if a target returns 500, you have to wire that up yourself or use the Celery example. The hook delivery is per-user by design, so there's no concept of org-level or resource-level subscriptions without significant custom work. No signature/HMAC support on outbound payloads, meaning consumers have no way to verify the request actually came from you.