Klaviyo

Connect your AI agents to Klaviyo.

Available Tools

create_campaign

Create a new Klaviyo email or SMS campaign. Requires a name, channel (email/sms), and audiences with included list IDs. Use list_lists to find valid list IDs.

get_campaign

Get a Klaviyo campaign by ID. Returns campaign details including name, status, and channel. Use list_campaigns to find valid campaign IDs.

update_campaign

Update a Klaviyo campaign’s name or audiences. Only provided fields are updated. Use get_campaign to verify current state first.

delete_campaign

Delete a Klaviyo campaign. Only draft campaigns can be deleted. Use list_campaigns to find valid campaign IDs.

list_campaigns

List Klaviyo campaigns, optionally filtered by channel (email or sms). Returns campaign IDs, names, statuses, and channels.

send_campaign

Send a Klaviyo campaign immediately. The campaign must be in a sendable state (not draft). Use get_campaign to check status first.

create_event

Create a new Klaviyo event (e.g. Placed Order, Viewed Product) for a profile. Events are used to track actions and trigger flows. Use list_profiles to find profile IDs.

get_event

Get a Klaviyo event by ID. Returns event details including metric, profile, properties, and timestamp.

list_events

List Klaviyo events with optional filters by metric ID or profile ID, and pagination. Use list_metrics to find metric IDs. Use cursor from page_info for next page.

get_flow

Get a Klaviyo flow by ID. Returns flow details including name and status (live, draft, manual). Use list_flows to find valid flow IDs.

list_flows

List all Klaviyo flows. Flows are automated sequences triggered by events or conditions. Returns flow IDs, names, and statuses.

update_flow_status

Update a Klaviyo flow’s status to live, draft, or manual. Use get_flow to check current status first.

get_flow_actions

Get all actions in a Klaviyo flow. Returns action IDs, types, and statuses for a given flow. Use list_flows to find valid flow IDs.

create_list

Create a new Klaviyo list. Lists are used to organize profiles for targeting in campaigns and flows.

get_list

Get a Klaviyo list by ID. Returns list details including name and timestamps.

update_list

Update a Klaviyo list name. Use get_list or list_lists to find valid list IDs.

delete_list

Delete a Klaviyo list. This does not delete the profiles in the list. Use list_lists to find valid list IDs.

list_lists

List all Klaviyo lists. Returns list IDs and names for targeting in campaigns.

get_list_profiles

Get profiles in a Klaviyo list with pagination. Returns up to 100 profiles per page. Use cursor from page_info for next page.

add_profiles_to_list

Add one or more profiles to a Klaviyo list. Use create_profile to create profiles first, then use their IDs here.

remove_profiles_from_list

Remove one or more profiles from a Klaviyo list. This does not delete the profiles, only removes the list membership.

get_metric

Get a Klaviyo metric by ID. Metrics represent event types like ‘Placed Order’ or ‘Viewed Product’. Use list_metrics to find valid metric IDs.

list_metrics

List all Klaviyo metrics. Metrics represent event types that are tracked (e.g. ‘Placed Order’, ‘Opened Email’). Returns metric IDs and names.

query_metric_aggregates

Query aggregate data for a Klaviyo metric (e.g. count, sum, unique over time). Use list_metrics to find metric IDs. Specify measurements like ‘count’ or ‘sum’ and optional time interval.

create_profile

Create a new Klaviyo profile with email, phone number, name, and custom properties. At least one of email or phone_number is required.

get_profile

Get a Klaviyo profile by ID. Returns profile details including email, phone, name, and custom properties.

update_profile

Update a Klaviyo profile’s email, phone number, name, or custom properties. Only provided fields are updated.

list_profiles

List Klaviyo profiles with pagination. Returns up to 100 profiles per page. Use cursor from page_info for next page.

get_profile_lists

Get all lists a Klaviyo profile belongs to. Returns list IDs and names.

get_profile_segments

Get all segments a Klaviyo profile belongs to. Returns segment IDs and names.

get_segment

Get a Klaviyo segment by ID. Segments are dynamic groups of profiles based on conditions. Use list_segments to find valid segment IDs.

list_segments

List all Klaviyo segments. Segments are dynamic groups of profiles that update automatically based on conditions.

get_segment_profiles

Get profiles in a Klaviyo segment with pagination. Returns up to 100 profiles per page. Use cursor from page_info for next page.

create_tag

Create a new Klaviyo tag within a tag group. Tags are used to organize campaigns, flows, lists, and segments. Use list_tag_groups to find valid tag group IDs.

get_tag

Get a Klaviyo tag by ID. Use list_tags to find valid tag IDs.

update_tag

Update a Klaviyo tag’s name. Use list_tags to find valid tag IDs.

delete_tag

Delete a Klaviyo tag. This cannot be undone. Use list_tags to find valid tag IDs.

list_tags

List all Klaviyo tags. Tags are used to organize and categorize campaigns, flows, lists, and segments.

create_tag_group

Create a new Klaviyo tag group. Tag groups organize related tags. Set exclusive=true if tags in the group should be mutually exclusive.

list_tag_groups

List all Klaviyo tag groups. Tag groups organize related tags together. Returns group IDs, names, and exclusivity settings.

create_template

Create a new Klaviyo email template with a name and optional HTML/text content. Templates can be used in campaigns and flows.

get_template

Get a Klaviyo template by ID. Returns template details including name, HTML, and text content. Use list_templates to find valid template IDs.

update_template

Update a Klaviyo template’s name, HTML, or text content. Only provided fields are updated. Use get_template to check current content.

delete_template

Delete a Klaviyo template. This cannot be undone. Use list_templates to find valid template IDs.

list_templates

List all Klaviyo email templates. Returns template IDs, names, and content for use in campaigns and flows.

render_template

Render a Klaviyo template with context variables. Returns the rendered HTML and text content with variables replaced.

clone_template

Clone a Klaviyo template with a new name. Creates an exact copy of the template. Use list_templates to find valid template IDs.

validate_credential

Validate Klaviyo credentials by fetching account info. Returns {success, message}.