skillfed

django-signal-webhooks

Add webhooks to django using signals.

django-signal-webhooks v0.3.1 124.1K downloads/30d#11,884 on PyPI5
Permissive license MIT Active released

What it is and what it does

Django Signal Webhooks bridges Django model lifecycle events (create, update, delete) to external HTTP endpoints by hooking into Django's signal system. It lets you define which models should trigger webhooks and manage them through Django's admin interface, with optional authentication and customization hooks throughout the sending process.

The package handles the mechanics of serializing model changes, constructing HTTP requests via httpx, and delivering payloads to registered webhook URLs. It relies on cryptography for secure operations and django-settings-holder for configuration management. You configure webhooks declaratively in settings and then manage individual webhook registrations (URLs, authentication, active/inactive state) through the admin panel without code changes.

Use it for:

  • Notify external systems (CRM, analytics, logging) when Django models change without tight coupling.
  • Trigger downstream workflows in microservices when user or order records are created or updated.
  • Implement audit trails or event streaming by sending model mutations to a dedicated event service.
  • Sync data between Django and third-party SaaS platforms on model changes.
  • Build real-time integrations where external tools need to react to Django application events.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Adds webhook support to Django models by automatically triggering HTTP callbacks on create, update, and delete events via Django signals, configurable through the admin panel.

Yes, if you need to emit webhooks from Django model events and want a low-friction, admin-friendly solution. The package is actively maintained, has no known vulnerabilities, uses permissive licensing, and integrates cleanly with Django 4.2+. Install only if your project already uses Django and you need outbound webhooks; it adds a small dependency footprint and is straightforward to configure.

Install

django-signal-webhooks on PyPI

pip

pip install django-signal-webhooks

uv

uv add django-signal-webhooks

poetry

poetry add django-signal-webhooks

Installing django-signal-webhooks

Before you install

Low friction: pure Python wheel with six runtime dependencies (Django, asgiref, httpx, cryptography, django-settings-holder, typing-extensions). Active maintenance with recent commits; last release 652 days ago but repo shows current activity.

License in practice

MIT license (permissive) places no restrictions on use, modification, or distribution in proprietary or open-source projects.

Quickstart

pip install django-signal-webhooks

# In project/settings.py
INSTALLED_APPS = [
    ...
    "signal_webhooks",
]

SIGNAL_WEBHOOKS = {
    "HOOKS": {
        "django.contrib.auth.models.User": {},
    },
}

Requires Django 4.2, 5.0, or 5.1; Python 3.9 or later.

Verify before relying

  • Whether webhook retry logic, rate limiting, or failure handling are built-in or require custom implementation.
  • Whether the package supports webhook signing/verification beyond basic authentication.
  • Performance characteristics when handling many concurrent webhook deliveries.

Package facts

License MIT (permissive)
Python support supports the current Python release (<4,>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 6 — Django, asgiref, httpx, cryptography, django-settings-holder, typing-extensions
Maintenance actively maintained — 652 days since the last release
Last repo commit
First released
Downloads 124,144/month — #11,884 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: django_signal_webhooks-0.3.1-py3-none-any.whl

Keywords: django, signal, webhooks

Environment :: Web EnvironmentFramework :: DjangoFramework :: Django :: 4.2Framework :: Django :: 5.0Framework :: Django :: 5.1Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9

Tags

django webhooks signalsdjango model event webhooksdjango create update delete hooksdjango admin webhooksdjango outbound webhooksdjango event notifications httpdjango signal-based webhooks
django-integrationevent-drivenwebhooks

More Dynamic Content packages