productivity
Klaviyo MCP, CLI, and Lua Integration for AI Agents
Klaviyo integration docs for AI agents: MCP gateway setup, Klaviyo CLI commands, Lua API reference, credentials, and function schemas.
15 functions 10 read 5 write API key auth
Klaviyo for agents
Credentials can be configured manually in web or CLI hosts.
Use this integration from Lua code mode, the headless integrations CLI, or the KosmoKrator MCP gateway. The same package metadata powers all three surfaces.
Machine-Readable Metadata
- integration_slug
klaviyo- route_slug
klaviyo- package
klaviyo- auth_strategy
api_keyAPI key- cli_setup_supported
true- cli_runtime_supported
true- mcp_gateway_supported
true- lua_supported
true- supports_multi_account
true
Quick Links
Lua APIAgent-facing namespace and function reference. Klaviyo CLIHeadless setup and direct function calls. Klaviyo MCPMCP gateway setup for external clients. Submit feedbackReport missing tools, auth problems, wrong docs, or runtime issues. ContributeAdd tools or improve metadata in the integrations repo.
Klaviyo MCP Client Matrix
Use these pages when a specific agent client or framework needs copy-pasteable MCP setup for Klaviyo.
Claude Code Klaviyo MCP setup for Claude Code. Cursor Klaviyo MCP setup for Cursor. Codex Klaviyo MCP setup for Codex. OpenAI Agents Klaviyo MCP setup for OpenAI Agents SDK. Claude Agent SDK Klaviyo MCP setup for Claude Agent SDK. Vercel AI SDK Klaviyo MCP setup for Vercel AI SDK. LangChain Klaviyo MCP setup for LangChain. LangGraph Klaviyo MCP setup for LangGraph. CrewAI Klaviyo MCP setup for CrewAI. MCP clients Klaviyo MCP setup for Generic MCP Clients.
Klaviyo CLI Matrix
Use these pages for direct Klaviyo CLI workflows in scripts, CI, cron, and agent wrappers.
CI Klaviyo CLI for CI. Cron Jobs Klaviyo CLI for cron jobs. Shell Scripts Klaviyo CLI for shell scripts. Headless Automation Klaviyo CLI for headless automation. Coding Agents Klaviyo CLI for coding agents.
Function Catalog
| Function | Type | Parameters | Description |
|---|---|---|---|
klaviyo.klaviyo_create_profile | Write write | 5 | Create a new profile in Klaviyo. Provide at least an email address or phone number. Optionally set first name, last name, and custom properties. Returns the newly created profile with its Klaviyo ID. |
klaviyo.klaviyo_get_profile | Read read | 1 | Retrieve a single Klaviyo profile by its ID. Returns the full profile including email, phone number, name, and custom properties. |
klaviyo.klaviyo_update_profile | Write write | 6 | Update an existing Klaviyo profile by ID. Provide only the fields you want to change — omitted fields are left untouched. Supports updating email, phone number, first name, last name, and custom properties. |
klaviyo.klaviyo_list_profiles | Read read | 2 | List profiles in Klaviyo with cursor-based pagination. Returns each profile's ID, email, phone number, name, and custom properties. Use the page_cursor from a previous response to fetch the next page of results. |
klaviyo.klaviyo_subscribe_profile | Write write | 4 | Subscribe a profile to a Klaviyo list using their email address. Requires a valid list ID and the subscriber's email. Optionally provide a phone number and an ISO 8601 consented_at timestamp. |
klaviyo.klaviyo_create_event | Write write | 5 | Track a new event for an existing Klaviyo profile. Provide the profile ID, event name, and optional properties, numeric value, and timestamp. Events are used to trigger flows and segment profiles based on behaviour. |
klaviyo.klaviyo_get_event | Read read | 1 | Retrieve a single Klaviyo event by its ID. Returns the event with its metric name, properties, value, timestamp, and associated profile. |
klaviyo.klaviyo_list_events | Read read | 3 | List events in Klaviyo with optional filtering and cursor-based pagination. Supports Klaviyo filter expressions (e.g. "greater-than(timestamp,2024-01-01)") to narrow results. Use page_cursor to paginate through large result sets. |
klaviyo.klaviyo_list_lists | Read read | 2 | List all lists in the connected Klaviyo account. Returns each list's ID, name, and other metadata. Use cursor-based pagination to iterate through large numbers of lists. |
klaviyo.klaviyo_create_list | Write write | 1 | Create a new list in Klaviyo. Provide a name for the list. Returns the newly created list with its ID. |
klaviyo.klaviyo_get_list | Read read | 1 | Retrieve a single Klaviyo list by its ID. Returns the list's name, member count, and other metadata. |
klaviyo.klaviyo_list_list_profiles | Read read | 3 | List profiles that belong to a specific Klaviyo list. Returns each profile's ID, email, phone number, name, and custom properties. Use cursor-based pagination to iterate through large lists. |
klaviyo.klaviyo_list_flows | Read read | 2 | List all flows in the connected Klaviyo account. Returns each flow's ID, name, status, and other metadata. Use cursor-based pagination to iterate through large numbers of flows. |
klaviyo.klaviyo_get_flow | Read read | 1 | Retrieve a single Klaviyo flow by its ID. Returns the flow's name, status, trigger type, and other metadata. |
klaviyo.klaviyo_list_campaigns | Read read | 2 | List all campaigns in the connected Klaviyo account. Returns each campaign's ID, name, status, and other metadata. Use cursor-based pagination to iterate through large numbers of campaigns. |