Zapier has a Klaviyo app with New Event and New Profile triggers and actions such as Create Event and Create List. To send SMS or email consent to Klaviyo, Klaviyo documents a different route: a Webhooks by Zapier catch hook that runs a Python code action against the Subscribe Profiles endpoint. Klaviyo says that route isn't fully supported.
Two routes, and they do different jobs
Klaviyo and Zapier meet in two places. One is Klaviyo activity kicking off work in other apps; the other is contacts from another tool landing in Klaviyo with consent attached. The first is a normal Zapier app job. The second is where it gets technical, because ticking a box in a form doesn't make someone subscribed in Klaviyo on its own.
| You want to | Route | Who can set it up |
|---|---|---|
| Start a Zap when a Klaviyo event or profile appears | Zapier's Klaviyo app triggers | Anyone comfortable with Zapier |
| Create events or lists, or tag lists, in Klaviyo | Zapier's Klaviyo app actions | Anyone comfortable with Zapier |
| Send SMS or email consent into Klaviyo | Webhook plus Python code action | A developer |
What the Klaviyo app on Zapier offers
Zapier's Klaviyo page lists two triggers. New Event fires when an event appears, optionally filtered by metric. New Profile fires when a profile appears, optionally filtered by subscribed channel. Actions include Add Tag to List, Create List, Create Event and Remove Tag From List.
Klaviyo triggers on Zapier are polling: they check for new data every 15 minutes on the Free plan (as of Nov 2026). So a Zap that reacts to a new Klaviyo profile won't fire the second someone signs up. For most reporting and tagging jobs that's fine; for anything time-sensitive, plan around the delay.
A typical use: when a New Event fires for a placed order, add the customer to a list in another tool or post a note to your team. Create Event works the other way, letting another app record activity in Klaviyo so you can build flows from it.
The consent route, step by step
- In Zapier, create a new Zap with a Webhooks by Zapier catch hook trigger, and copy the webhook URL.
- Send test data to that URL with a POST request, including name, email, phone_number and sms_consent.
- Add a code action that runs a Python script using a Klaviyo private API key with the lists:write, profiles:write and subscriptions:write permissions.
- Map the fields, test the Klaviyo action and confirm any SMS opt-in message.
- Publish the Zap.
The Python code maps your fields to the data types the Subscribe Profiles and Unsubscribe Profiles endpoints require. You'll need a Zapier plan that includes Webhooks by Zapier, and phone numbers must be in E.164 format. Klaviyo's example sends the test POST from a tool such as Postman.
Before you test with real numbers
- SMS must be set up in Klaviyo with a sending number for the test recipient's country.
- Testing changes consent in your Klaviyo account, so use a real number you control.
- If your account uses SMS age-gating, the subscribe request must include age_gated_date_of_birth.
- Including an email address in the request doesn't subscribe the profile to email marketing. Klaviyo says the guide can be adapted to send email consent.
A green tick isn't a subscriber
Klaviyo's own guide makes two points every marketer should read. First, it says this integration isn't fully supported by Klaviyo, and it recommends it only if you have developers on your team who can support it. Second, a success response from the test POST only proves Zapier received the request. It doesn't mean the profile subscribed in Klaviyo. The profile subscribes only once consent completes, which for SMS can mean the person replying to an opt-in message.
So after your first live submission, open the profile in Klaviyo and check its consent status. If you skip that, you can run a form for weeks thinking you're building an SMS list while nobody's been subscribed.
Make and the Klaviyo API
Make's Klaviyo app documentation lists modules including Watch Events, Create an Event, and campaign and metric actions. For a direct build, Klaviyo's private key authentication uses the header Authorization: Klaviyo-API-Key followed by your private key for its API endpoints.
If you're choosing between email platforms, my Klaviyo review and my comparison of Klaviyo and Mailchimp cover what each does best.
Want AI doing the heavy lifting in your marketing?
I build the systems that handle the boring 80 percent, so you get your week back. Done properly, with the human kept in.
My take for ecommerce teams
Use the Zapier Klaviyo app for events, lists and tags, and accept the polling delay. Only use the webhook route for consent if a developer will own it, and check a real profile's consent status after the first test. Never treat a successful Zapier test as proof someone's on your list.
Want your tool on this list? Featured spots and reviews here are paid partnerships. Here's how to partner with me.
Related: writing for us on python.
Frequently asked questions
Does Zapier have a Klaviyo app?
Yes. It lists New Event and New Profile triggers and actions such as Create Event and Create List.
How do I send SMS consent from a form to Klaviyo?
Klaviyo documents a Zapier webhook plus a Python code action using the Subscribe Profiles endpoint.
Is that route supported?
Klaviyo says it isn't fully supported and recommends it only with developers.
Which API permissions are needed?
lists:write, profiles:write and subscriptions:write.
How often do Klaviyo triggers run?
They poll, every 15 minutes on Zapier's Free plan (as of Nov 2026).