Klaviyo
Communication Private API keyManage profiles, lists, segments, campaigns and catalogs in Klaviyo from any Windmill script, flow or app.
Set up in 3 steps
Create a private API key
In Klaviyo, open Settings then API keys, and create a private key. Grant it only the scopes your scripts need and copy it — it starts with pk_.
Add the resource in Windmill
Open Resources, add a resource of type klaviyo, and paste the key.
Run your first script
Fork any script below and read before writing anything. There are hundreds here, so search by the verb you need.
Scripts
Building blocks, if none of the projects above fit. Fork one, run it, or call it as a step inside your own flow.
Get Lists
Upload Image From URL
Upload Image From File
Update Webhook
Update Universal Content
Update Tracking Setting
Update Template
Update Tag Group
Update Tag
Update Segment
Update Profile
Update List
Update Items for Catalog Category
Update Image
Update Flow Status
Update Coupon Code
Update Coupon
Update Categories for Catalog Item
Update Catalog Variant
Update Catalog Item
Update Catalog Category
Update Campaign Message
Update Campaign
Tag Segments
Tag Lists
Tag Flows
Tag Campaigns
Send Campaign
Request Profile Deletion
Render Template
Resource type
klaviyo — the shape of the credential every script on this page expects.
| Field | Type | Required | What it is |
|---|---|---|---|
| apiKey | string | Yes | Private API key generated from Klaviyo dashboard |
Questions
Private or public key?
Private. The public key is the site id used by the browser tracking snippet, and it cannot read or write through this API.
A call returns 403 on a working key
Klaviyo scopes private keys per resource at creation and they cannot be widened. Create a new key with the scope the script needs.
Is my key stored on the hub?
Never. It lives only in your own Windmill workspace, encrypted at rest.