Bambu Webhooks

Create webhooks and allow users to assign URLs to them

About Bambu Webhooks

This package allows web apps to provide third-party integration via webhooks. You as the developer can trigger a webhook by name, and provide an interface whereby the user can manage the URL to post the webhook’s data to.

About Bambu Tools 2.0

This is part of a toolset called Bambu Tools. It’s being moved from a namespace of bambu to its own ‘root-level’ package, along with all the other tools in the set. If you’re upgrading from a version prior to 2.0, please make sure to update your code to use bambu_webhooks rather than bambu.webhooks.


Install the package via Pip:

pip install bambu-webhooks

Add it to your INSTALLED_APPS list:


Add bambu_webhooks.urls to your URLconf:

urlpatterns = patterns('',
    url(r'^webhooks/', include('bambu_webhooks.urls')),

Run syncdb or migrate to setup the database tables.

Basic usage

Register a webhook within your file.

from hashlib import md5
import bambu_webhooks'webhook_name_',
    description = 'A description of the webhook'

In the save() method for your model, trigger any webhooks that have receivers attached, thus posting the data to the user’s specified URL.

def save(self, *args, **kwargs):
        md5('testproject.myapp.mymodel:%d' %

Better with Bootstrap

This package, among most in the Bambu toolset is designed to work with Bambu Bootstrap, a collection of flexible templates designed for web apps based on the Twitter Bootstrap framework. It’s not a package requirement, but it’ll mean the template structure and the context variables exposed by the view makes a little more sense.


  • Allow webhooks to be categorised and/or filtered
  • Prepare for internationalisation
  • Write tests

Questions or suggestions?

Find me on Twitter (@iamsteadman) or visit my blog.

Indices and tables