Understand the different webhooks available in Klaviyo

Estimated 4 minute read

|

Updated Oct 21, 2026, 12:00 AM EST

Table of contents

You will learn

Learn about the differences between webhook solutions available in Klaviyo, and when you should use each one.

Before you begin

To use webhooks in Advanced KDP or Code, your account needs access to Advanced KDP. Advanced KDP is separate from Klaviyo’s standard marketing application. See our billing guide to learn how to add this plan.

What are webhooks?

Webhooks allow Klaviyo to pass information or “call” other applications, tools, and servers via HTTP requests. They can send information about an event that has happened (e.g., an order placed, a new customer subscribed, etc.) or notify your external systems that the event has occurred.

Webhooks are made of a few key components:

  • TopicThe event that causes a webhook to fire.
  • Body (or “the payload”) The data that the webhook sends.
  • Headers A place to pass additional information (such as authentication).
  • Destination URL The endpoint that receives the webhook request.

Flow webhooks

You can add webhooks in flows as an action. When a profile reaches a configured webhook action set to Live, Klaviyo sends a POST request to your destination URL with the data you include in the payload. This can include profile details and, in a metric-triggered flow, data from the event that triggered the flow.

You can add flow webhooks to flows triggered by a metric, list, segment, or date property. Message-related events such as Received email, Clicked email, or Marked email as spam cannot be used as flow triggers.

Unsubscribed from Email Marketing can trigger a flow and its webhook action. This event records a loss of email marketing consent and is separate from an email unsubscribe-link click.

Example use cases for flow webhooks

Some example use cases where flow webhooks would be most effective include:

  • Send a message or POST request that triggers based on a subscriber being added to a segment or list.
  • Automate suppressions when a profile enters an unengaged segment.
  • Send a personalized thank you message through a service like WhatsApp or Facebook Messenger when customers purchase.

Webhooks in Advanced KDP

You need access to Advanced KDP to use these webhooks. See our billing guide to learn how to add this plan or get started as a new customer.

Webhooks in Advanced KDP notify external systems in response to events, independently of flow steps. Klaviyo constructs the request body for you. Use these webhooks when you want to send a prebuilt event payload to an external system. That system must have an endpoint that can receive and process the requests.

Advanced KDP webhooks support a wider range of topics than flow webhooks, including message-related events available through the Get Events API. Choose individual metrics as topics when you configure your webhook.

Examples include:

  • Email events (e.g., Received email, Clicked email, Marked email as spam)
  • SMS events (e.g., Sent SMS, Received SMS)
  • Push notification events (e.g., Received push, Bounced push)
  • Events from integrations (i.e., events from first-party integrations created by Klaviyo)
  • API events (e.g., events synced through Klaviyo’s APIs)

This includes message-related events like the older Unsubscribed event (an email unsubscribe-link click), Received email, or Clicked email that cannot be used as flow triggers. Unsubscribed from Email Marketing is a separate event that can trigger a flow.

Additionally, Advanced KDP webhooks allow you to subscribe to multiple triggers at once, unlike flow webhooks, which depend on single-trigger flows.

Destination URLs for Advanced KDP webhooks must be publicly accessible HTTPS endpoints that can receive Klaviyo’s webhook requests.

Example use cases for Advanced KDP webhooks

  • Sync customers’ Unsubscribed from Email Marketing events to external systems.
  • Report Received Email events to help desk software so agents can see email history to better serve customers.
  • Sync all email sends, opens, and clicks into a data warehouse that is not supported by Klaviyo's data warehouse sync.

Code

Code is included in Advanced KDP. Your account needs access to Advanced KDP to use these event-triggered functions. See our billing guide to learn how to add this plan or get started as a new customer.

Code uses webhooks to run custom functions in response to an event trigger. You can write Python or JavaScript directly in Klaviyo’s editor, and Klaviyo manages the code execution, monitoring, and logging.

Use Code when you have the development resources to write custom functions that run in response to events. Klaviyo hosts the functions, so you do not need to host your own endpoint to receive the triggering webhook. To send data to another system, your code must connect to that system’s API or service.

Both Code and Advanced KDP webhooks let you select individual metrics as triggers.

Note that Code does not support the following events as topics:

  • Email opened
  • Email received

Example Code use cases

  • Use Python libraries to read event data and extract values such as a booking city for use in custom logic.
  • Set custom profile properties based on event metadata using Klaviyo’s APIs.
  • Call an AI service to create a custom message for each abandoned cart based on the profile and items in the cart.

Additional resources

Learn about webhooks in flows and how they send information from Klaviyo to your third-party tools and applications. It’s important to note that setting up webhooks can be complex. It’s advised to have development knowledge or development resources to correctly complete this setup. If you are looking for these development directions, learn how to add a webhook action to a flow. - Understand webhooks in Advanced KDP

Learn about webhooks, and how you can use them to send information to your third-party applications in response to events captured in Klaviyo. For more detailed information on how to receive system webhooks, head to our developer resource on working with system webhooks. - Getting started with Code

Learn about Code, and how to create custom functions that are executed directly by Klaviyo.

Was this article helpful?

YesNo

Use this form only for article feedback. Learn how to contact support.

Explore more from Klaviyo

Community

Connect with peers, partners, and Klaviyo experts to find inspiration, share insights, and get answers to all of your questions.

Visit Community

Partners

Hire a Klaviyo-certified expert to help you with a specific task, or for ongoing marketing management.

Hire a partner

Support

Access support through your account.

Email support (free trial and paid accounts) Available 24/7

Chat/virtual assistance Availability varies by location and plan type

Log in