ifttt is a no-code/low-code tool for automation.

You can chain trigger events (“if someone tweets a new tweet with the hash-tag coding”) to commands (“then send me an email”).

My goal was to receive a webhook event, so that I can send an email.

I create my newsletter via buttondown.email. I have a script that creates a new newsletter draft from my blog posts via GitHub actions.

Everything happens automatically.

When a new draft drops, I want to receive a notification. Buttondown has a webhooks API that can send POST requests to an endpoint — for example, to ifttt.

You have to create a new ifttt “recipe” with the webhooks trigger.

In your ifttt webhooks settings, you will see an URL that looks like this:

https://maker.ifttt.com/use/<some-random-string>

I need to tell buttondown.email to send a webhooks request to that URL.

But the correct URL is different than the one shown in the ifttt UI.

You’ll need to chain it like this:

https://maker.ifttt.com/trigger/<the-trigger-name>/with/key/<the-random-string>

Let’s say you call your trigger action buttondown.email_draft.created.

ifttt webhook trigger field
ifttt webhook trigger field

Then the URL for the POST request looks like this (replace <the-random-string> with your unique ID):

https://maker.ifttt.com/trigger/buttondown.email_draft.created/with/key/<the-random-string>
buttondown.email add webhooks
buttondown.email add webhooks field

I could not find that information on the official website, but some third-party blog posts (see below) pointed me in the right direction.