Category Archives: Calendar

Until recently, I’ve only included Google in my list of companies that unintentionally provide an example of web hooks. Like PayPal’s IPN, Google Checkout provides a similar feature for notifications. However, I was recently informed that Google Code project hosting has a post-commit hook, which they’ve implemented explicitly using the “web hooks model.”

If you have a project hosted on Google Code, you’ll find this under Administer/Source. The documentation for this feature even links to our wiki. I had a feeling this would happen eventually with Google Code. This particular hook event is very popular with most project hosting services, including GitHub.

I never liked mentioning the Google Checkout Notification API because it was terribly heavyweight and didn’t seem to add much to the web hooks model. On the other hand, the Google Code post-commit hook is done quite exceptionally, and even shows a great method of authentication.

The Google Code hook payload is JSON, which is significantly more straightforward and simpler than XML. More interestingly, they use HMAC for authentication, which has been something of an unresolved issue with this model. HMAC seems quite suitable when authentication is necessary.

Like most of the cases of web hooks out there, this was done without my direct influence. However, separately I have been invited to give a private talk at Google on web hooks. That’s happening February 23rd and is open to anybody at Google. On top of this, Joshua Schachter recently joined Google and he’s been in the web hooks camp for a while, so I’m excited to see what else Google does with them.