Use Klaviyo with AI Agents

A marketing platform for email, SMS, and more.
🔗 Connect and Use Klaviyo
1. 🔑 Connect your Klaviyo account
2. ✅ Select an action
3. 🚀 Go live with the agent
What do you want to do?
Actions
Accounts
- Get accounts
Campaigns
Catalogs
Coupons
Data Privacy
Events
Flows
Forms
Images
Lists
Metrics
Profiles
Reporting
Segments
Tags
Templates
Webhooks
Client

API actions for Klaviyo for AI assitants/agents

Language
JS
PYTHON

Tags

Get Tag Relationships Lists

Returns the IDs of all lists associated with the given tag.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `lists:read` `tags:read`
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_GET_TAG_RELATIONSHIPS_LISTS])

Create Tag Relationships Lists

Summary: A tag can be added to one or more lists, with a max of 100 tags per list. Use the request body to link tag and list IDs. Tag: #APIUsageLimits Scopes: lists:write, tags:write
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_CREATE_TAG_RELATIONSHIPS_LISTS])

Delete Tag Relationships Lists

Remove a tag's association with one or more lists. Use the request body to pass in the ID(s) of the list(s) whose association with the tag will be removed.<br><br>*Rate limits*:<br>Burst: `3/
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_DELETE_TAG_RELATIONSHIPS_LISTS])

Get Tag Relationships Segments

Returns the IDs of all segments associated with the given tag.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `segments:read` `tags:read`
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_GET_TAG_RELATIONSHIPS_SEGMENTS])

Create Tag Relationships Segments

Summary: Set tag associations with segments using the request body, limited to one tag per segment and up to 100 tags per segment. Rate limits are three requests per second and sixty per minut
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_CREATE_TAG_RELATIONSHIPS_SEGMENTS])

Delete Tag Relationships Segments

Use the request body to de-associate a tag from specified segment IDs. Rate limits are 3 requests/sec and 60 requests/min. Required scopes are 'segments:write' and 'tags:write'.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_DELETE_TAG_RELATIONSHIPS_SEGMENTS])

Get Tag Relationships Tag Group

Returns the id of the tag group related to the given tag.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `tags:read`
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_GET_TAG_RELATIONSHIPS_TAG_GROUP])

Get Tag Group Relationships Tags

Returns the tag IDs of all tags inside the given tag group.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `tags:read`
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_GET_TAG_GROUP_RELATIONSHIPS_TAGS])

Get Tag Tag Group

Returns the tag group resource for a given tag ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `tags:read`
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_GET_TAG_TAG_GROUP])

Get Tag Group Tags

Return the tags for a given tag group ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `tags:read`
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_GET_TAG_GROUP_TAGS])

Templates

Get Templates

Retrieve account templates with sorting options (`id`, `name`, `created`, `updated`). Limit of 10 results per page, rate limits at 10/s burst and 150/m steady. Requires `templates:read` scope.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_GET_TEMPLATES])

Create Template

Summary: Custom HTML templates can be created unless an account reaches 1,000 template limit. Use sparse fieldsets to request specific fields. Rate limits are 10 per second and 150 per minute.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_CREATE_TEMPLATE])

Get Template

Get a template with the given template ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `templates:read`
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_GET_TEMPLATE])

Update Template

Update a template with the given template ID. Does not currently update drag & drop templates.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `templates:write`
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_UPDATE_TEMPLATE])

Delete Template

Delete a template with the given template ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `templates:write`
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_DELETE_TEMPLATE])

Create Template Render

Render an email template with specific context and sparse fieldsets, then get HTML/plain text. Rate limit: 3/s burst, 60/m steady. Scope: templates:read.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_CREATE_TEMPLATE_RENDER])

Create Template Clone

Clone a template by its ID, but cloning fails if account has 1,000+ templates. API limit: 1,000 templates. Rate limits are 10 per second and 150 per minute. Requires `templates:write` scope.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_CREATE_TEMPLATE_CLONE])

Webhooks

Get Webhooks

Get all webhooks in an account.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m` **Scopes:** `webhooks:read`
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_GET_WEBHOOKS])

Create Webhook

Create a new Webhook<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m` **Scopes:** `webhooks:write`
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_CREATE_WEBHOOK])

Get Webhook

Get the webhook with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m` **Scopes:** `webhooks:read`
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_GET_WEBHOOK])

Update Webhook

Update the webhook with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m` **Scopes:** `webhooks:write`
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_UPDATE_WEBHOOK])

Delete Webhook

Delete a webhook with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m` **Scopes:** `webhooks:write`
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_DELETE_WEBHOOK])

Get Webhook Topics

Get all webhook topics in a Klaviyo account.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m` **Scopes:** `webhooks:read`
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_GET_WEBHOOK_TOPICS])

Get Webhook Topic

