Webhooks are "user-defined HTTP callbacks".
They are usually triggered by some event, such as pushing code to a repository or a comment being posted to a blog.
When that event occurs, the source site makes an HTTP request to the URI configured for the webhook. Users can configure them to cause events on one site to invoke behaviour on another. The action taken may be anything. Common uses are to trigger builds with continuous integration systems or to notify bug tracking systems. Since they use HTTP, they can be integrated into web services without adding new infrastructure. However, there are also ways to build a message queuing service on top of HTTP—some RESTful examples include IronMQ and RestMS.