MCP App Store
by KeenEthics

Overview

Skip manual analysis with marketing campaign and flow performance, explanations, and recommendations directly in ChatGPT. Reporting includes send status, click rates, and attributed revenue, alongside plain language context. Just click "Analyze" to dive into trends and suggestions. With the Klaviyo app, you'll stay informed on performance, ahead of opportunities, and ready to take action directly from a conversation.

Tools

add_categories_to_catalog_item

ChatGPT
Create a new catalog category relationship for the given item ID.

add_items_to_catalog_category

ChatGPT
Create a new item relationship for the given category ID.

add_profiles_to_list

ChatGPT
Add a profile to a list with the given list ID. It is recommended that you use the Subscribe Profiles endpoint if you're trying to give a profile consent to receive email marketing, SMS marketing, or both. This endpoint accepts a maximum of 1000 profiles per call.

ask_analytics_question

ChatGPT
Answers a natural-language question about the data in this Klaviyo account, using an LLM over the account's profiles, events, and metrics. Read-only. IMPORTANT: Results are scoped to the API key's resource scopes. Data the key cannot read is absent rather than flagged, so a low number may reflect limited scope rather than low volume. Clearly caveat this to the user. Only use this tool when: The question is open-ended or spans multiple resources You don't know which structured tool would answer it The structured tools don't support the breakdown you need For known metrics or resources, prefer the structured tools: get_campaign_report and get_flow_report for campaign and flow performance, query_metric_aggregates for event-time aggregations, get_profiles and get_segments for records. Those are faster and return exact, typed results. This tool only sees account data, so do not use it for questions about how Klaviyo works as a product. Returns one of three things, and callers must handle all three: An answer with supporting rows. A clarifying question, when the request is ambiguous. Relay it to the user or resolve it and call again. An error. The response also carries the SQL that produced the result set, so you can explain how a number was derived. It is K-SQL, Klaviyo's internal dialect built on MySQL syntax, and may contain dialect-specific constructs (e.g. automatically added joins) that are expected, not a sign the query is wrong. It is read-only and not a stable interface: do not parse it, store it, or build on its syntax. Can take up to 90 seconds. Do not call in a loop or for quick lookups.

assign_template_to_campaign_message

ChatGPT
Assigns an email template to a campaign message. This should be used after creating a template with the create_email_template tool and creating an email campaign.

bulk_create_catalog_items

ChatGPT
Create a catalog item bulk create job to create a batch of catalog items. Accepts up to 100 catalog items per request. The maximum allowed payload size is 5MB. The maximum number of jobs in progress at one time is 500.

bulk_create_catalog_variants

ChatGPT
Create a catalog variant bulk create job to create a batch of catalog variants. Accepts up to 100 catalog variants per request. The maximum allowed payload size is 5MB. The maximum number of jobs in progress at one time is 500.

bulk_create_coupon_codes

ChatGPT
Create a coupon-code-bulk-create-job to bulk create a list of coupon codes. Max number of coupon codes per job we allow for is 1000. Max number of jobs queued at once we allow for is 100.

bulk_create_data_source_records

ChatGPT
Create a bulk data source record import job to create a batch of records. Accepts up to 500 records per request. The maximum allowed payload size is 4MB. The maximum allowed payload size per-record is 512KB. To learn more, see our Custom Objects API overview.

bulk_create_events

ChatGPT
Create a batch of events for one or more profiles. Note that this endpoint allows you to create new profiles or update existing profile properties. At a minimum, profile and metric objects should include at least one profile identifier (e.g., id, email, or phone_number) and the metric name, respectively. Accepts up to 1,000 events per request. The maximum allowed payload size is 5MB. A single string cannot exceed 100KB.

bulk_delete_catalog_items

ChatGPT
Create a catalog item bulk delete job to delete a batch of catalog items. Accepts up to 100 catalog items per request. The maximum allowed payload size is 5MB. The maximum number of jobs in progress at one time is 500.

bulk_delete_catalog_variants

ChatGPT
Create a catalog variant bulk delete job to delete a batch of catalog variants. Accepts up to 100 catalog variants per request. The maximum allowed payload size is 5MB. The maximum number of jobs in progress at one time is 500.

bulk_delete_object_records

ChatGPT
Delete a batch of object records. Accepts up to 500 object record IDs per request. The maximum allowed payload size is 5MB.

bulk_import_profiles

ChatGPT
Create a bulk profile import job to create or update a batch of profiles. Accepts up to 10,000 profiles per request. The maximum allowed payload size is 5MB. The maximum allowed payload size per-profile is 100KB. To learn more, see our Bulk Profile Import API guide.

bulk_suppress_profiles

ChatGPT
Manually suppress profiles by email address or specify a segment/list ID to suppress all current members of a segment/list. Suppressed profiles cannot receive email marketing, independent of their consent status. To learn more, see our guides on email suppressions and collecting consent. Email address per request limit: 100 This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.

bulk_unsuppress_profiles

ChatGPT
Manually unsuppress profiles by email address or specify a segment/list ID to unsuppress all current members of a segment/list. This only removes suppressions with reason USER_SUPPRESSED ; unsubscribed profiles and suppressed profiles with reason INVALID_EMAIL or HARD_BOUNCE remain unchanged. To learn more, see our guides on email suppressions and collecting consent. Email address per request limit: 100 This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.

bulk_update_catalog_items

ChatGPT
Create a catalog item bulk update job to update a batch of catalog items. Accepts up to 100 catalog items per request. The maximum allowed payload size is 5MB. The maximum number of jobs in progress at one time is 500.

bulk_update_catalog_variants

ChatGPT
Create a catalog variant bulk update job to update a batch of catalog variants. Accepts up to 100 catalog variants per request. The maximum allowed payload size is 5MB. The maximum number of jobs in progress at one time is 500.

cancel_campaign_send

ChatGPT
Cancel or revert the send of a currently sending or scheduled campaign. action='cancel' permanently cancels the campaign, setting its status to CANCELED; action='revert' stops the send job and returns the campaign to DRAFT. This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.

clone_email_template

ChatGPT
Create a clone of an existing email template. Returns the new template with a copy of the source template's content (HTML, text, AMP, and DND definition). Cloning counts toward the 1,000-templates-per-account limit. Optionally pass a name to override the cloned template's name.

create_agent_knowledge

