I’ve just been using Ghost’s Webhooks for the first time. Since I am using Ghost as a headless CMS, I use them to trigger a build action on Github to redeploy my ghost site on Github Pages.
Unfortunately, this was not so simple. Ghost’s Webhooks only allow you to provide a url to ping, while Github’s actions require a POST with an authorisation header, as well as a JSON body to specify the target branch.
I eventually had to set up a server that acts as a relay - taking the Webhook from Ghost and forwarding it along with the necessary headers to Github to trigger the action. This is obviously less than ideal, and would be a lot easier if Webhooks supported headers and body in the request.