Webhook Integrations

There are a number of third party services you can use with Buildkite webhooks. Some services (such as RequestBin and Zapier) are designed specifically with webhooks in mind, and others (such as AWS Lambda, Google Cloud Functions, IronWorker and Webtask) are general purpose programming platforms which can be triggered with webhook HTTP requests.

AWS SNS with AWS Lambda

AWS SNS is an Amazon pub-sub service providing messaging and mobile notifications. AWS Lambda is an Amazon service for running code functions in response to events like SNS messages or HTTP requests.

There are many ways to integrate webhooks with SNS. The following examples show a variety of ways to use Lambda to process SNS messages:

Google Cloud Functions

Google Cloud Functions are a Google Cloud service for hosted Javascript execution, and also supports exposing functions via URLs. See the Calling Cloud Functions documentation for how to expose them, and their Hello World walkthrough for getting started.

IronWorker

Iron.io’s IronWorker is a service for hosted code execution using Docker containers. You can follow their webhook worker documentation and sample code for an example of how to create an endpoint to use with Buildkite webhooks.

Zapier

Zapier is a system for connecting APIs together, and has built in support for hundreds of services. For example, you could use Zapier to send an email when a build has finished, save a build artifact into a Dropbox folder, or post to a Slack room substituting values such as the build URL and number into the message body.

To use Buildkite webhooks with Zapier create a new Zap and select Webhook.

Webtask

Webtask makes it easy to write Node.js powered backend code without having to run a server, and it supports cron (scheduled runs) and secure token storage (for things like API keys). You can use our LIFX webtask example to get started with processing webhooks using Webtask:

:node: Webtask.io webhook example application github.com/buildkite/lifx-buildkite-build-light-webtask