ChatGPT
Adds an Agent Knowledge item from either a text snippet (`source.source_type: snippet, requires title and content) or a single URL (source.source_type: webpage, requires url). The URL is normalized before the uniqueness check; duplicate normalized URLs return 409 Conflict. The resource is fetchable immediately; clients can poll its status until indexing completes. For files, use POST /agent-knowledge-files`.

create_agent_skill

ChatGPT
Adds a skill to Customer Agent. Customer Agent will invoke this skill when the customer message matches its `description. Provide display_name, description (summary of the skill's capabilities and when it should be used), instructions (the system prompt the skill uses to handle a turn), optional handoff (escalation behavior), optional references for named tools used as {{tool ref=<name>}} in instructions, optional agent- tools relationship data, and status. Set status: draft to stage without going live, live to activate immediately. Customer Agent generates the skill name and returns a prefixed custom id plus the generated name` attribute.

create_agent_tool

ChatGPT
Adds a new external HTTP tool Customer Agent skills can call. Provide protocol details (method, URL, query parameter, header, and body templates using Jinja-style `{{variable_name}} syntax) and declare the variables those templates reference. The runtime uses variables to determine which values are supplied at call time. To reference a secret, include a variable with source: secret and value set to the agent- secret id. The tool isn't directly callable until bound to a skill with PATCH /agent-skills/{id}`.

create_back_in_stock_subscription

ChatGPT
Subscribe a profile to receive back in stock notifications. Check out our Back in Stock API guide for more details. This endpoint is specifically designed to be called from server-side applications. To create subscriptions from client-side contexts, use POST /client/back-in-stock-subscriptions.

create_brand_button

ChatGPT
Create a new brand button.

create_brand_color

ChatGPT
Create a new brand color group.

create_brand_social_group

ChatGPT
Create a new brand social group.

create_campaign

ChatGPT
Creates a new draft campaign. For email campaigns, this can be used with the create_email_template tool for template creation and then assign_template_to_campaign_message to assign the template to the email campaign. You can view and edit a campaign in the Klaviyo UI at https://www.klaviyo.com/campaign/{CAMPAIGN_ID}/wizard

create_campaign_clone

ChatGPT
Clones an existing campaign, returning a new campaign based on the original with a new ID and name.

create_catalog_category

ChatGPT
Create a new catalog category.

create_catalog_item

ChatGPT
Create a new catalog item.

create_catalog_variant

ChatGPT
Create a new variant for a related catalog item.

create_coupon

ChatGPT
Creates a new coupon.

create_coupon_code

ChatGPT
Synchronously creates a coupon code for the given coupon.

create_custom_metric

ChatGPT
Create a new custom metric. Custom metric objects must include a name and definition.

create_customer_agent_response

ChatGPT
Sends one user message into Customer Agent and returns every public event Customer Agent emits in response. Each call is one turn: the caller supplies the conversation history with the new user message as the last entry, and Customer Agent runs one routing and response cycle against it. The response is non-streaming; the caller receives the entire event list at once and renders it in order. Continue an existing conversation by passing the optional `conversation` relationship; omit it to start a new one. A closed conversation cannot be continued this way. This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.

create_data_source

ChatGPT
Create a new data source in an account

create_data_source_record

ChatGPT
Create a data source record import job to create a single record. The maximum allowed payload size per-record is 512KB. To learn more, see our Custom Objects API overview.

create_dnd_email_template

ChatGPT
Create a new drag-and-drop (DND, `editor_type='SYSTEM_DRAGGABLE') email template with a structured definition`. Unlike HTML templates created with create_email_template, DND templates use a structured definition describing sections, rows, columns, and blocks (text, image, button, etc.) — there is no raw HTML body. The definition fully describes the template layout and content. You can view and edit the template in the Klaviyo UI at https://www.klaviyo.com/email-template-editor/{TEMPLATE_ID}.

create_email_template

ChatGPT
Create a new HTML email template (CODE or USER_DRAGGABLE editor type). For drag-and-drop (SYSTEM_DRAGGABLE) templates, use create_dnd_email_template instead. Returns the ID of the template. You can view and edit a template in the Klaviyo UI at https://www.klaviyo.com/email-editor/{TEMPLATE_ID}/edit. The HTML should include <html> and <body> tags. To include an image, first upload the image using the upload_image_from_url tool, then use the returned image URL. Always include an unsubscribe link by inserting the template string "{% unsubscribe 'Unsubscribe' %}" (the label is customisable). Editor types: - CODE: plain HTML-only templates with no editable surfaces. - USER_DRAGGABLE: hybrid templates that are mostly hand-written HTML with explicit editable regions. Use this when the user asks for an editable/hybrid template. For USER_DRAGGABLE, mark editable regions in the HTML: <td align="center" data-klaviyo-region="true" data-klaviyo-region-width-pixels="600"></td> Inside a region you can drop editable blocks: <div class="klaviyo-block klaviyo-text-block">Hello world!</div> <div class="klaviyo-block klaviyo-image-block"></div> <div data-klaviyo-universal-block="block_id">&nbsp;</div>

create_event

ChatGPT
Create a new event to track a profile's activity. Note that this endpoint allows you to create a new profile or update an existing profile's properties. At a minimum, profile and metric objects should include at least one profile identifier (e.g., id, email, or phone_number) and the metric name, respectively. Successful response indicates that the event was validated and submitted for processing, but does not guarantee that processing is complete.

create_flow

ChatGPT
Create a new flow using an encoded flow definition. New objects within the flow definition, such as actions, will need to use a temporary_id field for identification. These will be replaced with traditional id fields after successful creation. A successful request will return the new definition to you.

create_form

ChatGPT
Create a new form.

create_list

ChatGPT
Create a new list.

create_object_schema

ChatGPT
Create an object schema.

create_object_schema_relationship

ChatGPT
Create a relationship between object schemas. Note that flow filtering and segmentation are currently not supported for object-to-object relationships.

create_object_type

ChatGPT
Create an object type.

create_or_update_profile

ChatGPT
Given a set of profile attributes and optionally an ID, create or update a profile. Returns 201 if a new profile was created, 200 if an existing profile was updated. Use the additional-fields parameter to include subscriptions and predictive analytics data in your response. Note that setting a field to null will clear out the field, whereas not including a field in your request will leave it unchanged. The maximum allowed payload size is 100KB.

create_profile

ChatGPT
Create a new profile. Must include either email, phone_number, or external_id. You can view and edit a profile in the Klaviyo UI at https://www.klaviyo.com/profile/{PROFILE_ID}

create_profile_schema_relationship

ChatGPT
Create a relationship between an object schema and a profile

create_push_token

ChatGPT
Create or update a push token. This endpoint can be used to migrate push tokens from another platform to Klaviyo. Please use our mobile SDKs (iOS and Android) to create push tokens from users' devices. The maximum allowed payload size is 100KB.

create_segment

ChatGPT
Create a segment.

create_sending_domain

ChatGPT
Register a new sending domain and return the DNS records to configure.

create_sending_domain_activation_job

ChatGPT
Activate the referenced sending domain (requires prior verify to pass).

create_sending_domain_verification_job

ChatGPT
Run a DNS verification check for the referenced sending domain.

create_tag

ChatGPT
Create a tag. An account cannot have more than 500 unique tags. A tag belongs to a single tag group. If relationships.tag-group.data.id is not specified, the tag is added to the account's default tag group.

create_tag_group

ChatGPT
Create a tag group. An account cannot have more than 50 unique tag groups. If exclusive is not specified true or false, the tag group defaults to non-exclusive. If a tag group is non-exclusive, any given related resource (campaign, flow, etc.) can be linked to multiple tags from that tag group. If a tag group is exclusive, any given related resource can only be linked to one tag from that tag group.

create_template_preview_send_job

ChatGPT
Send a test email of a template to one or more recipients. This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.

create_text_messaging_configuration

ChatGPT
Create the SMS account for the calling company.

create_text_messaging_sender

ChatGPT
Create a sender and submit its initial registration. A toll-free number is provisioned in all supported regions (US + CA), so the response is the sender for the requested country and the sibling-region sender also appears in list/retrieve.

create_text_messaging_sender_registration

ChatGPT
Submit a new registration for an existing sender (resubmission).

create_translation

ChatGPT
BETA. Create a new translation collection for a Klaviyo resource. Exactly one relationship must be provided in the body. Valid channel + relationship combinations: email → campaign-variation, flow-message, template, template-universal-content; sms → campaign-variation, flow-message; mobile_push → campaign-variation, flow-message; whatsapp → template only.

create_universal_content

ChatGPT
Create universal content. Currently supported block types are: button, drop_shadow, horizontal_rule, html, image, spacer, and text.

delete_agent_knowledge

ChatGPT
Permanently removes the Agent Knowledge item and its indexed content. The agent will stop retrieving from it on the next turn. Conversations that previously cited this item remain unchanged.

delete_agent_secret

ChatGPT
Permanently removes the secret. Tools that reference this secret by alias will fail to authenticate on their next call until the alias is rebound to a different secret. This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.

delete_agent_skill

ChatGPT
Permanently removes the skill from Customer Agent. Past conversations routed to this skill are unchanged; future conversations cannot route to it. To disable without deletion, use `PATCH /agent-skills/{id} with status: draft`.

delete_agent_tool

ChatGPT
Permanently removes the tool. Skills that referenced it lose the binding; Customer Agent will not be able to use that tool with those skills until it is rebound.

delete_brand_button

ChatGPT
Delete the brand button with the given ID.

delete_brand_color

ChatGPT
Delete the brand color group with the given ID.

delete_brand_social_group

ChatGPT
Delete the brand social group with the given ID.

delete_campaign

ChatGPT
Delete a campaign with the given campaign ID.

delete_catalog_category

ChatGPT
Delete a catalog category using the given category ID.

delete_catalog_item

ChatGPT
Delete a catalog item with the given item ID.

delete_catalog_variant

ChatGPT
Delete a catalog item variant with the given variant ID.

delete_coupon

ChatGPT
Delete the coupon with the given coupon ID.

delete_coupon_code

ChatGPT
Deletes a coupon code specified by the given identifier synchronously. If a profile has been assigned to the coupon code, an exception will be raised

delete_custom_metric

ChatGPT
Delete a custom metric with the given custom metric ID.

delete_data_source

ChatGPT
Delete a data source in an account.

delete_email_template

ChatGPT
Delete an email template by ID. Will fail with a 409 Conflict if the template is currently attached to a campaign or flow message — detach the message or delete the campaign/flow first. This action cannot be undone.

delete_flow

ChatGPT
Delete a flow with the given flow ID.

delete_form

ChatGPT
Delete a given form.

delete_list

ChatGPT
Delete a list with the given list ID.

delete_object_schema_relationship

ChatGPT
Delete a relationship between object schemas

delete_object_type

ChatGPT
Delete the object type with the given ID.

delete_profile_schema_relationship

ChatGPT
Delete a relationship between an object schema and a profile

delete_push_token

ChatGPT
Delete a specific push token based on its ID.

delete_segment

ChatGPT
Delete a segment with the given segment ID.

delete_sending_domain

ChatGPT
Delete a sending domain.

delete_tag

ChatGPT
Delete the tag with the given tag ID. Any associations between the tag and other resources will also be removed.

delete_tag_group

ChatGPT
Delete the tag group with the given tag group ID. Any tags inside that tag group, and any associations between those tags and other resources, will also be removed. The default tag group cannot be deleted.

delete_translation

ChatGPT
BETA. Delete a translation collection by ID. Removes all localization settings and translation values for the resource.

delete_universal_content

ChatGPT
Delete the universal content with the given ID.

delete_webhook

ChatGPT
Delete a webhook with the given ID.

get_account_details

ChatGPT
Get the details of the account. You can view and edit your account details flow in the Klaviyo UI at https://www.klaviyo.com/settings/account

get_agent_knowledge

ChatGPT
Returns one Agent Knowledge resource by id. Resources are fetchable immediately after creation, including while pending, indexing, failed, or rejected.

get_agent_messages_for_customer_agent_conversation

ChatGPT
List message linkage or full message resources for a conversation.

get_agent_secret

ChatGPT
Returns metadata for one secret: name, mask, and timestamps. The plaintext value is never returned.

get_agent_secrets

ChatGPT
Lists every secret configured for the calling company. Returns secret metadata (name, mask, timestamps) and never the plaintext value, which cannot be read back after creation.

get_agent_skill

ChatGPT
Returns full detail for a single skill: `name, display_name, description, instructions, bound agent-tools relationship data, status, and handoff. Skills are looked up by prefixed id. To list all skills, use GET /agent-skills`.

get_agent_skills

ChatGPT
Returns every skill configured for the calling company's Customer Agent. Use this to inspect Customer Agent's current skills before adding or modifying a custom skill. Each item carries a prefixed `id, source, name, display_name, description, instructions, bound agent-tools relationship data, status, and handoff`. Use retrieve to inspect any one skill in detail.

get_agent_tool

ChatGPT
Returns full configuration for a single tool: protocol, auth method, templated request configuration, variables, and referenced secrets. Use to inspect a tool's setup before referencing it from a skill or modifying its config.

get_agent_tools

ChatGPT
Returns every external tool (HTTP API endpoint) Customer Agent skills can call. Each tool has an id, display name, protocol details (method, URL template), authentication setup, and any referenced secrets. Use this before creating a new tool to avoid duplicates, or before binding a tool to a skill to confirm the tool exists.

get_all_universal_content

ChatGPT
Get all universal content in an account.

get_application

ChatGPT
Get an application's Klaviyo App Marketplace listing by ID, including its description, features, the scopes it requests, and install_url. Applications cannot be installed, verified as installed, or uninstalled through this server. To install one, give the user its install_url to open in their browser, where they approve the requested scopes on Klaviyo's OAuth consent screen.

get_applications

ChatGPT
List published applications in the Klaviyo App Marketplace, newest first. Filter by name, categories, or developed_by (wrap developed_by in not() to exclude a developer). Applications cannot be installed, verified as installed, or uninstalled through this server. To install one, give the user its install_url to open in their browser, where they approve the requested scopes on Klaviyo's OAuth consent screen.

get_billing_usage

ChatGPT
Get current-period usage and plan cap for a single usage type.

get_brand_button

ChatGPT
Get the brand button with the given ID.

get_brand_buttons

ChatGPT
Get all brand buttons for the authenticated account.

get_brand_color

ChatGPT
Get the brand color group with the given ID.

get_brand_colors

ChatGPT
Get all brand color groups for the authenticated account.

get_brand_email_default

ChatGPT
Get the brand email defaults for the authenticated account.

get_brand_email_defaults

ChatGPT
List the brand email defaults for the authenticated account.

get_brand_logos

ChatGPT
Get all brand logos for the authenticated account.

get_brand_social_group

ChatGPT
Get the brand social group with the given ID.

get_brand_social_groups

ChatGPT
Get all brand social groups for the authenticated account.

get_brand_voice

ChatGPT
Get the brand voice for the authenticated company.

get_bulk_create_catalog_items_job

ChatGPT
Get a catalog item bulk create job with the given job ID. An include parameter can be provided to get the following related resource data: items.

get_bulk_create_catalog_items_jobs

ChatGPT
Get all catalog item bulk create jobs. Returns a maximum of 100 jobs per request.

get_bulk_create_coupon_code_jobs

ChatGPT
Get all coupon code bulk create jobs. Returns a maximum of 100 jobs per request.

get_bulk_create_coupon_codes_job

ChatGPT
Get a coupon code bulk create job with the given job ID.

get_bulk_create_variants_job

ChatGPT
Get a catalog variant bulk create job with the given job ID. An include parameter can be provided to get the following related resource data: variants.

get_bulk_create_variants_jobs

ChatGPT
Get all catalog variant bulk create jobs. Returns a maximum of 100 jobs per request.

get_bulk_delete_catalog_items_job

ChatGPT
Get a catalog item bulk delete job with the given job ID.

get_bulk_delete_catalog_items_jobs

ChatGPT
Get all catalog item bulk delete jobs. Returns a maximum of 100 jobs per request.

get_bulk_delete_variants_job

ChatGPT
Get a catalog variant bulk delete job with the given job ID.

get_bulk_delete_variants_jobs

ChatGPT
Get all catalog variant bulk delete jobs. Returns a maximum of 100 jobs per request.

get_bulk_import_profiles_job

ChatGPT
Get a bulk profile import job with the given job ID.

get_bulk_import_profiles_jobs

ChatGPT
Get all bulk profile import jobs. Returns a maximum of 100 jobs per request.

get_bulk_suppress_profiles_job

ChatGPT
Get the bulk suppress profiles job with the given job ID.

get_bulk_suppress_profiles_jobs

ChatGPT
Get the status of all bulk profile suppression jobs.

get_bulk_unsuppress_profiles_job

ChatGPT
Get the bulk unsuppress profiles job with the given job ID.

get_bulk_unsuppress_profiles_jobs

ChatGPT
Get all bulk unsuppress profiles jobs.

get_bulk_update_catalog_items_job

ChatGPT
Get a catalog item bulk update job with the given job ID. An include parameter can be provided to get the following related resource data: items.

get_bulk_update_catalog_items_jobs

ChatGPT
Get all catalog item bulk update jobs. Returns a maximum of 100 jobs per request.

get_bulk_update_variants_job

ChatGPT
Get a catalog variate bulk update job with the given job ID. An include parameter can be provided to get the following related resource data: variants.

get_bulk_update_variants_jobs

ChatGPT
Get all catalog variant bulk update jobs. Returns a maximum of 100 jobs per request.

get_campaign

ChatGPT
Returns a specific campaign based on a required id. You can view and edit a campaign in the Klaviyo UI at https://www.klaviyo.com/campaign/{CAMPAIGN_ID}/wizard

get_campaign_ids_for_tag

ChatGPT
Returns the IDs of all campaigns associated with the given tag.

get_campaign_message

ChatGPT
Returns a specific message based on a required id.

get_campaign_recipient_estimation

ChatGPT
Get the estimated recipient count for a campaign with the provided campaign ID. You can refresh this count by using the Create Campaign Recipient Estimation Job endpoint.

get_campaign_recipient_estimation_job

ChatGPT
Retrieve the status of a recipient estimation job triggered with the Create Campaign Recipient Estimation Job endpoint.

get_campaign_report

ChatGPT
Returns metrics data for campaigns with the given filters and within the given timeframe. Can return performance data such as opens, clicks, and conversions, etc. This tool will also give you information about each campaign in the report, such as: audience names and IDs for the campaign (included audiences are audiences sent the campaign, excluded audiences are audiences not sent the campaign), campaign name, send time, send channel, and campaign ID.

get_campaign_send_job

ChatGPT
Get a campaign send job

get_campaigns

ChatGPT
Returns some or all campaigns based on filters. You can view and edit a campaign in the Klaviyo UI at https://www.klaviyo.com/campaign/{CAMPAIGN_ID}/wizard. Do not use this for queries related to the status of campaigns, reporting on campaigns, or campaign performance data. For those use cases, use the get_campaign_report tool. A channel filter is required to list campaigns. Please provide either: ?filter=equals(messages.channel,'email') to list email campaigns, or ?filter=equals(messages.channel,'sms') to list SMS campaigns. ?filter=equals(messages.channel,'mobile_push') to list mobile push campaigns.

get_catalog_categories

ChatGPT
Get all catalog categories in an account. Catalog categories can be sorted by the following fields, in ascending and descending order: created Currently, the only supported integration type is $custom, and the only supported catalog type is $default. Returns a maximum of 100 categories per request.

get_catalog_category

ChatGPT
Get a catalog category with the given category ID.

get_catalog_item

ChatGPT
Get a specific catalog item with the given item ID.

get_catalog_items

ChatGPT
Get all catalog items in an account. (Also known as products)

get_catalog_variant

ChatGPT
Get a catalog item variant with the given variant ID.

get_catalog_variants

ChatGPT
Get all variants in an account. Variants can be sorted by the following fields, in ascending and descending order: created Currently, the only supported integration type is $custom, and the only supported catalog type is $default. Returns a maximum of 100 variants per request.

get_coupon

ChatGPT
Get a specific coupon with the given coupon ID.

get_coupon_code

ChatGPT
Returns a Coupon Code specified by the given identifier.

get_coupon_codes

ChatGPT
Gets a list of coupon codes associated with a coupon/coupons or a profile/profiles. A coupon/coupons or a profile/profiles must be provided as required filter params.

get_coupons

ChatGPT
Get all coupons in an account. To learn more, see our Coupons API guide.

get_custom_metric

ChatGPT
Get a custom metric with the given custom metric ID.

get_custom_metrics

ChatGPT
Get all custom metrics in an account.

get_customer_agent

ChatGPT
Returns the Customer Agent resource for the calling company. Includes `name, tone_of_voice with preset, optional custom instruction, and updated timestamp, escalation_rules, and communication_styles`. There is one Customer Agent per company.

get_data_source

ChatGPT
Retrieve a data source in an account.

get_data_sources

ChatGPT
Get all data sources in an account.

get_download_for_event_bulk_export_job

ChatGPT
Download the completed export as a gzipped CSV file.

get_download_for_profile_bulk_export_job

ChatGPT
Download the completed export as a gzipped CSV file.

get_email_template

ChatGPT
Get an email template with the given data. Returns attributes including the html or amp. You can view and edit a template in the Klaviyo UI at https://www.klaviyo.com/email-editor/{TEMPLATE_ID}/edit.

get_event

ChatGPT
Get an event with the given event ID.

get_event_bulk_export_job

ChatGPT
Get the status and details of an event bulk export job. When the job is complete, the response will include the expiration and file size of the exported events file.

get_events

ChatGPT
Get individual event records for a given filter such as a profile ID or metric ID. For aggregated data, prefer get_campaign_report or get_flow_report (performance metrics) or query_metric_aggregates (counts, sums, unique profiles). Only use this tool to inspect specific events or when the other tools don't support the dimension you need — in that case, only a small sample of events can be processed in context, so clearly tell the user the results are based on a limited sample.

get_flow

ChatGPT
Returns a flow by ID. You can view and edit a flow in the Klaviyo UI at https://www.klaviyo.com/flow/{FLOW_ID}/edit.

get_flow_action

ChatGPT
Get a flow action from a flow with the given flow action ID.

get_flow_ids_for_tag

ChatGPT
Returns the IDs of all flows associated with the given tag.

get_flow_message

ChatGPT
Get a flow message from a flow with the given flow message ID.

get_flow_report

ChatGPT
Returns metrics data for flows with the given filters and within the given timeframe. Can return performance data such as opens, clicks, and conversions, etc. This tool will also give you information about each flow in the report, such as: flow name, trigger type, and flow ID.

get_flows

ChatGPT
Returns some or all flows based on filters. You can view and edit a flow in the Klaviyo UI at https://www.klaviyo.com/flow/{FLOW_ID}/edit. Do not use this for queries related to the status of flows, reporting on flows, or flow performance data. For those use cases, use the get_flow_report tool.

get_flows_triggered_by_list

ChatGPT
Get all flows where the given list ID is being used as the trigger.

get_flows_triggered_by_metric

ChatGPT
Get all flows where the given metric is being used as the trigger.

get_flows_triggered_by_segment

ChatGPT
Get all flows where the given segment ID is being used as the trigger.

get_form

ChatGPT
Get the form with the given ID.

get_form_version

ChatGPT
Get the form version with the given ID.

get_forms

ChatGPT
Get all forms in an account.

get_image

ChatGPT
Get the image with the given image ID.

get_images

ChatGPT
Get all images in an account.

get_ingestion_logs_for_object_type

ChatGPT
Get the ingestion logs for a given object type. Only ingestion failures are logged — the absence of a log entry for a record does not mean the record was ingested successfully. Logs are retained for 14 days; time filters outside that window return an empty page. Results are returned newest first with a fixed page size of 50.

get_list

ChatGPT
Get a list with the given list ID. You can view and edit a list in the Klaviyo UI at https://www.klaviyo.com/lists/{LIST_ID}

get_list_ids_for_tag

ChatGPT
Returns the IDs of all lists associated with the given tag.

get_lists

ChatGPT
Get all lists in an account. To filter by tag, do not use the 'filters' parameter. Instead, call this and look for the 'tags' property in the response. You can view and edit a list in the Klaviyo UI at https://www.klaviyo.com/lists/{LIST_ID}

get_mapped_metric

ChatGPT
Get the mapped metric with the given ID.

get_mapped_metrics

ChatGPT
Get all mapped metrics in an account.

get_messaging_sender_registration_id_for_text_messaging_sender

ChatGPT
Return the most-recent registration for the given sender.

get_metric

ChatGPT
Get a metric with the given metric ID. You can view and edit a metric in the Klaviyo UI at https://www.klaviyo.com/metric/{METRIC_ID}/{METRIC_NAME}

get_metric_property

ChatGPT
Get a metric property with the given metric property ID.

get_metrics

ChatGPT
Get all metrics in an account. You can view and edit a metric in the Klaviyo UI at https://www.klaviyo.com/metric/{METRIC_ID}/{METRIC_NAME}

get_object_record

ChatGPT
Get the object record with the given compound ID.

get_object_schema

ChatGPT
Get the object schema with the given ID.

get_object_type

ChatGPT
Returns an object type by ID. Use include=current-schema to get its active schema, include=draft-schema for the unpublished draft, and include=schema-versions for the full version history. These return the same schema payloads as get_object_schema.

get_object_types

ChatGPT
Get all object types in an account.

get_profile

ChatGPT
Get details of the profile with the given profile ID. Includes additional information about their subscriptions. You can view and edit a profile in the Klaviyo UI at https://www.klaviyo.com/profile/{PROFILE_ID}

get_profile_bulk_export_job

ChatGPT
Get the status and details of a profile bulk export job. When the job is complete, the response will include the expiration and file size of the exported profiles file.

get_profiles

ChatGPT
Get all profiles in an account. You can view and edit a profile in the Klaviyo UI at https://www.klaviyo.com/profile/{PROFILE_ID}

get_push_token

ChatGPT
Return a specific push token based on its ID.

get_push_tokens

ChatGPT
Return push tokens associated with company.

get_records_for_object_type

ChatGPT
Get all object records for a given object type.

get_review

ChatGPT
Get the review with the given ID.

get_reviews

ChatGPT
Get all reviews.

get_secret_ids_for_agent_tool

ChatGPT
List Agent Secret IDs referenced by an Agent Tool.

get_secrets_for_agent_tool

ChatGPT
List Agent Secret IDs referenced by an Agent Tool.

get_segment

ChatGPT
Get a segment with the given segment ID. You can view and edit a segment in the Klaviyo UI at https://www.klaviyo.com/lists/{SEGMENT_ID}

get_segment_ids_for_tag

ChatGPT
Returns the IDs of all segments associated with the given tag.

get_segments

ChatGPT
Get all segments in an account. To filter by tag, do not use the 'filters' parameter. Instead, call this and look for the 'tags' property in the response. You can view and edit a segment in the Klaviyo UI at https://www.klaviyo.com/lists/{SEGMENT_ID}

get_sending_domain

ChatGPT
Get the sending domain with the given ID.

get_sending_domains

ChatGPT
List all sending domains configured for the account.

get_skills_for_agent_tool

ChatGPT
List Agent Skill resources that can call this Agent Tool.

get_source_mapping

ChatGPT
Get the source mapping with the given ID.

get_tag

ChatGPT
Retrieve the tag with the given tag ID.

get_tag_group

ChatGPT
Retrieve the tag group with the given tag group ID.

get_tag_groups

ChatGPT
List all tag groups in an account. Every account has one default tag group. Tag groups can be filtered by name, exclusive, and default, and sorted by name or id in ascending or descending order. Returns a maximum of 25 tag groups per request, which can be paginated with cursor-based pagination.

get_tags

ChatGPT
List all tags in an account. Tags can be filtered by name, and sorted by name or id in ascending or descending order. Returns a maximum of 50 tags per request, which can be paginated with cursor-based pagination.

get_text_messaging_configuration

ChatGPT
Retrieve the SMS account for the calling company.

get_text_messaging_sender

ChatGPT
Retrieve a single text-messaging sender by ID.

get_text_messaging_sender_registration

ChatGPT
Retrieve a sender registration by ID.

get_text_messaging_senders

ChatGPT
List the calling company's text-messaging senders.

get_translation

ChatGPT
BETA. Get a translation collection by ID. Returns localization settings (source/target locales, channel, fallback). To also get the translation values (source text and translations per locale for each translatable field), pass `additional_fields_translation=["values"]. To include a related resource, pass include with one of: campaign-variation, flow-message, template, template-universal-content`.

get_translations

ChatGPT
BETA. List all translation collections in the account. Each translation links a Klaviyo resource (campaign variation, flow message, template, template universal content) to its localization settings. Supports filtering on channel, resource_type, and related_resource_id, e.g. equals(channel,"email") or equals(resource_type,"campaign-variation").

get_universal_content

ChatGPT
Get the universal content with the given ID.

get_webhook

ChatGPT
Get the webhook with the given ID.

get_webhook_topic

ChatGPT
Get the webhook topic with the given ID.

get_webhook_topics

ChatGPT
Get all webhook topics in a Klaviyo account.

get_webhooks

ChatGPT
Get all webhooks in an account.

klaviyo_assign_template_to_campaign_message

ChatGPT
Assigns an email template to a campaign message. This should be used after creating a template with the create_email_template tool and creating an email campaign.

klaviyo_create_campaign

ChatGPT
Creates a new draft campaign. For email campaigns, this can be used with the create_email_template tool for template creation and then assign_template_to_campaign_message to assign the template to the email campaign. You can view and edit a campaign in the Klaviyo UI at https://www.klaviyo.com/campaign/{CAMPAIGN_ID}/wizard

klaviyo_create_email_template

ChatGPT
Create a new email template from the given HTML. Returns the ID of the template. You can view and edit a template in the Klaviyo UI at https://www.klaviyo.com/email-editor/{TEMPLATE_ID}/edit.

klaviyo_create_profile

ChatGPT
Create a new profile. Must include either email, phone_number, or external_id. You can view and edit a profile in the Klaviyo UI at https://www.klaviyo.com/profile/{PROFILE_ID}

klaviyo_get_account_details

ChatGPT
Get the details of the account. You can view and edit your account details flow in the Klaviyo UI at https://www.klaviyo.com/settings/account

klaviyo_get_campaign

ChatGPT
Returns a specific campaign based on a required id. You can view and edit a campaign in the Klaviyo UI at https://www.klaviyo.com/campaign/{CAMPAIGN_ID}/wizard

klaviyo_get_campaign_report

ChatGPT
Returns metrics data for campaigns with the given filters and within the given timeframe. Can return performance data such as opens, clicks, and conversions, etc. This tool will also give you information about each campaign in the report, such as: audience names and IDs for the campaign (included audiences are audiences sent the campaign, excluded audiences are audiences not sent the campaign), campaign name, send time, send channel, and campaign ID.

klaviyo_get_campaigns

ChatGPT
Returns some or all campaigns based on filters. You can view and edit a campaign in the Klaviyo UI at https://www.klaviyo.com/campaign/{CAMPAIGN_ID}/wizard. Do not use this for queries related to the status of campaigns, reporting on campaigns, or campaign performance data. For those use cases, use the get_campaign_report tool.

klaviyo_get_catalog_items

ChatGPT
Get all catalog items in an account. (Also known as products)

klaviyo_get_email_template

ChatGPT
Get an email template with the given data. Returns attributes including the html or amp. You can view and edit a template in the Klaviyo UI at https://www.klaviyo.com/email-editor/{TEMPLATE_ID}/edit.

klaviyo_get_events

ChatGPT
Get individual event records for a given filter such as a profile ID or metric ID. For aggregated data, prefer get_campaign_report or get_flow_report (performance metrics) or query_metric_aggregates (counts, sums, unique profiles). Only use this tool to inspect specific events or when the other tools don't support the dimension you need — in that case, only a small sample of events can be processed in context, so clearly tell the user the results are based on a limited sample.

klaviyo_get_flow

ChatGPT
Returns a flow by ID. You can view and edit a flow in the Klaviyo UI at https://www.klaviyo.com/flow/{FLOW_ID}/edit.

klaviyo_get_flow_report

ChatGPT
Returns metrics data for flows with the given filters and within the given timeframe. Can return performance data such as opens, clicks, and conversions, etc. This tool will also give you information about each flow in the report, such as: flow name, trigger type, and flow ID.

klaviyo_get_flows

ChatGPT
Returns some or all flows based on filters. You can view and edit a flow in the Klaviyo UI at https://www.klaviyo.com/flow/{FLOW_ID}/edit. Do not use this for queries related to the status of flows, reporting on flows, or flow performance data. For those use cases, use the get_flow_report tool.

klaviyo_get_list

ChatGPT
Get a list with the given list ID. You can view and edit a list in the Klaviyo UI at https://www.klaviyo.com/lists/{LIST_ID}

klaviyo_get_lists

ChatGPT
Get all lists in an account. To filter by tag, do not use the 'filters' parameter. Instead, call this and look for the 'tags' property. You can view and edit a list in the Klaviyo UI at https://www.klaviyo.com/lists/{LIST_ID}

klaviyo_get_metric

ChatGPT
Get a metric with the given metric ID. You can view and edit a metric in the Klaviyo UI at https://www.klaviyo.com/metric/{METRIC_ID}/{METRIC_NAME}

klaviyo_get_metrics

ChatGPT
Get all metrics in an account. You can view and edit a metric in the Klaviyo UI at https://www.klaviyo.com/metric/{METRIC_ID}/{METRIC_NAME}

klaviyo_get_profile

ChatGPT
Get details of the profile with the given profile ID. Includes additional information about their subscriptions. You can view and edit a profile in the Klaviyo UI at https://www.klaviyo.com/profile/{PROFILE_ID}

klaviyo_get_profiles

ChatGPT
Get all profiles in an account. You can view and edit a profile in the Klaviyo UI at https://www.klaviyo.com/profile/{PROFILE_ID}

klaviyo_get_segment

ChatGPT
Get a segment with the given segment ID. You can view and edit a segment in the Klaviyo UI at https://www.klaviyo.com/lists/{SEGMENT_ID}

klaviyo_get_segments

ChatGPT
Get all segments in an account. To filter by tag, do not use the 'filters' parameter. Instead, call this and look for the 'tags' property. You can view and edit a segment in the Klaviyo UI at https://www.klaviyo.com/lists/{SEGMENT_ID}

klaviyo_query_metric_aggregates

ChatGPT
Query and aggregate event data for a specific metric, with optional grouping by dimensions such as flows, campaigns, messages, etc. IMPORTANT: This endpoint returns data based on EVENT TIME (when events occurred), NOT send date. For campaign/flow performance data that matches the Klaviyo UI (which uses send date), use get_campaign_report or get_flow_report instead. Only use this tool when: - You need to aggregate raw event data by dimensions not supported by the Reporting API, but supported by this endpoint - You need time-series data broken down by hour/day/week/month - The Reporting API tools (get_campaign_report, get_flow_report) don't fulfill your specific requirements - You need to query custom metrics or non-standard aggregations Results from this endpoint are not directly comparable to get_campaign_report or get_flow_report due to different time semantics and uniqueness definitions (not attribution — both use the same attribution framework). If cross-referencing, clearly caveat this to the user. Examples of appropriate use cases: - Sum of revenue by flow over a time period (use sum_value measurement with $attributed_flow grouping) - Count of events per day/week/month for trend analysis - Unique profile counts grouped by campaign or message - Custom metric aggregations not available in standard reports

klaviyo_subscribe_profile_to_marketing

ChatGPT
Subscribe a profile to marketing for a given channel. If a profile doesn't already exist, it will be created. Returns 'Success' if successful.

klaviyo_unsubscribe_profile_from_marketing

ChatGPT
Unsubscribe a profile from marketing for a given channel. Returns 'Success' if successful.

klaviyo_update_profile

ChatGPT
Update the profile with the given profile ID. You can view and edit a profile in the Klaviyo UI at https://www.klaviyo.com/profile/{PROFILE_ID}

klaviyo_upload_image_from_url

ChatGPT
Upload an image from a URL or data URI.

list_agent_knowledge

ChatGPT
Returns every Agent Knowledge item for the calling company, including items that are pending, indexing, indexed, failed, or rejected. Returns only top-level items by default. Filter by `folder_id to instead list one folder's immediate contents (one level deep, not recursive). To add a snippet, webpage, or Q&A pair, POST to this endpoint with the appropriate nested source.source_type`; upload files with the file upload endpoint.

list_billing_usage

ChatGPT
List current-period usage and plan caps for the account.

list_customer_agent_conversations

ChatGPT
Returns all Customer Agent conversations. Results are ordered by newest conversations first. Supports filters by `status and created_at` time window, plus cursor pagination for large conversations.

list_email_templates

ChatGPT
List email templates in the account with optional filtering and sorting. Returns template metadata (id, name, editor_type, html, created, updated). Drag-and-drop (SYSTEM_DRAGGABLE) templates only include their structured definition when additional_fields_template includes "definition". For a single template, prefer get_email_template.

merge_profiles

ChatGPT
Merge a given related profile into a profile with the given profile ID. The profile provided under relationships (the "source" profile) will be merged into the profile provided by the ID in the base data object (the "destination" profile). This endpoint queues an asynchronous task which will merge data from the source profile into the destination profile, deleting the source profile in the process. This endpoint accepts only one source profile. To learn more about how profile data is preserved or overwritten during a merge, please visit our Help Center. This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.

query_customer_agent_skill_values

ChatGPT
Returns per-skill aggregates across the requested timeframe. Each row of `results is one skill bucket with a computed volume` statistic. Counts are at the invocation level: one conversation that runs multiple skills contributes to multiple buckets.

query_customer_agent_values

ChatGPT
Returns conversation-level aggregates across the requested timeframe. A single call may request multiple `statistics (volume and/or resolution-rate); each row of results carries the bucket-identifying groupings values and computed statistics for that bucket. Optionally group by channel or status, or omit groupings` for a single overall row.

query_form_series

ChatGPT
Returns the requested form analytics series data.

query_form_values

ChatGPT
Returns the requested form analytics values data.

query_metric_aggregates

ChatGPT
Query and aggregate event data for a specific metric, with optional grouping by dimensions such as flows, campaigns, messages, etc. IMPORTANT: This endpoint returns data based on EVENT TIME (when events occurred), NOT send date. For campaign/flow performance data that matches the Klaviyo UI (which uses send date), use get_campaign_report or get_flow_report instead. Only use this tool when: - You need to aggregate raw event data by dimensions not supported by the Reporting API, but supported by this endpoint - You need time-series data broken down by hour/day/week/month - The Reporting API tools (get_campaign_report, get_flow_report) don't fulfill your specific requirements - You need to query custom metrics or non-standard aggregations Results from this endpoint are not directly comparable to get_campaign_report or get_flow_report due to different time semantics and uniqueness definitions (not attribution — both use the same attribution framework). If cross-referencing, clearly caveat this to the user. Examples of appropriate use cases: - Sum of revenue by flow over a time period (use sum_value measurement with $attributed_flow grouping) - Count of events per day/week/month for trend analysis - Unique profile counts grouped by campaign or message - Custom metric aggregations not available in standard reports

query_segment_series

ChatGPT
Returns the requested segment analytics series data.

query_segment_values

ChatGPT
Returns the requested segment analytics values data.

refresh_campaign_recipient_estimation

ChatGPT
Trigger an asynchronous job to update the estimated number of recipients for the given campaign ID. Use the Get Campaign Recipient Estimation Job endpoint to retrieve the status of this estimation job. Use the Get Campaign Recipient Estimation endpoint to retrieve the estimated recipient count for a given campaign.

remove_categories_from_catalog_item

ChatGPT
Delete catalog category relationships for the given item ID.

remove_items_from_catalog_category

ChatGPT
Delete item relationships for the given category ID.

remove_profiles_from_list

ChatGPT
Remove a profile from a list with the given list ID. The provided profile will no longer receive marketing from this particular list once removed. Removing a profile from a list will not impact the profile's consent status or subscription status in general. To update a profile's subscription status, please use the Unsubscribe Profiles endpoint. This endpoint accepts a maximum of 1000 profiles per call.

remove_tag_from_campaigns

ChatGPT
Remove a tag's association with one or more campaigns. Use the request body to pass in the ID(s) of the campaign(s) whose association with the tag will be removed.

remove_tag_from_flows

ChatGPT
Remove a tag's association with one or more flows. Use the request body to pass in the ID(s) of the flows(s) whose association with the tag will be removed.

remove_tag_from_lists

ChatGPT
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.

remove_tag_from_segments

ChatGPT
Remove a tag's association with one or more segments. Use the request body to pass in the ID(s) of the segments(s) whose association with the tag will be removed.

render_email_template

ChatGPT
Render an email template with a provided context. Returns the HTML, plaintext, and AMP versions of the template with template tags evaluated. Does not modify the template or send any email. Templates are rendered with contexts in a similar manner to Django templates; nested variables can be referenced via dot notation. Variables without corresponding context values are treated as FALSE. Rate-limited to 3/s burst and 60/m steady — significantly stricter than other template endpoints.

report_unsupported_task

ChatGPT
Call before replying that you can't do something in Klaviyo; logs the gap so Klaviyo can add support. Use it when no tool exists for the request, when a tool you tried doesn't cover the case (e.g. you can read a flow but not change its trigger), when the Klaviyo API doesn't support it, or when the connection lacks permission. Call it even if you called no other tool, then tell the user. Do not call it for transient errors, auth failures, rate limits, or invalid input you could fix by retrying.

request_profile_deletion

ChatGPT
Request a deletion for the profiles corresponding to one of the following identifiers: email, phone_number, or id. If multiple identifiers are provided, we will return an error. All profiles that match the provided identifier will be deleted. The deletion occurs asynchronously; however, once it has completed, the deleted profile will appear on the Deleted Profiles page. For more information on the deletion process, please refer to our Help Center docs on how to handle GDPR and CCPA deletion requests. This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.

retrieve_customer_agent_conversation

ChatGPT
Returns one Customer Agent conversation with its status and message turns.

send_campaign

ChatGPT
Trigger a campaign to send asynchronously. Creates a campaign send job that sends the campaign to its configured audience. Once recipients start receiving messages the send cannot be undone; a send in progress can be stopped with cancel_campaign_send. Track progress with get_campaign_send_job. This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.

subscribe_profile_to_marketing

ChatGPT
Subscribe profiles to marketing for one or more channels. If a profile doesn't already exist, it will be created. Provide email and/or phone_number on each profile, and set the corresponding channel (email/sms) under attributes.subscriptions.{channel}.marketing.consent = "SUBSCRIBED". Optionally include a list relationship to also add the profile to that list. This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.

tag_campaigns

ChatGPT
Associate a tag with one or more campaigns. Any campaign cannot be associated with more than 100 tags. Use the request body to pass in the ID(s) of the campaign(s) that will be associated with the tag.

tag_flows

ChatGPT
Associate a tag with one or more flows. Any flow cannot be associated with more than 100 tags. Use the request body to pass in the ID(s) of the flow(s) that will be associated with the tag.

tag_lists

ChatGPT
Associate a tag with one or more lists. Any list cannot be associated with more than 100 tags. Use the request body to pass in the ID(s) of the lists(s) that will be associated with the tag.

tag_segments

ChatGPT
Associate a tag with one or more segments. Any segment cannot be associated with more than 100 tags. Use the request body to pass in the ID(s) of the segments(s) that will be associated with the tag.

unsubscribe_profile_from_marketing

ChatGPT
Unsubscribe profiles from marketing for one or more channels. Provide email and/or phone_number on each profile, and set the corresponding channel (email/sms) under attributes.subscriptions.{channel}.marketing.consent = "UNSUBSCRIBED". Optionally include a list relationship to scope the unsubscription to that list. This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.

update_agent_knowledge

ChatGPT
Patches editable fields on an Agent Knowledge item. For snippets, update `title and/or content. For Q&A pairs, update question and/or answer`. Re-indexing on content or answer change is automatic.

update_agent_skill

ChatGPT
Patches one or more fields on an existing skill: `display_name, description, instructions, status, handoff, and the agent-tools relationship or named references used as {{tool ref=<name>}} in instructions. Send instructions and references together when changing either one. They form one replacement document and are validated together. To rebind tools, send a new agent-tools relationship list; this is a full replacement, not merged. Skills are looked up by prefixed id. Use status: draft` to pause a custom skill.

update_agent_tool

ChatGPT
Patches the tool's config in place: protocol, templated request configuration, variables, auth, and referenced secrets. All skills bound to this tool pick up the new behavior immediately on next call.

update_brand_button

ChatGPT
Update the brand button with the given ID.

update_brand_color

ChatGPT
Update the brand color group with the given ID.

update_brand_email_default

ChatGPT
Partial update of the brand email defaults for the authenticated account.

update_brand_social_group

ChatGPT
Update the brand social group with the given ID.

update_brand_voice

ChatGPT
Update the brand voice for the authenticated company.

update_campaign

ChatGPT
Update a campaign with the given campaign ID.

update_campaign_message

ChatGPT
Update a campaign message

update_catalog_category

ChatGPT
Update a catalog category with the given category ID.

update_catalog_item

ChatGPT
Update a catalog item with the given item ID.

update_catalog_variant

ChatGPT
Update a catalog item variant with the given variant ID.

update_categories_for_catalog_item

ChatGPT
Update catalog category relationships for the given item ID.

update_coupon

ChatGPT
Rate limits:<br>Burst: 3/s<br>Steady: 60/m

update_coupon_code

ChatGPT
Updates a coupon code specified by the given identifier synchronously. We allow updating the 'status' and 'expires_at' of coupon codes.

update_custom_metric

ChatGPT
Update a custom metric with the given custom metric ID.

update_customer_agent

ChatGPT
Patches the Customer Agent resource for the calling company. The request body `data.id must match the path parameter. Supports name, tone_of_voice, escalation_rules, and communication_styles. For tone, provide tone_of_voice.preset from the supported enum, or preset: "custom" together with custom_instruction. For escalation_rules and communication_styles`, the supplied array replaces the existing list; omit the field to leave the existing list unchanged. Takes effect on the next turn.

update_customer_agent_conversation

ChatGPT
Update a Customer Agent conversation. `status and customer are the only updatable attributes, and at least one must be provided. Only status: closed is accepted. customer` can only be set once — a conversation that already has customer data rejects further updates.

update_dnd_email_template

ChatGPT
Update an existing drag-and-drop (DND) email template. Provide any combination of name, definition, or text to update. The definition fully replaces the existing one — partial updates to individual sections/blocks are not supported. To update a DND template, first retrieve it with get_email_template, modify the definition, then pass the full definition here.

update_email_template

ChatGPT
Update an existing HTML email template (CODE or USER_DRAGGABLE editor type). For drag-and-drop (SYSTEM_DRAGGABLE) templates, use update_dnd_email_template instead — passing html to a DND template will return a 400. Provide any combination of name, html, or text to update; only provided fields change. The template's editor type cannot be changed.

update_flow

ChatGPT
Update the status of a flow with the given flow ID, and all actions in that flow.

update_flow_action

ChatGPT
Update a flow action.

update_image

ChatGPT
Update the image with the given image ID.

update_image_for_campaign_message

ChatGPT
Update the image associated with a campaign message. Provide the ID of an existing image — e.g. one uploaded with upload_image_from_url.

update_items_for_catalog_category

ChatGPT
Update item relationships for the given category ID.

update_list

ChatGPT
Update the name of a list with the given list ID.

update_mapped_metric

ChatGPT
Update the mapped metric with the given ID.

update_object_schema

ChatGPT
Update the object schema with the given ID.

update_object_schema_relationship

ChatGPT
Update a relationship between object schemas

update_profile

ChatGPT
Update the profile with the given profile ID. You can view and edit a profile in the Klaviyo UI at https://www.klaviyo.com/profile/{PROFILE_ID}

update_profile_schema_relationship

ChatGPT
Update a relationship between an object schema and a profile

update_review

ChatGPT
Update a review.

update_segment

ChatGPT
Update a segment with the given segment ID.

update_source_mapping

ChatGPT
Update the source mapping with the given ID.

update_tag

ChatGPT
Update the tag with the given tag ID. Only a tag's name can be changed. A tag cannot be moved from one tag group to another.

update_tag_group

ChatGPT
Update the tag group with the given tag group ID. Only a tag group's name can be changed. A tag group's exclusive or default value cannot be changed.

update_translation

ChatGPT
BETA. Update a translation's settings and/or import translation values. All attributes are optional — only provided fields are updated. To import values, first call get_translation with `additional_fields_translation=["values"], then provide the values array with updated translations. Each value has a composite id (e.g. scheduled_message::abc::subject) and a translations map of locale codes to translated text (e.g. {'fr': 'Bonjour'}`).

update_universal_content

ChatGPT
Update universal content. The definition field can only be updated on the following block types at this time: button, drop_shadow, horizontal_rule, html, image, spacer, and text.

upload_image_from_url

ChatGPT
Upload an image from a URL or data URI.

assign_template_to_campaign_message

Claude

create_campaign

Claude

create_email_template

Claude

create_profile

Claude

get_account_details

Claude

get_campaign

Claude

get_campaign_report

Claude

get_campaigns

Claude

get_catalog_items

Claude

get_email_template

Claude

get_events

Claude

get_flow

Claude

get_flow_report

Claude

get_flows

Claude

get_list

Claude

get_lists

Claude

get_metric

Claude

get_metrics

Claude

get_profile

Claude

get_profiles

Claude

get_segment

Claude

get_segments

Claude

query_metric_aggregates

Claude

subscribe_profile_to_marketing

Claude

unsubscribe_profile_from_marketing

Claude

update_profile

Claude

upload_image_from_url

Claude

Capabilities

InteractiveWrites

Example Prompts

Click any prompt to copy it.

App Stats

354

Tools

3

Prompts

ChatGPT, Claude

Platforms

Works with

ChatGPT
Claude

Data refreshed daily