Ingesting Facebook webhooks (challenge & verification)

Published on Sep 22, 2020

Facebook lets you receive information about various events via webhooks. Documentation can be found here These webhooks are almost like any other webhooks except they also ask you to do the verification of the token (similarly to shared secret and HMAC in other platforms) but the slight difference comes when dealing with the challenge.

In this short tutorial, I will demonstrate how to configure Facebook webhooks so Webhook Relay will solve the challenge for you.

Facebook webhooks


Read More
Tagged with facebook functions serverless webhooks

CDN types and setting them up (Vue, React)

Published on Aug 27, 2020


What is CDN? Cloudflare has a nice explanation here:

In short:

A content delivery network (CDN) refers to a geographically distributed group of servers that work together to provide fast delivery of Internet content.

In this article we will have a quick look into several CDN types and potentials pros/cons that you might encounter when setting one up yourself.


Read More
Tagged with cdn frontend javascript webdev

Running Webhook Relay agent with Podman

Published on Jun 22, 2020


If you are familiar with Docker, you probably have also heard about Podman. Podman doesn’t try to do many things that Docker does, it’s a daemonless tool that provides an easy way to run, find and build OCI containers. We are happy to include documentation on how to run Webhook Relay tunnelling agent with Podman and also to announce that we are now providing agent images that are built on top of Redhat’s Universal Base Image (UBI).


Read More
Tagged with agent podman ubi webhook

New feature announcement: domain-based endpoints

Published on May 31, 2020

We are happy to announce that new domain-based input endpoints are now available for everyone to use.

domains, subdomains and paths


Read More
Tagged with api automation custom domains webhooks

Static IPs for webhook calls to enable whitelisting

Published on Apr 2, 2020

Quite often corporate firewalls only allow incoming webhooks from whitelisted IPs and many public services can’t provide them due operational complexity. The complexity for egress traffic usually comes from a modern infrastructure where servers are treated as cattle, not pets. Servers don’t have static IPs and only rely on a cloud load balancer that accepts ingress traffic and then routes to servers running in private network. Updates are often done by provisioning a whole new pool of nodes and gradually draining the old one.

Generated webhooks can be coming from services that are running on various backends:

dynamic infrastructure


Read More
Tagged with api automation gcp static IP terraform webhooks

Responding to API calls using Node-RED Webhook Relay node

Published on Mar 2, 2020

API response from Node-RED

In the previous article about controlling gadgets via IFTTT and Node-RED we explored ways to receive webhooks without public IP or configuring NAT and then performing certain actions. However, sometimes you need to respond back to the webhook producers or just other applications that expect success/error responses to properly function. Up until now you would have needed to use Webhook Relay tunnels but with the recent release, we allow sending dynamic responses back to the caller.


  • No need to expose your Node-RED to the internet.
  • Respond with carefully crafted HTTP responses choosing your status code, headers and body.

This feature transforms Webhook Relay webhook forwarding feature from unidirectional-only to a much more powerful tool.


Read More
Tagged with api automation node-red webhooks

Docker Compose update on Github webhook

Published on Sep 2, 2019

webhook filter signature

Last year I wrote a blog post about combining several tools to automate simple NodeJS app updates on git push. Many users were solving similar problems by writing local web servers in Ruby, Python or PHP to receive webhooks and then do async processing. I am happy to announce that we finally decided to add this feature to the relay CLI. Now, to execute a bash script, you can:

relay forward --bucket my-bucket-name --relayer exec --command bash

And to launch a Python app on webhook:

relay forward --bucket my-bucket-name --relayer exec --command python

This opens up some interesting posibilities to create pipelines that can react to pretty much anything that emits webhooks. In this article I will show you how to build a GitOps style pipeline that keeps a Docker Compose deployment in sync with a docker-compose.yaml hosted on a git repository.


Read More
Tagged with docker git github update webhook

Using Google Firestore for a Golang backend application

Published on Aug 26, 2019


Usually, when I need a database I just pick Postgres or embedded key-value stores such as the excellent boltdb, badger from dgraph or Redis (if I need a KV store but shared between several nodes). With flexibility comes the burden of maintenance and sometimes additional cost. In this article, we will explore a simple Golang backend service that will use Google Firestore as storage.


Read More
Tagged with cloud firestore gcp golang kv

Automated Jenkins builds on GitHub pull request

Published on Apr 17, 2019


In this short guide we will configure Jenkins to start builds on GitHub pull requests. Subsequent builds will be triggered on any new commits and GitHub pull request status will show whether build succeeded or failed. This setup will work without configuring router, firewall or having a public IP. It will also work behind a corporate firewall.


Read More
Tagged with github jenkins pull request webhooks

Rules-based webhook filtering & routing

Published on Apr 2, 2019


