Why Managing Webhooks From Multiple Providers Ends Up Costing a Lot of Time
At first glance, setting up a webhook appears straightforward. You get a webhook URL and the destination endpoint on your application, and then you give it to your webhook provider to send the webhook. But what happens when you are setting up and managing multiple integrations?
From one-time activities like learning each integration to repetitive maintenance tasks like troubleshooting, the time it takes to get a new integration set up and maintained adds up fast. Time is money, so the time you spend managing multiple integrations is time you could be investing in building your product!
In this article, I will breakdown the cost of setting up and maintaining a webhook integration and explore the impact of how adding more integrations significantly increases development time.
How much time are you spending dealing with a single webhook?
Let’s start with a list of steps required to set up a webhook integration that I’ll divide into one-time tasks and repetitive tasks. We’ll estimate how much time each one can take and show how it increases development time. TLDR?
- The average cost of setting up 1 webhook: up to 2 weeks
- Monitoring webhook health: daily routine
- Average time spent troubleshooting and fixing a webhook failure: up to 1 day (1 to 3 times a week)
- Understanding the webhook parameters by studying the webhook provider’s documentation, which is highly dependent on the quality of documentation
- Setting up the test environment and testing the webhook in a local environment
- Deploying and testing in production for flawless release
Time estimate: 2 weeks of work.
Aside from the one-time integration tasks, there are also tasks that will become routine to ensure that your webhooks stay running. The most common ones are:
- Monitoring webhooks
- Done at intervals daily to keep tabs on the health of your webhooks
- Error troubleshooting
- Involves searching through logs and metrics, error messages, payload, headers, etc., in order to trace the cause of the problem
- Testing and deploying fixes
- Retrying all the webhooks that have failed
Time estimate: 1 to 3 times a week, and between 30 minutes to 8 hours depending on scope of fix.
📌 This series focuses on one-time setup and repetitive tasks for managing multiple integrations, but if you want to learn more about webhook scalability we cover it in depth here.
If you’re expecting a substantial webhook load, you want to make sure your system can handle it. Spinning up the infrastructure capable of handling the expected load with proper setup and testing (including load testing) adds even more tasks to make your webhook integration production ready.
- Designing your webhook infrastructure (the scope of this depends on the scale you’re going for)
- Building out your infrastructure with the required components
- Instrumenting your webhook infrastructure for monitoring and observability.
- Deploying your webhook infrastructure
Time estimate: 2 weeks to a month.
What is the cost of managing multiple webhooks?
So, what does it mean when you have multiple webhooks to manage? What are the impacts of time spent on integrating, troubleshooting and managing multiple webhooks?
Let’s take a look at the challenges that come with working with multiple webhooks.
Time investment for each new integration
First of all, the most obvious one: the duplication of the activities in setting up a single webhook (summarized above). Both one-time and repetitive tasks are multiplied. Instead of learning one integration, now you need to learn 3, 4, or 7. You have to perform multiple integrations, test and deploy each one.
Impact: For example, if we assume that it takes 2 weeks to add a new integration, including repetitive tasks, adding a fourth integration can lead to over 2 months of investment in development time.
Dealing with the different expectations of each webhook provider
Next, a problem arises when you’re dealing with multiple webhooks: you need to make provisions to accommodate each provider’s peculiarities.
Webhook providers are quite nuanced in their integration requirements. While the concept of submitting a webhook URL where webhooks will be sent is the same across all providers, the steps and requirements to get it set up are different from one provider to another.
Examples of areas where webhook providers differ include:
- Payload structure
- Authentication strategies supported
- Retry policy
- Browsable logs
- ….and more.
Impact: Accommodating these differences for 4 webhooks will add weeks of development time on top of initial set-up time, just to ensure that the requirements of all the providers are met.
Covering for knowledge gaps
Great! You’ve set up all your integrations but with each integration quirk added, it seeds a new problem: gaps between developers that touches the integration in question.
There is also the issue of which team members have knowledge of certain webhook integrations, supported features, limitations, and quirks. In a team, it takes constant effort to keep every team member updated on the requirements of integrating and managing all the numerous webhook providers required.
Keeping the team up-to-date requires proper documentation of all integrations, updating the documentation with newly discovered information and new integrations, and enforcing discipline amongst team members to consume the docs and always check for updates.
It’s also important to keep in mind that if the developer that set everything up leaves, or a junior developer has to figure out how the custom system works, things can get hairy fast and a lot of time gets lost trying to figuring things out.
Impact: So, with 4 webhook integrations already taking months, adding the task of communicating and documenting integration knowledge can add extra days to each integration.
Centralizing webhook management saves time managing multiple integrations
Investing 2 whole weeks on a single webhook integration and then many more for each new integration shows signs of a process that needs to the optimized. One sure way to optimize the process of managing multiple webhooks is to streamline all integration setup processes and cut down on repetitive tasks.
This new approach can cut down the estimated integration time of a webhook from 12 days to as low as one 1 day, representing as much as 92% cost savings on integrations. The following article will explain how this new approach will help us achieve this amount of cost reduction in integrating webhooks.
Single pane of glass management for all webhooks
A single pane of glass management strategy helps manage all webhook providers under one management console and creates a system that brings uniformity to the integration process. This way, we only have one set of integration steps for all webhook providers, thereby cutting out the need to accommodate specificities.
This will also help in speeding up the integration process because the knowledge is the same, and routine tasks are abstracted and/or automated. Below are the proposed features of the centralized webhook management system that will help us cut down on development time spent managing multiple webhooks:
- Manage all webhooks under one roof
- Harmonize all providers’ features into a single set of features
- Streamline the different integration setups/workflows into one (if one integration works, others work as well)
- Cut down on repetitive tasks by abstracting and automating a lot of functions, for example searching and filtering for errors
- Provide customization features for edge cases
- Support high scalability out-of-the-box, eliminating server issues such as degradation leading to failed webhooks (timeout)
In this article, we have estimated the cost of integrating and managing webhooks from multiple providers. We estimated weeks leading to months of development time by first calculating the cost of integrating a single provider, and then looking at the extra costs that come from the challenges faced when adding extra providers to our stack.
We then explored the single pane of glass management solution that would save up to 92% of that time by streamlining the webhook integration process, encapsulating routine activities, and providing scalability out of the box. This leads to cost savings in development time on both integration and repetitive tasks.
In the next article, I dive into the the single pane of glass management solution and look at how it will help us achieve these savings.