Author picture Phil Leggetter

How Weekend Health Supercharged its Webhook Infrastructure with Hookdeck

Published


Weekend Health key facts

Weekend Health is a telehealth provider that connects members with healthcare professionals as part of their weight management journey. For members of the service, that means quick and easy access to clinicians who can make a real difference to their health, while the service also navigates the complexities of insurance billing.

Behind the scenes, this involves integrating a complex network of individual healthcare providers, health data, and insurers, all while prioritizing reliability, security, and efficiency. At the heart of enabling Weekend Health to deliver seamless care to tens of thousands of people is Hookdeck. Weekend Health Co-founder and CTO Calvin Young stated:

Hookdeck is the fabric connecting all of our third-party services.

The challenge

For Weekend Health subscribers, the service's value lies in its ability to connect them reliably to an extensive roster of healthcare professionals. To deliver that, Weekend Health's backend must stay in sync with, and react to updates from, around a dozen third-party services, such as payment providers, chat systems, and scheduling services.

Prior to introducing Hookdeck, ingesting, processing, and delivering webhook events from multiple systems raised challenges for Weekend Health's engineering team at all stages of the software development lifecycle (SDLC).

Build and deploy

Before adopting Hookdeck, Weekend Health's developers used ngrok to manage webhooks in development.

We were relying on ngrok, but each developer had to set it up manually, which led to inconsistencies across environments and added significant overhead.

This friction also impacted onboarding new team members, who faced a steep learning curve when configuring tunnels for each external service. Initially, webhooks were routed directly to one of the team's containerized backends, which was dedicated solely to ingesting webhooks. However, as the team expanded and the number of webhook integrations increased, this manual setup became increasingly unsustainable.

Using ngrok to manage external webhooks in development also led to complications during deployment. Individual configurations often drifted, resulting in inconsistent testing environments. As Calvin noted, "Testing external webhook integrations was often painful and time-consuming".

Operate and observe

Downtime was just one aspect of how this impacted the operation of the service. Without a central tool to manage their webhook integrations, the team was forced to rely on a patchwork of different solutions and manual processes in production.

Calvin saw fragmentation as the cause of a lot of pain in day-to-day operations, which led to inconsistent performance and added complexity in maintaining reliable operations.

We had a lot of different systems and manual processes for managing webhooks, which made it difficult to keep track of everything. The lack of a unified solution meant we were constantly juggling between tools like custom dashboards, ad hoc scripts, and legacy monitoring systems.

And, of course, that spilled over into the team's ability to observe what was happening in their production deployment where the lack of comprehensive monitoring tools meant that engineers struggled with real-time visibility into webhook performance.

We had no real-time monitoring or easy way to understand webhook statuses. If something went wrong, finding and fixing the issue was a tedious process.

Troubleshooting was further complicated by limited data and fragmented logs. Without end-to-end observability, the reliability of the application was at risk.

We could see if a webhook had failed, but troubleshooting was much harder. We lacked a clear view of how webhooks were performing over time.

The solution

Calvin and the Weekend Health engineering team knew they needed a more robust solution to handle their expanding array of third-party service integrations. After evaluating the available options, Calvin decided on Hookdeck.

Hookdeck was really the only choice for us at that point. It was the only solution that could handle our complex webhook management needs in a unified and reliable way.

Just as the challenges they faced before Hookdeck affected every stage of the SDLC, so too did the benefits of Hookdeck.

Build and deploy

Hookdeck solves multiple challenges the team had previously faced both in working with external services and in bringing new team members onboard.

Hookdeck provides a centralized, consistent way to manage webhooks, eliminating the manual setup and configuration inconsistencies we faced with ngrok.

In particular:

Consistent development environments: Hookdeck ensures every developer works within a standardized environment leading to smoother collaboration and fewer errors during development.

We no longer have the inconsistencies we faced with manually configured tunnels. Instead, because the Hookdeck CLI is available as a Docker image, we can use a Docker Compose file to spin up all of the different tunnels we need simultaneously.

Faster onboarding for new developers: New developers can get up to speed quickly.

Onboarding new team members used to be a lengthy process due to the manual configuration of ngrok. With Hookdeck, they can start contributing right away.

Faster onboarding of new integrations: Integrating new services has become more efficient.

Adding new webhook integrations used to take days. Hookdeck has cut that time down significantly, allowing us to rapidly deploy new features.

Centralized management: Hookdeck provides a unified platform for managing all webhook integrations.

We used to juggle multiple tools and scripts. Now, with Hookdeck, everything is in one place, making management and monitoring much simpler.

The eureka moment for the team was being able to type docker-compose up on the Hookdeck Docker compose file, and then just get all of the tunnels for every single webhook, every single third-party service. And it just works. That feels pretty magical.

Hookdeck has significantly streamlined deployments for Weekend Health by creating a consistent, reliable environment across all stages of development. Previously, managing external webhooks with ngrok led to complications in development and further problems during deployment. Individual configurations often drifted, resulting in inconsistencies between testing, staging, and production. Automated test environments now use Docker to set up webhook tunnels with the Hookdeck CLI, ensuring consistency from development to production.

One of the major improvements with Hookdeck is its ability to simplify the staging-to-production workflow.

We can now set up connections in the staging environment, confirm everything works as expected, and then easily copy those same configuration changes to production. Hookdeck gives us confidence that things will work the same way in production, eliminating the inconsistencies we struggled with before.

Operate and observe

One of the biggest wins for the Weekend Health team has been Hookdeck's impact on the resilience of their application.

In production, the Hookdeck feature that we use most frequently is getting notified about failed webhooks. Prior to Hookdeck, if something broke in production, we had very little visibility.

Now, once we get notified of an error, we can look at the payload, the response value, and match that to an error in our error monitoring service. When we've fixed the bug we can have Hookdeck replay all the failed webhook requests. That's a huge win for us.

Hookdeck's notifications and issues mean that the Weekend Health team gets full visibility of failures.

The result

Since integrating Hookdeck into their workflow, the Weekend Health engineering team has experienced a transformation in their ability to serve their app users. Replacing ngrok tunnels during development and their custom integrations with Hookdeck has enabled them to:

  • Establish and maintain a consistent development environment: By using Docker Compose with Hookdeck's CLI to set up webhook tunnels, every developer works within a uniform environment. This approach eliminates the inconsistencies and errors previously caused by manual ngrok setup, reducing overhead and ensuring a smoother development process.

  • Onboard new developers faster: The standardized environment also makes it easier to bring new developers on board. Instead of having each new team member manually configure ngrok tunnels for each integration, they can jump straight into a ready-to-go setup, cutting their ramp-up time.

  • Simplify integrating new services: Adding and deploying new webhook integrations has become significantly faster, allowing Weekend Health to rapidly introduce new features and integrations.

  • Centralize webhook management: By giving the team a central location for managing webhooks, Hookdeck makes operating and observing integrations simpler, replacing the fragmented tools and manual processes previously in use.

  • Improve visibility of errors: Real-time notifications for webhook errors, along with detailed error data and automatic retries, have enabled the team to quickly identify and resolve issues, significantly reducing downtime.

Calvin summarizes Hookdeck's impact:

Hookdeck gives us a Stripe-level developer experience for all of the webhooks we use.






Try Hookdeck for free or share your third-party webhook integration requirements and book a demo

The Hookdeck Event Gateway