Get the webhook topic with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m` **Scopes:** `webhooks:read`
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_GET_WEBHOOK_TOPIC])

Client

Create Client Subscription

Endpoint manages email/SMS opt-ins using consent and requires public API key for client use. Allows single-channel with details. Rate limit: 100/s burst, 700/m steady, under 'subscriptions:wri
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_CREATE_CLIENT_SUBSCRIPTION])

Create Or Update Client Push Token

This endpoint for mobile SDKs (iOS & Android) creates/updates push tokens using a public API key. Push notifications must be enabled. For migrating tokens use the server-side POST endpoint. Ra
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_CREATE_OR_UPDATE_CLIENT_PUSH_TOKEN])

Unregister Client Push Token

This endpoint unsubscribes a push token, for use with Klaviyo's mobile SDKs and a public API key. Push notifications must be on. Rate limits are 3/s and 60/m.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_UNREGISTER_CLIENT_PUSH_TOKEN])

Create Client Event

Create client-side events to track profiles using a public API key, not for updating identifiers (server-side only). Rate limits: 350/s, 3500/m. Use `events:write` scope.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_CREATE_CLIENT_EVENT])

Create Or Update Client Profile

Update user profiles without tracking using a public client-side API; use a private server-side API for identifier changes. Burst rate is 350 requests/sec and 3500 requests/min with 'profiles:
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_CREATE_OR_UPDATE_CLIENT_PROFILE])

Bulk Create Client Events

Use the client-side endpoint with a public API key to track profile activity. It accepts up to 1000 events/request with rates of 10/s burst and 150/m steady. For server-side, use the bulk crea
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_BULK_CREATE_CLIENT_EVENTS])

Create Client Back In Stock Subscription

Use the endpoint for client-side back in stock notifications with a public API key. For server-side, use POST /api/back-in-stock-subscriptions. Limits are 350 requests per second and 3500 per
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.KLAVIYO_CREATE_CLIENT_BACK_IN_STOCK_SUBSCRIPTION])

Frequently asked questions

What is Composio.dev?

Composio.dev is a platform for building AI applications, designed to make the process of developing AI solutions super easy and fun! It provides a comprehensive set of tools and libraries that simplify the process of developing AI solutions, allowing you to focus on the creative aspects of your project without getting bogged down by the technical details.

How does Composio.dev support Klaviyo?

Composio.dev seamlessly integrates with Klaviyo, allowing you to leverage its capabilities within the Composio.dev platform. You can utilize Klaviyo to call functions across various platforms, including Google, GitHub, and others, making it a breeze to incorporate different services into your AI applications. Additionally, it supports user authentication via OAuth2 and can work in conjunction with other popular frameworks like LangChain and CrewAI, giving you the flexibility to build truly innovative AI solutions.

What models can I use with Klaviyo?

With Klaviyo, you have access to a wide range of state-of-the-art language models, including GPT-4o (OpenAI), GPT-3.5 (OpenAI), GPT-4 (OpenAI), Claude (Anthropic), PaLM (Google), LLaMA and LLaMA 2 (Meta), Gemini, and many others. This flexibility allows you to choose the model that best suits your specific use case, whether you're building a chatbot, a content creation tool, or any other AI-powered application. You can experiment with different models and find the one that delivers the best performance for your project.

How can I integrate Klaviyo into my project?

Composio.dev provides a seamless integration for Klaviyo, making it super easy to incorporate this powerful framework into your projects. You can leverage the Composio.dev API to call functions from Klaviyo, allowing you to tap into its capabilities with just a few lines of code. The SDK is available in Python, JavaScript, and TypeScript, so you can work with your preferred programming language and integrate Klaviyo into your projects seamlessly.

What is the pricing for Klaviyo?

Klaviyo is completely free to use, with a generous free tier that allows up to 1000 requests per month. This makes it accessible for developers and organizations of all sizes to explore and experiment with this powerful tool without any upfront costs. Whether you're a student working on a personal project or a startup building the next big thing, you can get started with Klaviyo without worrying about breaking the bank.

What kind of authentication is supported for Klaviyo?

Klaviyo supports OAuth2 authentication, ensuring secure and authorized access to its functionalities. You can leverage the Composio.dev API to handle authentication and call functions from Klaviyo seamlessly. The SDK is available in Python, JavaScript, and TypeScript for your convenience, making it easy to integrate authentication into your projects and keep your users' data safe and secure.

Can I add Klaviyo to my project?

Absolutely! You can easily incorporate Klaviyo into your project by utilizing the Composio.dev API. This API allows you to call functions from Klaviyo, enabling you to leverage its capabilities within your application. The SDK is available in Python, JavaScript, and TypeScript to facilitate integration, so you can work with the language you're most comfortable with and add Klaviyo to your project with ease.

What is the accuracy of Klaviyo?

Klaviyo is designed to provide highly accurate and reliable results, ensuring that your AI applications perform at their best. The integration with Composio.dev ensures precise function calls, enabling you to build robust and powerful AI applications with confidence. Klaviyo's comprehensive framework and the ability to leverage state-of-the-art models ensure reliable and accurate outcomes for your AI development needs, whether you're working on a chatbot, a content creation tool, or any other AI-powered project.

What are some common use cases for Klaviyo?

Klaviyo can be used for a wide range of AI applications, making it a versatile tool for developers and creators alike. Some common use cases include natural language processing, text generation, question answering, sentiment analysis, and more. It's particularly useful for building chatbots, virtual assistants, content creation tools, and other AI-powered applications that can help you automate tasks, engage with users, and create compelling content. Whether you're working on a personal project or building a product for your startup, Klaviyo can help you bring your ideas to life.

How does Klaviyo handle data privacy and security?

Data privacy and security are crucial considerations when working with AI systems, and Klaviyo takes these issues seriously. It follows industry best practices and adheres to strict data protection regulations, ensuring that your data is kept safe and secure. Klaviyo provides robust security measures, such as encryption and access controls, to ensure the confidentiality and integrity of your data. You can rest assured that your sensitive information is protected when using Klaviyo for your AI development needs.
+ Integrate seamlessly with your agentic frameworks
Composio Works with All Shapes and SizesComposio Works with All Shapes and SizesComposio Works with All Shapes and SizesComposio Works with All Shapes and SizesComposio Works with All Shapes and Sizes
Building for AI across continents🧪