Some webhook providers do not offer fine-grained control over what events are being sent via webhooks. Sometimes, you end up in a situation where webhooks, based on their type have to be delivered to different servers. We will have a look at a new Webhook Relay forwarding feature that allows users to define rules on outputs that help in these situations.

Read More
Tagged with automation github rules webhook routing

Introducing Cloudflare support for Home Assistant remote access

Published on Feb 15, 2019

Home Assistant Cloudflare

Today we are expanding Webhook Relay’s Home Assistant add-on support for portability across different domains by announcing integration with Cloudflare API to create and manage DNS records. This means that you can transfer your domain management to Cloudflare and start enjoying new capabilities. Cloudflare has also recently announced their registrar so instead of just managing your records (they are doing it for free) and providing great proxy that speeds up your websites, you can now fully transfer your domain to them and avoid increasing prices from your original registrar.

Read More
Tagged with automation cloudflare home assistant tunnels

Setting up simple, self-hosted & fast CI/CD solution with

Published on Feb 11, 2019

Creating Drone tunnel

Continuous Integration and Continuous Delivery have been very trendy topics in the DevOps world for the last several years. As more and more organizations strive to improve their test and release processes, we have observed many new tools appear in this ecosystem. All major cloud providers are offering their automation systems (some are very unsuccessful) so it’s getting quite hard to pick the right one that fits your use-case.

Read More
Tagged with CI/CD automation docker drone git github

Controlling TV with Google Home, IFTTT and Node-RED

Published on Jan 29, 2019

cover of node-red, ifttt and webhook relay

In this article, I will show you how easy and quick it is to add voice controlled commands to your home/office or any other environment. Once you set up your first flow, any other features on top of that won’t take even 1 minute to add.


Read More
Tagged with assistant automation google ifttt speech tv webhooks

Node-RED OwnTracks location tracking without public IP/MQTT

Published on Jan 9, 2019

cover of node-red, owntracks and webhook relay

If you want to track your location but don’t want it to be shared with way too many companies that shouldn’t know it, have a look at this fantastic, Open Source mobile application OwnTracks ( that can send phone’s location data to your chosen server. No external service that aggregates your data is required, allowing you to do pretty much anything you want with the gathered location data. OwnTracks can send payloads either to an MQTT server or a standard HTTP endpoint.

Read More
Tagged with automation geofence gps node-red owntracks webhooks

Secure webhooks to Jenkins on Kubernetes

Published on Dec 18, 2018

satellite dish picture
Photo by Marat Gilyadzinov


There is no doubt that Jenkins is a great tool for both CI & CD. However, due to its access to your infrastructure, it becomes an easy target for attackers. For this reason Jenkins is often put behind a firewall and in doing so, webhooks stop working. Users do not want the pull-based but rather prefer the build to start as soon as there is a commit/tag/docker push!


Read More
Tagged with NAT docker firewall github jenkins kubernetes tutorial webhooks

Remote YouTube downloader Slack bot

Published on Dec 12, 2018

Slash command workflow

In this short tutorial, we will see how easy it is to receive webhooks directly inside your applications using Webhook Relay Socket Server. Our application will be a Node.js daemon process which listens for the webhooks and downloads videos that the user (you) requests. While the daemon can be written in any language, I chose JavaScript for this one since it’s very easy to read and most of the people have encountered it in the wild.


Read More
Tagged with bot javascript slack slash webhooks websockets youtube

Introducing WebSocket Server

Published on Dec 5, 2018

Socket Server picture

For the past few months, our users have pointed out that they need an easier way to receive webhooks inside their applications. In short, they do not want to implement a web server just for one endpoint that does nothing but receives webhooks. We have evaluated several solutions on streaming events to clients but ended up using WebSockets. This is because WebSockets is a standard that is implemented in pretty much every programming language (another solution, which we use internally and was considered first, was NATS but it would have required too many modifications).


Read More
Tagged with automation javascript relay webhooks websocket

Rancher - push to deploy workflow with Keel

Published on Nov 12, 2018

Rancher Webhook Relay and Keel

In this article, we will show how easy it is to configure “push to deploy” workflows with Rancher and Keel. If you are not familiar with Rancher, please visit their excellent website. This article might look lengthy but it’s only because there are a lot of screenshots to help you guide through Rancher’s UI. Also, once the initial setup of DockerHub, Webhook Relay and Keel is done, all the cluster workloads will get a self-service style automated updates.


Read More
Tagged with docker keel kubernetes rancher tutorial webhooks

Documenting your API with OpenAPI (Swagger) and Redoc

Published on Nov 5, 2018

In this article, we will review several popular editors suitable for documenting APIs with the OpenAPI 3.0 specification, different themes that can render the spec, as well as hosting strategies.


Best combination that we found:


Read More
Tagged with api apiary documentation openapi redoc swagger vscode webdev

Home Assistant remote access add-on

Published on Oct 12, 2018

Webhook Relay add-on allows remote access to Home Assistant without configuring your router, firewall or having a static public IP. It works by creating secure reverse tunnels back to the cloud service.

Webhook Relay Add-on


Read More
Tagged with automation docker home assistant raspberry pi tunnels

Hassle-free remote access to Home Assistant on a Raspberry Pi

Published on Sep 3, 2018

Home Assistant & Webhook Relay

There are quite a few home automation systems out there but one of my favorites is Home Assistant. It’s written in Python (available on GitHub), has a nice user interface and is very easy to deploy. Home Assistant has tons of integrations with many other online services and hardware devices.


Read More
Tagged with automation docker home assistant raspberry pi tunnels

How to receive Paypal webhooks on localhost

Published on Aug 21, 2018

PayPal webhooks

In this article, we will write a small web server in my favorite language Go that handles PayPal’s webhooks. I will show you how easy it is to start receiving webhooks, developing your application and debugging it with Webhook Relay.


Read More
Tagged with Golang PayPal development payments tutorial webhooks

DevOps Use Case: Performing Redis maintenance in Kubernetes

Published on Jul 23, 2018

Nowadays it’s easy to run pretty much anything in Kubernetes clusters. But what about debugging these services? What if you need to quickly access a service that is normally not exposed to the internet or your intranet and is only accessible from within the cluster? Your service is like:

no loadbalancer


Read More
Tagged with debug devops kubernetes maintenance redis tunnels

Auto deploy your Node.js app on push to GitHub in 3 simple steps

Published on Jul 17, 2018

Simple use case - deploy your updated Node.js app on a push to a GitHub repository. To achieve this, we will use several tools:

  • nodemon - monitor for any changes in your node.js application and automatically restart the server - perfect for development but we will make it perfect for production too :)
  • webhook - incoming webhook server which can execute shell commands.
  • relay - will allow us to receive webhooks anywhere without exposing them to the internet.


