If you check your nav bar, you’ll notice a new little section entitled Programming. This is, as you might expect, a tab for programming your newsletter! Buttondown is getting more and more advanced at creating technical and advanced use cases for our authors, and I wanted a place to put all of these features without crowding out other parts of the dashboard.
So, if you’re not interested in supercharging your newsletter (and I don’t mean that in a bad way at all: none of my newsletters are using webhooks!) feel free to ignore this. But if you’re interested in seeing how to better integrate Buttondown into your stack, let’s dive in!
The Programming page is where you can find your API key. This was previously buried at the bottom of the main settings page for no other reason than “I didn’t know of a better place to put it.” Here is that better place!
Now we’re getting to the exciting stuff. After almost an entire year in private beta, webhooks are now live.
I think the most interesting bit to dive into is specifically what event types are possible with webhooks:
- Email creations
- Subscriber creations
- Subscriber churns
- Subscriber trial beginnings and endings, for paid newsletters
- Subscriber updates to metadata or notes
To create a webhook, all you need to do is set the URL, a description, and what event type you want that webhook to receive:
Of course, webhooks are nice, but it’s important to understand what is actually getting fed into those webhooks, and your Events table gives you an overview of all events flowing through your account. Each event is listed here, along with the metadata and the payload that would be sent.
Notably, if you’re looking to test a part of your integration you can actually replay events from this view by clicking on the relevant event and hitting the “Replay event” button. This makes it easy for you to stage your webhooks without having to rely on manual traffic.
Lastly, if you’ve wired together an API integration with Buttondown, you get a nice administrative view of all of your previous requests along with latency, success, and response information. You can use this to debug any problems you have with your integration.