Read More
Tagged with git github nodejs nodemon reload webhook

What is a webhook and how to create one?

Published on Jul 13, 2018

As most of what we do on the web can be described by events, webhooks have become a de facto way of connecting systems, whether it’s a new user account creation, successful payment, DockerHub image push event or a new pull request in your Git repository. They are incredibly useful and lightweight way of sharing information.

webhook example


Read More
Tagged with automation hook web webhookbin webhooks

Mailgun webhook fan-out

Published on May 21, 2018

Transactional emails are widely used in most apps. Systems requests email confirmation, dispatch password recovery emails, notifications, and more. Sending the emails is one thing, but what about tracking delivery and performance? Did that user get that email confirmation message? These unknowns could lead to unexpected problems. Even though this data is available via dashboard, webhooks offer a much better alternative where you just supply the URL and you get almost instant notifications about events.


Read More
Tagged with fan-out mailgun webhook webhookbin

Web Relay Ingress with Docker for Mac

Published on Jan 8, 2018

Docker for Mac now supports Kubernetes

Kubernetes became available in Docker for Mac 17.12 CE Edge. Kubernetes in the last year showed that it’s the most flexible and reliable option to run container workloads, all the major cloud providers now offer or are planning to offer a managed Kubernetes service to their customers:


Read More
Tagged with NAT docker ingress kubernetes mac node.js tunnel tutorial

How to receive Stripe webhooks on localhost

Published on Dec 26, 2017

stripe webhooks

In recent years Stripe has become a major payments provider. It is loved by managers and developers for a reason. Stripe has easy to use APIs, SDKs in multiple languages and outstanding documentation.
Like other payment platforms, Stripe utilizes webhooks to inform about customer, subscription, card and many other changes in the state.


Read More
Tagged with app development golang payments stripe tutorial webhooks

Receive Github webhooks on Jenkins without public IP

Published on Nov 23, 2017

Jenkins is probably the most popular CI tool. Since Dev and Ops roles are growing more and more alike we need to reduce initially required ‘activation energy’ to adopt automation tools. Building and testing software should be easy, fast and reliable. Current technique known as polling repository usually results in constant delays where engineers have to wait till the next CI scanning cycle.


Read More
Tagged with github jenkins tutorial webhooks

Keel - automated Kubernetes updates

Published on Jul 17, 2017

keel overview


If you are using Kubernetes for dev/test/production - you need a way to automate deployment updates once new images are available. Keel is a lightweight service to take care of that.

You can find more on its website: and Github repository


Read More
Tagged with CI automation keel kubernetes

Introduction to Webhook Relay

Published on May 15, 2017

Webhook Relay was created to solve one problem - simplify communication between systems by providing a webhook delivery system to applications that are running in internal networks.


Read More
Tagged with webhooks