Klaviyo MCP
Vendor MCP263 toolsOAuth 2.1/DCRMarketingCRM & SalesConnect to Klaviyo MCP. Report, strategize & create with real-time Klaviyo data
Klaviyo MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'klaviyomcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Klaviyo MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'klaviyomcp_get_account_details',toolInput: { model: 'YOUR_MODEL' },})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "klaviyomcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Klaviyo MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={"model":"YOUR_MODEL"},tool_name="klaviyomcp_get_account_details",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Manage campaigns — create campaigns, assign email templates to campaign messages, and retrieve campaign details and performance reports
- Manage profiles — create, update, and retrieve customer profiles; subscribe and unsubscribe profiles from marketing channels
- Analyze flows and metrics — fetch flow details and reports; query and aggregate event metric data with custom dimensions
- Manage email templates — create and retrieve reusable email templates for campaigns
- Browse lists and segments — retrieve lists, segments, and catalog items to understand your audience
- Manage translations — create, update, delete, and list translation collections for multi-language content
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
klaviyomcp_add_categories_to_catalog_item#Create a new catalog category relationship for the given item ID.4 params
Create a new catalog category relationship for the given item ID.
bodyobjectrequiredNo description.idstringrequiredThe catalog item ID is a compound ID (string), with format: `{integration}:::{catalog}:::{external_id}`. Currently, the only supported integration type is `$custom`, and the only supported catalog is `$default`.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_add_items_to_catalog_category#Create a new item relationship for the given category ID.4 params
Create a new item relationship for the given category ID.
bodyobjectrequiredNo description.idstringrequiredThe catalog category ID is a compound ID (string), with format: `{integration}:::{catalog}:::{external_id}`. Currently, the only supported integration type is `$custom`, and the only supported catalog is `$default`.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_add_profiles_to_list#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.4 params
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.
bodyobjectrequiredNo description.idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_assign_template_to_campaign_message#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.3 params
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.
campaignMessageIdstringrequiredThe ID of the email campaign message to assign the template to.emailTemplateIdstringrequiredThe ID of the email template to assign to the campaign message.modelstringrequiredThe name of the LLM currently using the tool.klaviyomcp_bulk_create_catalog_items#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.4 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_item_bulk_create_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_bulk_create_catalog_variants#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.4 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_variant_bulk_create_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_bulk_create_coupon_codes#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.4 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_coupon_code_bulk_create_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_bulk_create_events#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.3 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_bulk_delete_catalog_items#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.4 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_item_bulk_delete_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_bulk_delete_catalog_variants#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.4 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_variant_bulk_delete_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_bulk_import_profiles#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.4 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_profile_bulk_import_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_bulk_suppress_profiles#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](https://help.klaviyo.com/hc/en-us/articles/115005246108#what-is-a-suppressed-profile-1) 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.5 params
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](https://help.klaviyo.com/hc/en-us/articles/115005246108#what-is-a-suppressed-profile-1) 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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_profile_suppression_bulk_create_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.user_confirmationstringoptionalLeave unset. This action requires the user's confirmation; the first call fails with instructions that include the exact value to supply here once the user has approved.klaviyomcp_bulk_unsuppress_profiles#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](https://help.klaviyo.com/hc/en-us/articles/115005246108#what-is-a-suppressed-profile-1) 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.5 params
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](https://help.klaviyo.com/hc/en-us/articles/115005246108#what-is-a-suppressed-profile-1) 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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_profile_suppression_bulk_delete_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.user_confirmationstringoptionalLeave unset. This action requires the user's confirmation; the first call fails with instructions that include the exact value to supply here once the user has approved.klaviyomcp_bulk_update_catalog_items#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.4 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_item_bulk_update_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_bulk_update_catalog_variants#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.4 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_variant_bulk_update_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_cancel_campaign_send#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.5 params
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.
bodyobjectrequiredNo description.idstringrequiredThe ID of the currently sending campaign to cancel or revertmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.user_confirmationstringoptionalLeave unset. This action requires the user's confirmation; the first call fails with instructions that include the exact value to supply here once the user has approved.klaviyomcp_clone_email_template#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.4 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_templatestringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_agent_knowledge#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``.4 params
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``.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_agent_knowledgestringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_agent_skill#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.4 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_agent_skillstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_agent_tool#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}``.4 params
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}``.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_agent_toolstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_back_in_stock_subscription#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.3 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_brand_button#Create a new brand button.4 params
Create a new brand button.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_brand_buttonstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_brand_color#Create a new brand color group.4 params
Create a new brand color group.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_brand_colorstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_brand_logo#Create a new brand logo.4 params
Create a new brand logo.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_brand_logostringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_brand_social_group#Create a new brand social group.4 params
Create a new brand social group.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_brand_social_groupstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_campaign#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}/wizard2 params
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
inputobjectrequiredCampaignCreateQuerymodelstringrequiredThe name of the LLM currently using the tool.klaviyomcp_create_campaign_clone#Clones an existing campaign, returning a new campaign based on the original with a new ID and name.4 params
Clones an existing campaign, returning a new campaign based on the original with a new ID and name.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_campaignstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_catalog_category#Create a new catalog category.4 params
Create a new catalog category.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_categorystringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_catalog_item#Create a new catalog item.4 params
Create a new catalog item.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_itemstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_catalog_variant#Create a new variant for a related catalog item.4 params
Create a new variant for a related catalog item.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_variantstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_coupon#Creates a new coupon.4 params
Creates a new coupon.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_couponstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_coupon_code#Synchronously creates a coupon code for the given coupon.4 params
Synchronously creates a coupon code for the given coupon.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_coupon_codestringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_custom_metric#Create a new custom metric.
Custom metric objects must include a `name` and `definition`.4 params
Create a new custom metric. Custom metric objects must include a `name` and `definition`.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_custom_metricstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_customer_agent_response#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.
This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.5 params
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. This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_customer_agent_responsestringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.user_confirmationstringoptionalLeave unset. This action requires the user's confirmation; the first call fails with instructions that include the exact value to supply here once the user has approved.klaviyomcp_create_dnd_email_template#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}.5 params
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}.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.additional_fields_templatestringoptionalRequest additional fields not included by default in the response. Supported values: 'definition'fields_templatestringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_email_template#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.4 params
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.
htmlstringrequired
The complete HTML of the template. Should include <html> and <body> tags.
To include an image, first upload the image using the upload_image_from_file or upload_image_from_url tool, then use the returned image URL.
Always include an unsubscribe link. Do this by inserting the template string "{% unsubscribe 'Unsubscribe' %}". You can replace 'Unsubscribe' with custom text.
To add an editable region to the template, ensure the has_editable_regions param is true and add the following:
<td align="center" data-klaviyo-region="true" data-klaviyo-region-width-pixels="600"></td>
To add an editable text block, add the following within that region:
<div class="klaviyo-block klaviyo-text-block">Hello world!</div>
To add an editable image block, add the following within that region:
<div class="klaviyo-block klaviyo-image-block"></div>
To add a universal content block, add the following within that region, replacing block_id with the ID of the universal content block:
<div data-klaviyo-universal-block="block_id"> <div>
modelstringrequiredThe name of the LLM currently using the tool.namestringrequiredThe name of the templatehasEditableRegionsbooleanoptionalWhether the template HTML contains editable regions. Should be false unless they explicitly request an editable/drag-and-drop/hybrid template.klaviyomcp_create_event#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.3 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_flow#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.5 params
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.
bodystringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.additional_fields_flowstringoptionalRequest additional fields not included by default in the response. Supported values: 'definition'fields_flowstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_form#Create a new form.4 params
Create a new form.
bodystringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_formstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_list#Create a new list.4 params
Create a new list.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_liststringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_or_update_profile#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.5 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.additional_fields_profilestringoptionalRequest additional fields not included by default in the response. Supported values: 'subscriptions', 'predictive_analytics'fields_profilestringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_profile#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}2 params
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}
inputobjectrequiredProfileCreateQuerymodelstringrequiredThe name of the LLM currently using the tool.klaviyomcp_create_push_token#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](https://github.com/klaviyo/klaviyo-swift-sdk) and [Android](https://github.com/klaviyo/klaviyo-android-sdk)) to create push tokens from users' devices.
The maximum allowed payload size is 100KB.3 params
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](https://github.com/klaviyo/klaviyo-swift-sdk) and [Android](https://github.com/klaviyo/klaviyo-android-sdk)) to create push tokens from users' devices. The maximum allowed payload size is 100KB.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_segment#Create a segment.4 params
Create a segment.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_segmentstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_sending_domain#Register a new sending domain and return the DNS records to configure.4 params
Register a new sending domain and return the DNS records to configure.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_sending_domainstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_sending_domain_activation_job#Activate the referenced sending domain (requires prior verify to pass).4 params
Activate the referenced sending domain (requires prior verify to pass).
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_sending_domain_activation_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_sending_domain_verification_job#Run a DNS verification check for the referenced sending domain.4 params
Run a DNS verification check for the referenced sending domain.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_sending_domain_verification_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_tag#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.4 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_tagstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_tag_group#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.4 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_tag_groupstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_template_preview_send_job#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.5 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_template_preview_send_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.user_confirmationstringoptionalLeave unset. This action requires the user's confirmation; the first call fails with instructions that include the exact value to supply here once the user has approved.klaviyomcp_create_text_messaging_configuration#Create the SMS account for the calling company.4 params
Create the SMS account for the calling company.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_text_messaging_configurationstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_text_messaging_sender#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.4 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_text_messaging_senderstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_text_messaging_sender_registration#Submit a new registration for an existing sender (resubmission).4 params
Submit a new registration for an existing sender (resubmission).
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_text_messaging_sender_registrationstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_create_translation#Create a new translation collection for a Klaviyo resource. Exactly one relationship must be provided. 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.7 params
Create a new translation collection for a Klaviyo resource. Exactly one relationship must be provided. 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.
channelstringrequiredChannel for this translationfallbackLocalestringrequiredFallback locale (e.g. 'en')modelstringrequiredThe name of the LLM currently using the tool.relationshipIdstringrequiredID of the related resourcerelationshipTypestringrequiredType of related resourcesourceLocalestringrequiredSource locale (e.g. 'en')targetLocalesarrayrequiredTarget locales (e.g. ['fr', 'es']). Pass as a JSON array of values.klaviyomcp_create_universal_content#Create universal content. Currently supported block types are: `button`, `drop_shadow`, `horizontal_rule`, `html`, `image`, `spacer`, and `text`.4 params
Create universal content. Currently supported block types are: `button`, `drop_shadow`, `horizontal_rule`, `html`, `image`, `spacer`, and `text`.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_template_universal_contentstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_agent_knowledge#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.3 params
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.
idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_agent_skill#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``.3 params
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``.
idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_agent_tool#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.3 params
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.
idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_brand_button#Delete the brand button with the given ID.3 params
Delete the brand button with the given ID.
idstringrequiredThe ID of the brand button.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_brand_color#Delete the brand color group with the given ID.3 params
Delete the brand color group with the given ID.
idstringrequiredThe ID of the brand color group.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_brand_logo#Delete the brand logo with the given ID.3 params
Delete the brand logo with the given ID.
idstringrequiredThe ID of the brand logo.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_brand_social_group#Delete the brand social group with the given ID.3 params
Delete the brand social group with the given ID.
idstringrequiredThe ID of the brand social group.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_campaign#Delete a campaign with the given campaign ID.3 params
Delete a campaign with the given campaign ID.
idstringrequiredThe campaign ID to be deletedmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_catalog_category#Delete a catalog category using the given category ID.3 params
Delete a catalog category using the given category ID.
idstringrequiredThe catalog category ID is a compound ID (string), with format: `{integration}:::{catalog}:::{external_id}`. Currently, the only supported integration type is `$custom`, and the only supported catalog is `$default`.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_catalog_item#Delete a catalog item with the given item ID.3 params
Delete a catalog item with the given item ID.
idstringrequiredThe catalog item ID is a compound ID (string), with format: `{integration}:::{catalog}:::{external_id}`. Currently, the only supported integration type is `$custom`, and the only supported catalog is `$default`.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_catalog_variant#Delete a catalog item variant with the given variant ID.3 params
Delete a catalog item variant with the given variant ID.
idstringrequiredThe catalog variant ID is a compound ID (string), with format: `{integration}:::{catalog}:::{external_id}`. Currently, the only supported integration type is `$custom`, and the only supported catalog is `$default`.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_coupon#Delete the coupon with the given coupon ID.3 params
Delete the coupon with the given coupon ID.
idstringrequiredThe internal id of a Coupon is equivalent to its external id stored within an integration.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_coupon_code#Deletes a coupon code specified by the given identifier synchronously. If a profile has been assigned to the
coupon code, an exception will be raised3 params
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
idstringrequiredThe id of a coupon code is a combination of its unique code and the id of the coupon it is associated with.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_custom_metric#Delete a custom metric with the given custom metric ID.3 params
Delete a custom metric with the given custom metric ID.
idstringrequiredThe ID of the custom metricmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_email_template#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.3 params
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.
idstringrequiredThe ID of templatemodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_flow#Delete a flow with the given flow ID.3 params
Delete a flow with the given flow ID.
idstringrequiredID of the Flow to delete. Ex: XVTP5QmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_form#Delete a given form.3 params
Delete a given form.
idstringrequiredThe ID of the formmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_list#Delete a list with the given list ID.3 params
Delete a list with the given list ID.
idstringrequiredPrimary key that uniquely identifies this list. Generated by Klaviyo.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_push_token#Delete a specific push token based on its ID.3 params
Delete a specific push token based on its ID.
idstringrequiredThe value of the push token to deletemodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_segment#Delete a segment with the given segment ID.3 params
Delete a segment with the given segment ID.
idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_sending_domain#Delete a sending domain.3 params
Delete a sending domain.
idstringrequiredThe ID of the sending domain.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_tag#Delete the tag with the given tag ID. Any associations between the tag and other resources will also be removed.3 params
Delete the tag with the given tag ID. Any associations between the tag and other resources will also be removed.
idstringrequiredThe Tag IDmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_tag_group#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.3 params
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.
idstringrequiredThe Tag Group IDmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_translation#Delete a translation collection by ID. This removes all localization settings and translation values for the resource.2 params
Delete a translation collection by ID. This removes all localization settings and translation values for the resource.
modelstringrequiredThe name of the LLM currently using the tool.translationIdstringrequiredThe ID of the translation to deleteklaviyomcp_delete_universal_content#Delete the universal content with the given ID.3 params
Delete the universal content with the given ID.
idstringrequiredThe ID of the template universal contentmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_delete_webhook#Delete a webhook with the given ID.3 params
Delete a webhook with the given ID.
idstringrequiredThe ID of the webhook.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_account_details#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/account1 param
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
modelstringrequiredThe name of the LLM currently using the tool.klaviyomcp_get_agent_knowledge#Returns one Agent Knowledge resource by id.
Resources are fetchable immediately after creation, including
while pending, indexing, failed, or rejected.4 params
Returns one Agent Knowledge resource by id. Resources are fetchable immediately after creation, including while pending, indexing, failed, or rejected.
idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_agent_knowledgestringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_agent_messages_for_customer_agent_conversation#List message linkage or full message resources for a
conversation.6 params
List message linkage or full message resources for a conversation.
idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_customer_agent_messagestringoptionalReturn only a subset of fields in the response.page_cursorstringoptionalPage cursorpage_sizestringoptionalDefault: 50. Min: 1. Max: 100.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_agent_skill#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``.4 params
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``.
idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_agent_skillstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_agent_skills#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.3 params
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.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_agent_skillstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_agent_tool#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.4 params
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.
idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_agent_toolstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_agent_tools#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.6 params
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.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_agent_toolstringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"name": {
"operators": [
"contains"
]
},
"tool_type": {
"operators": [
"equals"
],
"enum": [
"internal",
"custom"
]
},
"created_at": {
"operators": [
"equals",
"greater-or-equal",
"less-or-equal"
],
"type": "datetime"
},
"updated_at": {
"operators": [
"equals",
"greater-or-equal",
"less-or-equal"
],
"type": "datetime"
}
}page_cursorstringoptionalPage cursorpage_sizestringoptionalDefault: 50. Min: 1. Max: 100.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_all_universal_content#Get all universal content in an account.7 params
Get all universal content in an account.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_template_universal_contentstringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"id": {
"operators": [
"any",
"equals"
]
},
"name": {
"operators": [
"any",
"equals"
]
},
"created": {
"operators": [
"greater-or-equal",
"greater-than",
"less-or-equal",
"less-than"
],
"type": "datetime"
},
"updated": {
"operators": [
"greater-or-equal",
"greater-than",
"less-or-equal",
"less-than"
],
"type": "datetime"
},
"definition.content_type": {
"operators": [
"equals"
],
"enum": [
"block",
"section"
]
},
"definition.type": {
"operators": [
"equals"
],
"enum": [
"button",
"coupon",
"drop_shadow",
"header",
"horizontal_rule",
"html",
"image",
"product",
"review",
"social",
"spacer",
"split",
"table",
"text",
"unsupported",
"video"
]
}
}page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.page_sizestringoptionalDefault: 20. Min: 1. Max: 100.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.sortstringoptionalSort results by attribute. Prefix with `-` for descending order.klaviyomcp_get_applications#List installable marketplace applications.6 params
List installable marketplace applications.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_applicationstringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"name": {
"operators": [
"contains"
]
},
"category": {
"operators": [
"equals"
],
"enum": [
"Accounting",
"Advertising",
"CDP",
"CRM",
"Data Warehouse",
"Design & Content",
"Direct Mail",
"Donations",
"eCommerce Platform",
"Email Service Provider",
"Event Management",
"Fundraising",
"Health & Wellness",
"Journey Optimization",
"Landing Pages & Forms",
"Payments",
"Personalization",
"POS",
"Project Management",
"Quizzes & Surveys",
"Restaurants",
"Reviews",
"Rewards",
"Shipping",
"SMTP",
"Subscriptions",
"Support & Help Desk",
"Travel",
"Workflow Automation"
]
},
"built_by": {
"operators": [
"equals"
],
"enum": [
"KLAVIYO",
"KLAVIYO_PARTNERS"
]
}
}page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.page_sizestringoptionalDefault: 25. Min: 1. Max: 100.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_billing_usage#Get current-period usage and plan cap for a single usage type.4 params
Get current-period usage and plan cap for a single usage type.
idstringrequiredThe usage type to retrieve.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_billing_usagestringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_brand_button#Get the brand button with the given ID.4 params
Get the brand button with the given ID.
idstringrequiredThe ID of the brand button.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_brand_buttonstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_brand_buttons#Get all brand buttons for the authenticated account.3 params
Get all brand buttons for the authenticated account.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_brand_buttonstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_brand_color#Get the brand color group with the given ID.4 params
Get the brand color group with the given ID.
idstringrequiredThe ID of the brand color group.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_brand_colorstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_brand_colors#Get all brand color groups for the authenticated account.3 params
Get all brand color groups for the authenticated account.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_brand_colorstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_brand_email_default#Get the brand email defaults for the authenticated account.8 params
Get the brand email defaults for the authenticated account.
idstringrequiredThe ID of the brand email defaults (must equal the account ID).modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_brand_buttonstringoptionalReturn only a subset of fields in the response.fields_brand_email_defaultstringoptionalReturn only a subset of fields in the response.fields_brand_logostringoptionalReturn only a subset of fields in the response.fields_brand_social_groupstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related brand-button, brand-logo, or brand-social-group.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_brand_email_defaults#List the brand email defaults for the authenticated account.7 params
List the brand email defaults for the authenticated account.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_brand_buttonstringoptionalReturn only a subset of fields in the response.fields_brand_email_defaultstringoptionalReturn only a subset of fields in the response.fields_brand_logostringoptionalReturn only a subset of fields in the response.fields_brand_social_groupstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related brand-button, brand-logo, or brand-social-group.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_brand_logo#Get the brand logo with the given ID.6 params
Get the brand logo with the given ID.
idstringrequiredThe ID of the brand logo.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_brand_logostringoptionalReturn only a subset of fields in the response.fields_imagestringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related image.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_brand_logos#Get all brand logos for the authenticated account.5 params
Get all brand logos for the authenticated account.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_brand_logostringoptionalReturn only a subset of fields in the response.fields_imagestringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related image.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_brand_social_group#Get the brand social group with the given ID.4 params
Get the brand social group with the given ID.
idstringrequiredThe ID of the brand social group.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_brand_social_groupstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_brand_social_groups#Get all brand social groups for the authenticated account.3 params
Get all brand social groups for the authenticated account.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_brand_social_groupstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_brand_voice#Get the brand voice for the authenticated company.4 params
Get the brand voice for the authenticated company.
idstringrequiredThe company ID. Must match the authenticated account.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_brand_voicestringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_bulk_create_catalog_items_job#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`.6 params
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`.
job_idstringrequiredID of the job to retrieve.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_itemstringoptionalReturn only a subset of fields in the response.fields_catalog_item_bulk_create_jobstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related items.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_bulk_create_catalog_items_jobs#Get all catalog item bulk create jobs.
Returns a maximum of 100 jobs per request.5 params
Get all catalog item bulk create jobs. Returns a maximum of 100 jobs per request.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_item_bulk_create_jobstringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"status": {
"operators": [
"equals"
],
"enum": [
"queued",
"processing",
"complete",
"cancelled"
]
}
}page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_bulk_create_coupon_code_jobs#Get all coupon code bulk create jobs.
Returns a maximum of 100 jobs per request.5 params
Get all coupon code bulk create jobs. Returns a maximum of 100 jobs per request.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_coupon_code_bulk_create_jobstringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"status": {
"operators": [
"equals"
],
"enum": [
"queued",
"processing",
"complete",
"cancelled"
]
}
}page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_bulk_create_coupon_codes_job#Get a coupon code bulk create job with the given job ID.6 params
Get a coupon code bulk create job with the given job ID.
job_idstringrequiredID of the job to retrieve.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_coupon_codestringoptionalReturn only a subset of fields in the response.fields_coupon_code_bulk_create_jobstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related coupon-codes.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_bulk_create_variants_job#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`.6 params
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`.
job_idstringrequiredID of the job to retrieve.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_variantstringoptionalReturn only a subset of fields in the response.fields_catalog_variant_bulk_create_jobstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related variants.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_bulk_create_variants_jobs#Get all catalog variant bulk create jobs.
Returns a maximum of 100 jobs per request.5 params
Get all catalog variant bulk create jobs. Returns a maximum of 100 jobs per request.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_variant_bulk_create_jobstringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"status": {
"operators": [
"equals"
],
"enum": [
"queued",
"processing",
"complete",
"cancelled"
]
}
}page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_bulk_delete_catalog_items_job#Get a catalog item bulk delete job with the given job ID.4 params
Get a catalog item bulk delete job with the given job ID.
job_idstringrequiredID of the job to retrieve.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_item_bulk_delete_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_bulk_delete_catalog_items_jobs#Get all catalog item bulk delete jobs.
Returns a maximum of 100 jobs per request.5 params
Get all catalog item bulk delete jobs. Returns a maximum of 100 jobs per request.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_item_bulk_delete_jobstringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"status": {
"operators": [
"equals"
],
"enum": [
"queued",
"processing",
"complete",
"cancelled"
]
}
}page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_bulk_delete_variants_job#Get a catalog variant bulk delete job with the given job ID.4 params
Get a catalog variant bulk delete job with the given job ID.
job_idstringrequiredID of the job to retrieve.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_variant_bulk_delete_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_bulk_delete_variants_jobs#Get all catalog variant bulk delete jobs.
Returns a maximum of 100 jobs per request.5 params
Get all catalog variant bulk delete jobs. Returns a maximum of 100 jobs per request.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_variant_bulk_delete_jobstringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"status": {
"operators": [
"equals"
],
"enum": [
"queued",
"processing",
"complete",
"cancelled"
]
}
}page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_bulk_import_profiles_job#Get a bulk profile import job with the given job ID.6 params
Get a bulk profile import job with the given job ID.
job_idstringrequiredID of the job to retrieve.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_liststringoptionalReturn only a subset of fields in the response.fields_profile_bulk_import_jobstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related lists.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_bulk_import_profiles_jobs#Get all bulk profile import jobs.
Returns a maximum of 100 jobs per request.7 params
Get all bulk profile import jobs. Returns a maximum of 100 jobs per request.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_profile_bulk_import_jobstringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"status": {
"operators": [
"any",
"equals"
],
"enum": [
"queued",
"processing",
"complete"
]
}
}page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.page_sizestringoptionalDefault: 20. Min: 1. Max: 100.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.sortstringoptionalSort results by attribute. Prefix with `-` for descending order.klaviyomcp_get_bulk_suppress_profiles_job#Get the bulk suppress profiles job with the given job ID.4 params
Get the bulk suppress profiles job with the given job ID.
job_idstringrequiredID of the job to retrieve.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_profile_suppression_bulk_create_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_bulk_suppress_profiles_jobs#Get the status of all bulk profile suppression jobs.6 params
Get the status of all bulk profile suppression jobs.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_profile_suppression_bulk_create_jobstringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"status": {
"operators": [
"equals"
],
"enum": [
"queued",
"processing",
"complete",
"cancelled"
]
},
"list_id": {
"operators": [
"equals"
]
},
"segment_id": {
"operators": [
"equals"
]
}
}page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.sortstringoptionalSort results by attribute. Prefix with `-` for descending order.klaviyomcp_get_bulk_unsuppress_profiles_job#Get the bulk unsuppress profiles job with the given job ID.4 params
Get the bulk unsuppress profiles job with the given job ID.
job_idstringrequiredID of the job to retrieve.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_profile_suppression_bulk_delete_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_bulk_unsuppress_profiles_jobs#Get all bulk unsuppress profiles jobs.6 params
Get all bulk unsuppress profiles jobs.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_profile_suppression_bulk_delete_jobstringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"status": {
"operators": [
"equals"
],
"enum": [
"queued",
"processing",
"complete",
"cancelled"
]
},
"list_id": {
"operators": [
"equals"
]
},
"segment_id": {
"operators": [
"equals"
]
}
}page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.sortstringoptionalSort results by attribute. Prefix with `-` for descending order.klaviyomcp_get_bulk_update_catalog_items_job#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`.6 params
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`.
job_idstringrequiredID of the job to retrieve.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_itemstringoptionalReturn only a subset of fields in the response.fields_catalog_item_bulk_update_jobstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related items.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_bulk_update_catalog_items_jobs#Get all catalog item bulk update jobs.
Returns a maximum of 100 jobs per request.5 params
Get all catalog item bulk update jobs. Returns a maximum of 100 jobs per request.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_item_bulk_update_jobstringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"status": {
"operators": [
"equals"
],
"enum": [
"queued",
"processing",
"complete",
"cancelled"
]
}
}page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_bulk_update_variants_job#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`.6 params
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`.
job_idstringrequiredID of the job to retrieve.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_variantstringoptionalReturn only a subset of fields in the response.fields_catalog_variant_bulk_update_jobstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related variants.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_bulk_update_variants_jobs#Get all catalog variant bulk update jobs.
Returns a maximum of 100 jobs per request.5 params
Get all catalog variant bulk update jobs. Returns a maximum of 100 jobs per request.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_variant_bulk_update_jobstringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"status": {
"operators": [
"equals"
],
"enum": [
"queued",
"processing",
"complete",
"cancelled"
]
}
}page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_campaign#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}/wizard2 params
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
idstringrequiredNo description.modelstringrequiredThe name of the LLM currently using the tool.klaviyomcp_get_campaign_message#Returns a specific message based on a required id.8 params
Returns a specific message based on a required id.
idstringrequiredThe message ID to be retrievedmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_campaignstringoptionalReturn only a subset of fields in the response.fields_campaign_messagestringoptionalReturn only a subset of fields in the response.fields_imagestringoptionalReturn only a subset of fields in the response.fields_templatestringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related campaign, image, or template.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_campaign_recipient_estimation#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.4 params
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.
idstringrequiredThe ID of the campaign for which to get the estimated number of recipientsmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_campaign_recipient_estimationstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_campaign_recipient_estimation_job#Retrieve the status of a recipient estimation job triggered
with the `Create Campaign Recipient Estimation Job` endpoint.4 params
Retrieve the status of a recipient estimation job triggered with the `Create Campaign Recipient Estimation Job` endpoint.
idstringrequiredThe ID of the campaign to get recipient estimation statusmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_campaign_recipient_estimation_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_campaign_report#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.9 params
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.
conversionMetricIdstringrequiredID of the metric to be used for conversion statistics. You can get available metrics IDs using the get_metrics tool and just requesting the 'name' field. Do not use any additional filters on the get_metrics tool. If a specific metric is not requested, use the ID of the metric named 'Placed Order'. If it doesn't exist, use any metric.modelstringrequiredThe name of the LLM currently using the tool.statisticsarrayrequiredArray of strings to include in the response. Pass as a JSON array. Accepted values: "bounce_rate", "bounced", "bounced_or_failed", "bounced_or_failed_rate", "click_rate", "click_to_open_rate", "clicks", "clicks_unique", "conversion_rate", "conversion_uniques", "conversions", "delivered", "delivery_rate", "failed", "failed_rate", "open_rate", "opens", "opens_unique", "recipients", "spam_complaint_rate", "spam_complaints", "unsubscribe_rate", "unsubscribe_uniques", "unsubscribes". Example: ["bounce_rate", "bounced", "bounced_or_failed"]detailFiltersarrayoptionalArray of detail filter objects for breakdown rows. Each object must have fieldName (e.g. "tags", "audiences.included.name"), operator, and value. Example: [{"fieldName": "tags", "operator": "equals", "value": "promo"}]filtersarrayoptionalArray of filter objects. Each object must have fieldName (e.g. "send_channel", "campaign_id"), operator (e.g. "equals", "contains-any"), and value. Example: [{"fieldName": "send_channel", "operator": "equals", "value": "email"}]groupByarrayoptionalArray of strings to include in the response. Pass as a JSON array. Accepted values: "campaign_id", "campaign_message_id", "campaign_message_name", "group", "group_name", "send_channel", "tag_id", "tag_name", "text_message_format", "variation", "variation_name". Example: ["campaign_id", "campaign_message_id", "campaign_message_name"]groupByAudiencebooleanoptionalIf true, also return an aggregation of stats grouped by audience (list/segment) and send channel, combining data across campaigns.timeframestringoptionalThe timeframe to query for data within. The max length a timeframe can be is 1 year. If unspecified, use 1 year.valueStatisticsarrayoptionalArray of strings to include in the response. Pass as a JSON array. Accepted values: "average_order_value", "conversion_value", "revenue_per_recipient". Example: ["average_order_value", "conversion_value", "revenue_per_recipient"]klaviyomcp_get_campaign_send_job#Get a campaign send job4 params
Get a campaign send job
idstringrequiredThe ID of the campaign to sendmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_campaign_send_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_campaigns#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.6 params
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.
channelstringrequiredWhich types of campaigns to return. To get all types of campaigns, call this tool for each channel.modelstringrequiredThe name of the LLM currently using the tool.campaignMessageFieldsarrayoptionalArray of strings to include in the response. Pass as a JSON array. Accepted values: "definition", "definition.channel", "definition.label", "definition.content", "definition.content.subject", "definition.content.preview_text", "definition.content.from_email", "definition.content.from_label", "definition.content.reply_to_email", "definition.content.cc_email", "definition.content.bcc_email", "definition.content.body", "definition.content.media_url", "definition.content.title", "definition.content.dynamic_image", "definition.render_options", "definition.render_options.shorten_links", "definition.render_options.add_org_prefix", "definition.render_options.add_info_link", "definition.render_options.add_opt_out_language", "definition.notification_type", "definition.kv_pairs", "definition.options", "definition.options.on_open", "definition.options.on_open.type", "definition.options.on_open.ios_deep_link", "definition.options.on_open.android_deep_link", "definition.options.badge", "definition.options.badge.display", "definition.options.badge.badge_options", "definition.options.badge.badge_options.badge_config", "definition.options.badge.badge_options.value", "definition.options.badge.badge_options.set_from_property", "definition.options.play_sound", "send_times", "created_at", "updated_at". Example: ["definition", "definition.channel", "definition.label"]fieldsarrayoptionalArray of strings to include in the response. Pass as a JSON array. Accepted values: "name", "status", "archived", "audiences", "audiences.included", "audiences.excluded", "send_options", "send_options.use_smart_sending", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "send_strategy", "send_strategy.method", "send_strategy.datetime", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_strategy.date", "created_at", "scheduled_at", "updated_at", "send_time". Example: ["name", "status", "archived"]filtersarrayoptionalArray of filter objects. Each object must have fieldName (e.g. "status", "name", "archived"), operator (e.g. "equals", "contains", "any"), and value. Example: [{"fieldName": "status", "operator": "equals", "value": "Draft"}]pageCursorstringoptionalOnly used for pagination. If links.next is null then you've reached the last page of results. Otherwise, pass links.next to this parameter to get the next page.klaviyomcp_get_catalog_categories#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.7 params
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.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_categorystringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"ids": {
"operators": [
"any"
]
},
"item.id": {
"operators": [
"equals"
]
},
"name": {
"operators": [
"contains"
]
}
}page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.page_sizestringoptionalDefault: 100. Min: 1. Max: 100.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.sortstringoptionalSort results by attribute. Prefix with `-` for descending order.klaviyomcp_get_catalog_category#Get a catalog category with the given category ID.4 params
Get a catalog category with the given category ID.
idstringrequiredThe catalog category ID is a compound ID (string), with format: `{integration}:::{catalog}:::{external_id}`. Currently, the only supported integration type is `$custom`, and the only supported catalog is `$default`.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_categorystringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_catalog_item#Get a specific catalog item with the given item ID.6 params
Get a specific catalog item with the given item ID.
idstringrequiredThe catalog item ID is a compound ID (string), with format: `{integration}:::{catalog}:::{external_id}`. Currently, the only supported integration type is `$custom`, and the only supported catalog is `$default`.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_itemstringoptionalReturn only a subset of fields in the response.fields_catalog_variantstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related variants.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_catalog_items#Get all catalog items in an account. (Also known as products)6 params
Get all catalog items in an account. (Also known as products)
modelstringrequiredThe name of the LLM currently using the tool.catalogVariantFieldsarrayoptionalArray of strings to include in the response. Pass as a JSON array. Accepted values: "external_id", "title", "description", "sku", "inventory_policy", "inventory_quantity", "price", "url", "image_full_url", "image_thumbnail_url", "images", "custom_metadata", "published", "created", "updated". Example: ["external_id", "title", "description"]fieldsarrayoptionalArray of strings to include in the response. Pass as a JSON array. Accepted values: "external_id", "title", "description", "price", "url", "image_full_url", "image_thumbnail_url", "images", "custom_metadata", "published", "created", "updated". Example: ["external_id", "title", "description"]filterarrayoptionalArray of filter objects. Each object must have fieldName (e.g. "title", "ids", "published"), operator (e.g. "contains", "any", "equals"), and value. Example: [{"fieldName": "title", "operator": "contains", "value": "shirt"}]pageCursorstringoptionalOnly used for pagination. If links.next is null then you've reached the last page of results. Otherwise, pass links.next to this parameter to get the next page.sortstringoptionalWhat to sort by.klaviyomcp_get_catalog_variant#Get a catalog item variant with the given variant ID.4 params
Get a catalog item variant with the given variant ID.
idstringrequiredThe catalog variant ID is a compound ID (string), with format: `{integration}:::{catalog}:::{external_id}`. Currently, the only supported integration type is `$custom`, and the only supported catalog is `$default`.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_variantstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_catalog_variants#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.7 params
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.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_variantstringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"ids": {
"operators": [
"any"
]
},
"item.id": {
"operators": [
"equals"
]
},
"sku": {
"operators": [
"equals"
]
},
"title": {
"operators": [
"contains"
]
},
"published": {
"operators": [
"equals"
],
"type": "bool"
}
}page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.page_sizestringoptionalDefault: 100. Min: 1. Max: 100.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.sortstringoptionalSort results by attribute. Prefix with `-` for descending order.klaviyomcp_get_coupon#Get a specific coupon with the given coupon ID.4 params
Get a specific coupon with the given coupon ID.
idstringrequiredThe internal id of a Coupon is equivalent to its external id stored within an integration.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_couponstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_coupon_code#Returns a Coupon Code specified by the given identifier.6 params
Returns a Coupon Code specified by the given identifier.
idstringrequiredThe id of a coupon code is a combination of its unique code and the id of the coupon it is associated with.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_couponstringoptionalReturn only a subset of fields in the response.fields_coupon_codestringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related coupon.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_coupon_codes#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.8 params
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.
filterstringrequiredAvailable filters for this endpoint:
{
"expires_at": {
"operators": [
"greater-or-equal",
"greater-than",
"less-or-equal",
"less-than"
],
"type": "datetime"
},
"status": {
"operators": [
"equals"
],
"enum": [
"UNASSIGNED",
"PROCESSING",
"ASSIGNED_TO_PROFILE",
"VERSION_NOT_ACTIVE",
"DELETING",
"USED"
]
},
"coupon.id": {
"operators": [
"any",
"equals"
]
},
"profile.id": {
"operators": [
"any",
"equals"
]
}
}modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_couponstringoptionalReturn only a subset of fields in the response.fields_coupon_codestringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related coupon.page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.page_sizestringoptionalDefault: 100. Min: 1. Max: 100.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_coupons#Get all coupons in an account.
To learn more, see our Coupons API guide.5 params
Get all coupons in an account. To learn more, see our Coupons API guide.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_couponstringoptionalReturn only a subset of fields in the response.page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.page_sizestringoptionalDefault: 100. Min: 1. Max: 100.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_custom_metric#Get a custom metric with the given custom metric ID.6 params
Get a custom metric with the given custom metric ID.
idstringrequiredThe ID of the custom metricmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_custom_metricstringoptionalReturn only a subset of fields in the response.fields_metricstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related metrics.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_custom_metrics#Get all custom metrics in an account.5 params
Get all custom metrics in an account.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_custom_metricstringoptionalReturn only a subset of fields in the response.fields_metricstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related metrics.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_customer_agent#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.4 params
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.
idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_customer_agentstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_download_for_event_bulk_export_job#Download the completed export as a gzipped CSV file.4 params
Download the completed export as a gzipped CSV file.
idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_downloadstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_download_for_profile_bulk_export_job#Download the completed export as a gzipped CSV file.4 params
Download the completed export as a gzipped CSV file.
idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_downloadstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_email_template#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.2 params
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.
modelstringrequiredThe name of the LLM currently using the tool.templateIdstringrequiredThe ID of the template returnklaviyomcp_get_event#Get an event with the given event ID.8 params
Get an event with the given event ID.
idstringrequiredID of the eventmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_attributionstringoptionalReturn only a subset of fields in the response.fields_eventstringoptionalReturn only a subset of fields in the response.fields_metricstringoptionalReturn only a subset of fields in the response.fields_profilestringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related attributions, metric, or profile.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_event_bulk_export_job#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.4 params
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.
job_idstringrequiredID of the job to retrieve.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_event_bulk_export_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_events#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.8 params
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.
modelstringrequiredThe name of the LLM currently using the tool.fieldsarrayoptionalArray of strings to include in the response. Pass as a JSON array. Accepted values: "timestamp", "event_properties", "datetime", "uuid". Example: ["timestamp", "event_properties", "datetime"]filterarrayoptionalArray of filter objects. Each object must have fieldName (e.g. "metric_id", "profile_id", "datetime"), operator (e.g. "equals", "greater-than"), and value. Example: [{"fieldName": "metric_id", "operator": "equals", "value": "abc123"}]metricFieldsarrayoptionalArray of strings to include in the response. Pass as a JSON array. Accepted values: "name", "created", "updated", "integration". Example: ["name", "created", "updated"]pageCursorstringoptionalOnly used for pagination. If links.next is null then you've reached the last page of results. Otherwise, pass links.next to this parameter to get the next page.pageSizeintegeroptionalNumber of results to return per page (1-1000). Default is 10. Keep small (10-50) when processing results in context. Use larger values only when paginating to export or aggregate data outside of context.profileFieldsarrayoptionalArray of strings to include in the response. Pass as a JSON array. Accepted values: "email", "phone_number", "external_id", "first_name", "last_name", "organization", "locale", "title", "image", "created", "updated", "last_event_date", "location", "location.address1", "location.address2", "location.city", "location.country", "location.latitude", "location.longitude", "location.region", "location.zip", "location.timezone", "location.ip", "properties". Example: ["email", "phone_number", "external_id"]sortstringoptionalWhat to sort by.klaviyomcp_get_flow#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.2 params
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.
idstringrequiredNo description.modelstringrequiredThe name of the LLM currently using the tool.klaviyomcp_get_flow_action#Get a flow action from a flow with the given flow action ID.7 params
Get a flow action from a flow with the given flow action ID.
idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_flowstringoptionalReturn only a subset of fields in the response.fields_flow_actionstringoptionalReturn only a subset of fields in the response.fields_flow_messagestringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related flow or flow-messages.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_flow_message#Get a flow message from a flow with the given flow message ID.7 params
Get a flow message from a flow with the given flow message ID.
idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_flow_actionstringoptionalReturn only a subset of fields in the response.fields_flow_messagestringoptionalReturn only a subset of fields in the response.fields_templatestringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related flow-action or template.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_flow_report#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.8 params
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.
conversionMetricIdstringrequiredID of the metric to be used for conversion statistics. You can get available metrics IDs using the get_metrics tool and just requesting the 'name' field. Do not use any additional filters on the get_metrics tool. If a specific metric is not requested, use the ID of the metric named 'Placed Order'. If it doesn't exist, use any metric.modelstringrequiredThe name of the LLM currently using the tool.statisticsarrayrequiredArray of strings to include in the response. Pass as a JSON array. Accepted values: "bounce_rate", "bounced", "bounced_or_failed", "bounced_or_failed_rate", "click_rate", "click_to_open_rate", "clicks", "clicks_unique", "conversion_rate", "conversion_uniques", "conversions", "delivered", "delivery_rate", "failed", "failed_rate", "open_rate", "opens", "opens_unique", "recipients", "spam_complaint_rate", "spam_complaints", "unsubscribe_rate", "unsubscribe_uniques", "unsubscribes". Example: ["bounce_rate", "bounced", "bounced_or_failed"]detailFiltersarrayoptionalArray of detail filter objects. Each object must have fieldName ("name"), operator ("contains-any"), and value (array). Example: [{"fieldName": "name", "operator": "contains-any", "value": ["welcome"]}]filtersarrayoptionalArray of filter objects. Each object must have fieldName (e.g. "send_channel", "flow_id"), operator (e.g. "equals", "contains-any"), and value. Example: [{"fieldName": "send_channel", "operator": "equals", "value": "email"}]groupByarrayoptionalArray of strings to include in the response. Pass as a JSON array. Accepted values: "flow_id", "flow_name", "flow_message_id", "flow_message_name", "send_channel", "tag_id", "tag_name", "text_message_format", "variation", "variation_name". Example: ["flow_id", "flow_name", "flow_message_id"]timeframestringoptionalThe timeframe to query for data within. The max length a timeframe can be is 1 year. If unspecified, use 1 year.valueStatisticsarrayoptionalArray of strings to include in the response. Pass as a JSON array. Accepted values: "average_order_value", "conversion_value", "revenue_per_recipient". Example: ["average_order_value", "conversion_value", "revenue_per_recipient"]klaviyomcp_get_flows#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.5 params
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.
modelstringrequiredThe name of the LLM currently using the tool.fieldsarrayoptionalArray of strings to include in the response. Pass as a JSON array. Accepted values: "name", "status", "archived", "created", "updated", "trigger_type". Example: ["name", "status", "archived"]filtersarrayoptionalArray of filter objects to narrow results. Each object must have fieldName (e.g. "status", "name", "trigger_type"), operator (e.g. "equals", "contains", "any"), and value. Example: [{"fieldName": "status", "operator": "equals", "value": "live"}]pageCursorstringoptionalOnly used for pagination. If links.next is null then you've reached the last page of results. Otherwise, pass links.next to this parameter to get the next page.pageSizeintegeroptionalNumber of results to return per page (1-100)klaviyomcp_get_flows_triggered_by_list#Get all flows where the given list ID is being used as the trigger.4 params
Get all flows where the given list ID is being used as the trigger.
idstringrequiredPrimary key that uniquely identifies this list. Generated by Klaviyo.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_flowstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_flows_triggered_by_metric#Get all flows where the given metric is being used as the trigger.4 params
Get all flows where the given metric is being used as the trigger.
idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_flowstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_flows_triggered_by_segment#Get all flows where the given segment ID is being used as the trigger.4 params
Get all flows where the given segment ID is being used as the trigger.
idstringrequiredPrimary key that uniquely identifies this segment. Generated by Klaviyo.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_flowstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_form#Get the form with the given ID.4 params
Get the form with the given ID.
idstringrequiredThe ID of the formmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_formstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_form_version#Get the form version with the given ID.6 params
Get the form version with the given ID.
idstringrequiredThe ID of the form versionmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_formstringoptionalReturn only a subset of fields in the response.fields_form_versionstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related form.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_forms#Get all forms in an account.7 params
Get all forms in an account.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_formstringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"id": {
"operators": [
"any",
"equals"
]
},
"name": {
"operators": [
"any",
"contains",
"equals"
]
},
"ab_test": {
"operators": [
"equals"
],
"type": "bool"
},
"updated_at": {
"operators": [
"greater-or-equal",
"greater-than",
"less-or-equal",
"less-than"
],
"type": "datetime"
},
"created_at": {
"operators": [
"greater-or-equal",
"greater-than",
"less-or-equal",
"less-than"
],
"type": "datetime"
},
"status": {
"operators": [
"equals"
],
"enum": [
"live",
"draft"
]
}
}page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.page_sizestringoptionalDefault: 20. Min: 1. Max: 100.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.sortstringoptionalSort results by attribute. Prefix with `-` for descending order.klaviyomcp_get_image#Get the image with the given image ID.4 params
Get the image with the given image ID.
idstringrequiredThe ID of the imagemodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_imagestringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_images#Get all images in an account.7 params
Get all images in an account.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_imagestringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"id": {
"operators": [
"any",
"equals"
]
},
"updated_at": {
"operators": [
"greater-or-equal",
"greater-than",
"less-or-equal",
"less-than"
],
"type": "datetime"
},
"format": {
"operators": [
"any",
"equals"
]
},
"name": {
"operators": [
"any",
"contains",
"ends-with",
"equals",
"starts-with"
]
},
"size": {
"operators": [
"greater-or-equal",
"greater-than",
"less-or-equal",
"less-than"
],
"type": "int"
},
"hidden": {
"operators": [
"any",
"equals"
],
"type": "bool"
}
}page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.page_sizestringoptionalDefault: 20. Min: 1. Max: 100.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.sortstringoptionalSort results by attribute. Prefix with `-` for descending order.klaviyomcp_get_list#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}3 params
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}
idstringrequiredNo description.modelstringrequiredThe name of the LLM currently using the tool.includeProfileCountbooleanoptionalWhether to include the number of profiles. Only set to true if this is requested.klaviyomcp_get_lists#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}5 params
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}
modelstringrequiredThe name of the LLM currently using the tool.fieldsarrayoptionalArray of strings to include in the response. Pass as a JSON array. Accepted values: "name", "created", "updated", "opt_in_process". Example: ["name", "created", "updated"]filterarrayoptionalArray of filter objects. Each object must have fieldName (e.g. "name", "id"), operator (e.g. "equals", "any"), and value. Example: [{"fieldName": "name", "operator": "equals", "value": "My List"}]pageCursorstringoptionalOnly used for pagination. If links.next is null then you've reached the last page of results. Otherwise, pass links.next to this parameter to get the next page.sortstringoptionalWhat to sort by.klaviyomcp_get_mapped_metric#Get the mapped metric with the given ID.7 params
Get the mapped metric with the given ID.
idstringrequiredThe type of mapping.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_custom_metricstringoptionalReturn only a subset of fields in the response.fields_mapped_metricstringoptionalReturn only a subset of fields in the response.fields_metricstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related custom-metric or metric.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_mapped_metrics#Get all mapped metrics in an account.6 params
Get all mapped metrics in an account.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_custom_metricstringoptionalReturn only a subset of fields in the response.fields_mapped_metricstringoptionalReturn only a subset of fields in the response.fields_metricstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related custom-metric or metric.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_messaging_sender_registration_id_for_text_messaging_sender#Return the most-recent registration for the given sender.3 params
Return the most-recent registration for the given sender.
idstringrequiredThe unique identifier of the text-messaging sender.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_metric#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}2 params
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}
metricIdstringrequiredThe ID of the metric to returnmodelstringrequiredThe name of the LLM currently using the tool.klaviyomcp_get_metric_property#Get a metric property with the given metric property ID.7 params
Get a metric property with the given metric property ID.
idstringrequiredThe ID of the metric propertymodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.additional_fields_metric_propertystringoptionalRequest additional fields not included by default in the response. Supported values: 'sample_values'fields_metricstringoptionalReturn only a subset of fields in the response.fields_metric_propertystringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related metric.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_metrics#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}4 params
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}
modelstringrequiredThe name of the LLM currently using the tool.fieldsarrayoptionalArray of strings to include in the response. Pass as a JSON array. Accepted values: "name", "created", "updated", "integration". Example: ["name", "created", "updated"]filterarrayoptionalArray of filter objects. Each object must have fieldName (e.g. "integration.name", "integration.category"), operator ("equals"), and value. Example: [{"fieldName": "integration.name", "operator": "equals", "value": "Shopify"}]pageCursorstringoptionalOnly used for pagination. If links.next is null then you've reached the last page of results. Otherwise, pass links.next to this parameter to get the next page.klaviyomcp_get_profile#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}2 params
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}
idstringrequiredThe profile ID to retrieve.modelstringrequiredThe name of the LLM currently using the tool.klaviyomcp_get_profile_bulk_export_job#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.4 params
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.
job_idstringrequiredID of the job to retrieve.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_profile_bulk_export_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_profiles#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}6 params
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}
modelstringrequiredThe name of the LLM currently using the tool.fieldsarrayoptionalArray of strings to include in the response. Pass as a JSON array. Accepted values: "email", "phone_number", "external_id", "first_name", "last_name", "organization", "locale", "title", "image", "created", "updated", "last_event_date", "location", "location.address1", "location.address2", "location.city", "location.country", "location.latitude", "location.longitude", "location.region", "location.zip", "location.timezone", "location.ip", "properties". Example: ["email", "phone_number", "external_id"]filtersarrayoptionalArray of filter objects. Each object must have fieldName (e.g. "email", "id", "phone_number"), operator (e.g. "equals", "any"), and value. Example: [{"fieldName": "email", "operator": "equals", "value": "user@example.com"}]pageCursorstringoptionalOnly used for pagination. If links.next is null then you've reached the last page of results. Otherwise, pass links.next to this parameter to get the next page.pageSizeintegeroptionalNumber of results to return per page (1-100)sortstringoptionalWhat to sort by.klaviyomcp_get_push_token#Return a specific push token based on its ID.6 params
Return a specific push token based on its ID.
idstringrequiredThe value of the push tokenmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_profilestringoptionalReturn only a subset of fields in the response.fields_push_tokenstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related profile.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_push_tokens#Return push tokens associated with company.8 params
Return push tokens associated with company.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_profilestringoptionalReturn only a subset of fields in the response.fields_push_tokenstringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"id": {
"operators": [
"equals"
]
},
"profile.id": {
"operators": [
"equals"
]
},
"enablement_status": {
"operators": [
"equals"
],
"enum": [
"AUTHORIZED",
"UNAUTHORIZED",
"DENIED",
"PROVISIONAL",
"NOT_DETERMINED"
]
},
"platform": {
"operators": [
"equals"
],
"enum": [
"ios",
"android"
]
}
}includestringoptionalInclude related profile.page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.page_sizestringoptionalDefault: 20. Min: 1. Max: 100.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_review#Get the review with the given ID.6 params
Get the review with the given ID.
idstringrequiredThe ID of the reviewmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_eventstringoptionalReturn only a subset of fields in the response.fields_reviewstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related events.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_reviews#Get all reviews.9 params
Get all reviews.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_eventstringoptionalReturn only a subset of fields in the response.fields_reviewstringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"created": {
"operators": [
"greater-or-equal",
"less-or-equal"
],
"type": "datetime"
},
"rating": {
"operators": [
"any",
"equals",
"greater-or-equal",
"less-or-equal"
],
"type": "int"
},
"id": {
"operators": [
"any",
"equals"
]
},
"item.id": {
"operators": [
"any",
"equals"
]
},
"content": {
"operators": [
"contains"
]
},
"status": {
"operators": [
"equals"
],
"enum": [
"published",
"unpublished",
"rejected",
"featured",
"pending",
"all"
]
},
"review_type": {
"operators": [
"equals"
],
"enum": [
"question",
"review",
"rating",
"store"
]
},
"verified": {
"operators": [
"equals"
],
"type": "bool"
}
}includestringoptionalInclude related events.page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.page_sizestringoptionalDefault: 20. Min: 1. Max: 100.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.sortstringoptionalSort results by attribute. Prefix with `-` for descending order.klaviyomcp_get_segment#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}3 params
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}
modelstringrequiredThe name of the LLM currently using the tool.segmentIdstringrequiredNo description.includeProfileCountbooleanoptionalWhether to include the number of profiles. Only set to true if this is requested.klaviyomcp_get_segments#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}5 params
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}
modelstringrequiredThe name of the LLM currently using the tool.fieldsarrayoptionalArray of strings to include in the response. Pass as a JSON array. Accepted values: "name", "definition", "definition.condition_groups", "created", "updated", "is_active", "is_processing", "is_starred". Example: ["name", "definition", "definition.condition_groups"]filtersarrayoptionalArray of filter objects. Each object must have fieldName (e.g. "name", "id", "is_active"), operator (e.g. "equals", "any"), and value. Example: [{"fieldName": "name", "operator": "equals", "value": "Active Users"}]pageCursorstringoptionalOnly used for pagination. If links.next is null then you've reached the last page of results. Otherwise, pass links.next to this parameter to get the next page.sortstringoptionalWhat to sort by.klaviyomcp_get_sending_domain#Get the sending domain with the given ID.4 params
Get the sending domain with the given ID.
idstringrequiredThe ID of the sending domain.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_sending_domainstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_sending_domains#List all sending domains configured for the account.5 params
List all sending domains configured for the account.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_sending_domainstringoptionalReturn only a subset of fields in the response.page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.page_sizestringoptionalDefault: 20. Min: 1. Max: 20.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_skills_for_agent_tool#List Agent Skill resources that can call this Agent Tool.6 params
List Agent Skill resources that can call this Agent Tool.
idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_agent_skillstringoptionalReturn only a subset of fields in the response.page_cursorstringoptionalPage cursorpage_sizestringoptionalDefault: 50. Min: 1. Max: 100.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_tag#Retrieve the tag with the given tag ID.6 params
Retrieve the tag with the given tag ID.
idstringrequiredThe Tag IDmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_tagstringoptionalReturn only a subset of fields in the response.fields_tag_groupstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related tag-group.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_tag_group#Retrieve the tag group with the given tag group ID.4 params
Retrieve the tag group with the given tag group ID.
idstringrequiredThe Tag Group IDmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_tag_groupstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_tag_groups#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.7 params
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.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_tag_groupstringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"name": {
"operators": [
"contains",
"ends-with",
"equals",
"starts-with"
]
},
"exclusive": {
"operators": [
"equals"
],
"type": "bool"
},
"default": {
"operators": [
"equals"
],
"type": "bool"
}
}page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.page_sizestringoptionalDefault: 25. Min: 1. Max: 25.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.sortstringoptionalSort results by attribute. Prefix with `-` for descending order.klaviyomcp_get_tags#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.9 params
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.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_tagstringoptionalReturn only a subset of fields in the response.fields_tag_groupstringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"name": {
"operators": [
"contains",
"ends-with",
"equals",
"starts-with"
]
}
}includestringoptionalInclude related tag-group.page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.page_sizestringoptionalDefault: 50. Min: 1. Max: 50.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.sortstringoptionalSort results by attribute. Prefix with `-` for descending order.klaviyomcp_get_text_messaging_configuration#Retrieve the SMS account for the calling company.4 params
Retrieve the SMS account for the calling company.
idstringrequiredThe unique identifier for this text messaging configuration (must equal the caller's company id).modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_text_messaging_configurationstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_text_messaging_sender#Retrieve a single text-messaging sender by ID.6 params
Retrieve a single text-messaging sender by ID.
idstringrequiredThe unique identifier for the text-messaging sender.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_text_messaging_senderstringoptionalReturn only a subset of fields in the response.fields_text_messaging_sender_registrationstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related text-messaging-sender-registration.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_text_messaging_sender_registration#Retrieve a sender registration by ID.6 params
Retrieve a sender registration by ID.
idstringrequiredThe unique identifier of the sender registration.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_text_messaging_senderstringoptionalReturn only a subset of fields in the response.fields_text_messaging_sender_registrationstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related text-messaging-sender.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_text_messaging_senders#List the calling company's text-messaging senders.8 params
List the calling company's text-messaging senders.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_text_messaging_senderstringoptionalReturn only a subset of fields in the response.fields_text_messaging_sender_registrationstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related text-messaging-sender-registration.page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.page_sizestringoptionalDefault: 10. Min: 1. Max: 20.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.sortstringoptionalSort results by attribute. Prefix with `-` for descending order.klaviyomcp_get_translation#Get a translation collection by ID. Returns localization settings (source/target locales, channel, fallback). Set includeValues to true to also get the translation values (source text and translations per locale for each translatable field).4 params
Get a translation collection by ID. Returns localization settings (source/target locales, channel, fallback). Set includeValues to true to also get the translation values (source text and translations per locale for each translatable field).
modelstringrequiredThe name of the LLM currently using the tool.translationIdstringrequiredThe ID of the translationincludestringoptionalRelated resource to include in the responseincludeValuesbooleanoptionalInclude translation values (source text and translations per locale)klaviyomcp_get_translations#List all translation collections in the account. Each translation links a Klaviyo resource (campaign variation, flow message, template, etc.) to its localization settings. Supports filtering by channel, resource_type, and related_resource_id.4 params
List all translation collections in the account. Each translation links a Klaviyo resource (campaign variation, flow message, template, etc.) to its localization settings. Supports filtering by channel, resource_type, and related_resource_id.
modelstringrequiredThe name of the LLM currently using the tool.filterstringoptionalFilter string, e.g. equals(channel,"email") or equals(resource_type,"campaign-variation")pageCursorstringoptionalCursor for pagination (from previous response)pageSizenumberoptionalPage size (1-100, default 20)klaviyomcp_get_universal_content#Get the universal content with the given ID.4 params
Get the universal content with the given ID.
idstringrequiredThe ID of the universal contentmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_template_universal_contentstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_webhook#Get the webhook with the given ID.6 params
Get the webhook with the given ID.
idstringrequiredThe ID of the webhook.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_webhookstringoptionalReturn only a subset of fields in the response.fields_webhook_topicstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related webhook-topics.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_webhook_topic#Get the webhook topic with the given ID.4 params
Get the webhook topic with the given ID.
idstringrequiredThe ID of the webhook topic.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_webhook_topicstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_webhook_topics#Get all webhook topics in a Klaviyo account.3 params
Get all webhook topics in a Klaviyo account.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_webhook_topicstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_get_webhooks#Get all webhooks in an account.5 params
Get all webhooks in an account.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_webhookstringoptionalReturn only a subset of fields in the response.fields_webhook_topicstringoptionalReturn only a subset of fields in the response.includestringoptionalInclude related webhook-topics.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_list_agent_knowledge#Returns every Agent Knowledge item for the calling company,
including items that are pending, indexing, indexed, failed, or
rejected.
To add a snippet or webpage, POST to this endpoint with the
appropriate nested ``source.source_type``; upload files with the
file upload endpoint.6 params
Returns every Agent Knowledge item for the calling company, including items that are pending, indexing, indexed, failed, or rejected. To add a snippet or webpage, POST to this endpoint with the appropriate nested ``source.source_type``; upload files with the file upload endpoint.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_agent_knowledgestringoptionalReturn only a subset of fields in the response.page_cursorstringoptionalPage cursorpage_sizestringoptionalDefault: 50. Min: 1. Max: 100.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.sortstringoptionalNo description.klaviyomcp_list_billing_usage#List current-period usage and plan caps for the account.4 params
List current-period usage and plan caps for the account.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_billing_usagestringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"id": {
"operators": [
"any"
]
}
}prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_list_customer_agent_conversations#Returns Customer Agent conversations for the calling company.
Results are ordered with newest conversations first. Supports
filters by ``status`` and ``created_at`` time window, plus
cursor pagination for large pulls. Use to audit production
behavior, spot-check escalations, or feed conversation samples
back into Configure decisions.6 params
Returns Customer Agent conversations for the calling company. Results are ordered with newest conversations first. Supports filters by ``status`` and ``created_at`` time window, plus cursor pagination for large pulls. Use to audit production behavior, spot-check escalations, or feed conversation samples back into Configure decisions.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_customer_agent_conversationstringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"created_at": {
"operators": [
"greater-or-equal"
],
"type": "datetime"
},
"status": {
"operators": [
"equals"
],
"enum": [
"open",
"routed-to-team",
"resolved-by-ai",
"closed"
]
}
}page_cursorstringoptionalPage cursorpage_sizestringoptionalDefault: 50. Min: 1. Max: 100.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_list_email_templates#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.8 params
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.
modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.additional_fields_templatestringoptionalRequest additional fields not included by default in the response. Supported values: 'definition'fields_templatestringoptionalReturn only a subset of fields in the response.filterstringoptionalAvailable filters for this endpoint:
{
"id": {
"operators": [
"any",
"equals"
]
},
"name": {
"operators": [
"any",
"contains",
"equals"
]
},
"created": {
"operators": [
"equals",
"greater-or-equal",
"greater-than",
"less-or-equal",
"less-than"
],
"type": "datetime"
},
"updated": {
"operators": [
"equals",
"greater-or-equal",
"greater-than",
"less-or-equal",
"less-than"
],
"type": "datetime"
}
}page_cursorstringoptionalCursor returned in the previous response's `links.next`; supply to fetch the next page of results.page_sizestringoptionalDefault: 10. Min: 1. Max: 10.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.sortstringoptionalSort results by attribute. Prefix with `-` for descending order.klaviyomcp_merge_profiles#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](https://help.klaviyo.com/hc/en-us/articles/115005073847#merge-2-profiles3).
This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.5 params
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](https://help.klaviyo.com/hc/en-us/articles/115005073847#merge-2-profiles3). This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_profilestringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.user_confirmationstringoptionalLeave unset. This action requires the user's confirmation; the first call fails with instructions that include the exact value to supply here once the user has approved.klaviyomcp_query_customer_agent_skill_values#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.4 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_customer_agent_skill_values_reportstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_query_customer_agent_values#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.4 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_customer_agent_values_reportstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_query_form_series#Returns the requested form analytics series data.4 params
Returns the requested form analytics series data.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_form_series_reportstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_query_form_values#Returns the requested form analytics values data.4 params
Returns the requested form analytics values data.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_form_values_reportstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_query_metric_aggregates#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 reports12 params
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
endDatestringrequiredEnd of the date range (exclusive) in ISO 8601 format without timezone offset, e.g. '2024-12-31T23:59:59'. Do not include a 'Z' suffix or timezone offset; use the timezone parameter instead. The date range must not exceed 1 year.measurementsarrayrequiredArray of strings to include in the response. Pass as a JSON array. Accepted values: "count", "sum_value", "unique". Example: ["count", "sum_value", "unique"]metricIdstringrequiredThe ID of the metric to aggregate. Use the get_metrics tool to find available metric IDs. Common metrics include 'Placed Order', 'Opened Email', 'Clicked Email', etc.modelstringrequiredThe name of the LLM currently using the tool.startDatestringrequiredStart of the date range (inclusive) in ISO 8601 format without timezone offset, e.g. '2024-01-01T00:00:00'. Do not include a 'Z' suffix or timezone offset; use the timezone parameter instead. The date range must not exceed 1 year.additionalFilterstringoptionalOptional structured filter to narrow results by a single dimension. Only one additional filter is supported by the API.groupByarrayoptionalArray of strings to include in the response. Pass as a JSON array. Accepted values: "$attributed_channel", "$attributed_flow", "$attributed_message", "$attributed_variation", "$campaign_channel", "$flow", "$flow_channel", "$message", "$message_send_cohort", "$usage_amount", "$value_currency", "$variation", "$variation_send_cohort", "Bot Click", "Bounce Type", "Campaign Name", "Client Canonical", "Client Name", "Client Type", "Email Domain", "Failure Source", "Failure Type", "From Number", "From Phone Region", "Inbox Provider", "List", "Message Name", "Message Type", "Method", "Segment Count", "Subject", "To Number", "To Phone Region", "URL", "form_id". Example: ["$attributed_channel", "$attributed_flow", "$attributed_message"]intervalstringoptionalTime interval for grouping results: 'hour', 'day' (default), 'week', or 'month'pageCursorstringoptionalOnly used for pagination. If links.next is null then you've reached the last page of results. Otherwise, pass links.next to this parameter to get the next page.pageSizeintegeroptionalNumber of rows per page. Must be between 500 and 10,000 (default 500).sortstringoptionalSort results by a grouping dimension. Prefix with '-' for descending order (e.g., '-$attributed_flow'). The sort value must also be included in the 'groupBy' parameter. Only dimension-based sorting is supported.timezonestringoptionalTimezone for processing the query (e.g., 'America/New_York', 'US/Eastern'). Defaults to UTC.klaviyomcp_query_segment_series#Returns the requested segment analytics series data.4 params
Returns the requested segment analytics series data.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_segment_series_reportstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_query_segment_values#Returns the requested segment analytics values data.4 params
Returns the requested segment analytics values data.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_segment_values_reportstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_refresh_campaign_recipient_estimation#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.4 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_campaign_recipient_estimation_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_remove_categories_from_catalog_item#Delete catalog category relationships for the given item ID.4 params
Delete catalog category relationships for the given item ID.
bodyobjectrequiredNo description.idstringrequiredThe catalog item ID is a compound ID (string), with format: `{integration}:::{catalog}:::{external_id}`. Currently, the only supported integration type is `$custom`, and the only supported catalog is `$default`.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_remove_items_from_catalog_category#Delete item relationships for the given category ID.4 params
Delete item relationships for the given category ID.
bodyobjectrequiredNo description.idstringrequiredThe catalog category ID is a compound ID (string), with format: `{integration}:::{catalog}:::{external_id}`. Currently, the only supported integration type is `$custom`, and the only supported catalog is `$default`.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_remove_profiles_from_list#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.4 params
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.
bodyobjectrequiredNo description.idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_remove_tag_from_campaigns#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.4 params
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.
bodyobjectrequiredNo description.idstringrequiredThe Tag IDmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_remove_tag_from_flows#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.4 params
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.
bodyobjectrequiredNo description.idstringrequiredThe Tag IDmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_remove_tag_from_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.4 params
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.
bodyobjectrequiredNo description.idstringrequiredThe Tag IDmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_remove_tag_from_segments#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.4 params
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.
bodyobjectrequiredNo description.idstringrequiredThe Tag IDmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_render_email_template#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.4 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_templatestringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_request_profile_deletion#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](https://www.klaviyo.com/account/deleted).
For more information on the deletion process, please refer to our [Help Center docs on how to handle GDPR and CCPA deletion requests](https://help.klaviyo.com/hc/en-us/articles/360004217631-How-to-Handle-GDPR-Requests#record-gdpr-and-ccpa%20%20-deletion-requests2).
This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.4 params
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](https://www.klaviyo.com/account/deleted). For more information on the deletion process, please refer to our [Help Center docs on how to handle GDPR and CCPA deletion requests](https://help.klaviyo.com/hc/en-us/articles/360004217631-How-to-Handle-GDPR-Requests#record-gdpr-and-ccpa%20%20-deletion-requests2). This action requires explicit user confirmation. Call the tool normally first; it will fail with instructions for obtaining the user's approval and retrying.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.user_confirmationstringoptionalLeave unset. This action requires the user's confirmation; the first call fails with instructions that include the exact value to supply here once the user has approved.klaviyomcp_retrieve_customer_agent_conversation#Returns one Customer Agent conversation with its status and message
turns.4 params
Returns one Customer Agent conversation with its status and message turns.
idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_customer_agent_conversationstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_send_campaign#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.5 params
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.
bodyobjectrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_campaign_send_jobstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.user_confirmationstringoptionalLeave unset. This action requires the user's confirmation; the first call fails with instructions that include the exact value to supply here once the user has approved.klaviyomcp_subscribe_profile_to_marketing#Subscribe a profile to marketing for a given channel. If a profile doesn't already exist, it will be created. Returns 'Success' if successful.6 params
Subscribe a profile to marketing for a given channel. If a profile doesn't already exist, it will be created. Returns 'Success' if successful.
channelsarrayrequiredArray of strings to include in the response. Pass as a JSON array. Accepted values: "email", "sms". Example: ["email", "sms"]modelstringrequiredThe name of the LLM currently using the tool.emailAddressstringoptionalThe email address of the profile to subscribe. Required if email channel is included.listIdstringoptionalThe ID of the list to subscribe the profile to if provided.phoneNumberstringoptionalThe phone number of the profile to subscribe. Required if sms channel is included.profileIdstringoptionalThe ID of the profile to subscribe if the profile already exists and has an ID.klaviyomcp_tag_campaigns#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.4 params
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.
bodyobjectrequiredNo description.idstringrequiredThe Tag IDmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_tag_flows#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.4 params
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.
bodyobjectrequiredNo description.idstringrequiredThe Tag IDmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_tag_lists#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.4 params
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.
bodyobjectrequiredNo description.idstringrequiredThe Tag IDmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_tag_segments#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.4 params
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.
bodyobjectrequiredNo description.idstringrequiredThe Tag IDmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_unsubscribe_profile_from_marketing#Unsubscribe a profile from marketing for a given channel. Returns 'Success' if successful.5 params
Unsubscribe a profile from marketing for a given channel. Returns 'Success' if successful.
channelsarrayrequiredArray of strings to include in the response. Pass as a JSON array. Accepted values: "email", "sms". Example: ["email", "sms"]modelstringrequiredThe name of the LLM currently using the tool.emailAddressstringoptionalThe email address of the profile to unsubscribe. Required if email channel is included.listIdstringoptionalThe ID of the list to unsubscribe the profile to if provided.phoneNumberstringoptionalThe phone number of the profile to unsubscribe. Required if sms channel is included.klaviyomcp_update_agent_knowledge#Patches editable fields on an Agent Knowledge item.
For snippets, you can update ``title`` and ``content``. Re-
indexing on content change is automatic.5 params
Patches editable fields on an Agent Knowledge item. For snippets, you can update ``title`` and ``content``. Re- indexing on content change is automatic.
bodyobjectrequiredNo description.idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_agent_knowledgestringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_agent_skill#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.5 params
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.
bodyobjectrequiredNo description.idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_agent_skillstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_agent_tool#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.5 params
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.
bodyobjectrequiredNo description.idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_agent_toolstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_brand_button#Update the brand button with the given ID.5 params
Update the brand button with the given ID.
bodyobjectrequiredNo description.idstringrequiredThe ID of the brand button.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_brand_buttonstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_brand_color#Update the brand color group with the given ID.5 params
Update the brand color group with the given ID.
bodyobjectrequiredNo description.idstringrequiredThe ID of the brand color group.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_brand_colorstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_brand_email_default#Partial update of the brand email defaults for the authenticated account.5 params
Partial update of the brand email defaults for the authenticated account.
bodyobjectrequiredNo description.idstringrequiredThe ID of the brand email defaults (must equal the account ID).modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_brand_email_defaultstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_brand_logo#Update the brand logo with the given ID.5 params
Update the brand logo with the given ID.
bodyobjectrequiredNo description.idstringrequiredThe ID of the brand logo.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_brand_logostringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_brand_social_group#Update the brand social group with the given ID.5 params
Update the brand social group with the given ID.
bodyobjectrequiredNo description.idstringrequiredThe ID of the brand social group.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_brand_social_groupstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_brand_voice#Update the brand voice for the authenticated company.5 params
Update the brand voice for the authenticated company.
bodyobjectrequiredNo description.idstringrequiredThe company ID. Must match the authenticated account.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_brand_voicestringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_campaign#Update a campaign with the given campaign ID.5 params
Update a campaign with the given campaign ID.
bodyobjectrequiredNo description.idstringrequiredThe campaign ID to be retrievedmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_campaignstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_campaign_message#Update a campaign message5 params
Update a campaign message
bodyobjectrequiredNo description.idstringrequiredThe message ID to be retrievedmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_campaign_messagestringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_catalog_category#Update a catalog category with the given category ID.5 params
Update a catalog category with the given category ID.
bodyobjectrequiredNo description.idstringrequiredThe catalog category ID is a compound ID (string), with format: `{integration}:::{catalog}:::{external_id}`. Currently, the only supported integration type is `$custom`, and the only supported catalog is `$default`.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_categorystringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_catalog_item#Update a catalog item with the given item ID.5 params
Update a catalog item with the given item ID.
bodyobjectrequiredNo description.idstringrequiredThe catalog item ID is a compound ID (string), with format: `{integration}:::{catalog}:::{external_id}`. Currently, the only supported integration type is `$custom`, and the only supported catalog is `$default`.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_itemstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_catalog_variant#Update a catalog item variant with the given variant ID.5 params
Update a catalog item variant with the given variant ID.
bodyobjectrequiredNo description.idstringrequiredThe catalog variant ID is a compound ID (string), with format: `{integration}:::{catalog}:::{external_id}`. Currently, the only supported integration type is `$custom`, and the only supported catalog is `$default`.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_catalog_variantstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_categories_for_catalog_item#Update catalog category relationships for the given item ID.4 params
Update catalog category relationships for the given item ID.
bodyobjectrequiredNo description.idstringrequiredThe catalog item ID is a compound ID (string), with format: `{integration}:::{catalog}:::{external_id}`. Currently, the only supported integration type is `$custom`, and the only supported catalog is `$default`.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_coupon#*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`5 params
*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`
bodyobjectrequiredNo description.idstringrequiredThe internal id of a Coupon is equivalent to its external id stored within an integration.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_couponstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_coupon_code#Updates a coupon code specified by the given identifier synchronously. We allow updating the 'status' and
'expires_at' of coupon codes.5 params
Updates a coupon code specified by the given identifier synchronously. We allow updating the 'status' and 'expires_at' of coupon codes.
bodyobjectrequiredNo description.idstringrequiredThe id of a coupon code is a combination of its unique code and the id of the coupon it is associated with.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_coupon_codestringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_custom_metric#Update a custom metric with the given custom metric ID.5 params
Update a custom metric with the given custom metric ID.
bodyobjectrequiredNo description.idstringrequiredThe ID of the custom metricmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_custom_metricstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_customer_agent#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.5 params
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.
bodyobjectrequiredNo description.idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_customer_agentstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_customer_agent_conversation#Close a Customer Agent conversation.
``status`` is the only updatable attribute and only ``closed``
is accepted (the DTO's ``Literal`` constraint enforces this
before this handler runs).5 params
Close a Customer Agent conversation. ``status`` is the only updatable attribute and only ``closed`` is accepted (the DTO's ``Literal`` constraint enforces this before this handler runs).
bodyobjectrequiredNo description.idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_customer_agent_conversationstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_dnd_email_template#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.6 params
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.
bodyobjectrequiredNo description.idstringrequiredThe ID of templatemodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.additional_fields_templatestringoptionalRequest additional fields not included by default in the response. Supported values: 'definition'fields_templatestringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_email_template#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.6 params
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.
bodyobjectrequiredNo description.idstringrequiredThe ID of templatemodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.additional_fields_templatestringoptionalRequest additional fields not included by default in the response. Supported values: 'definition'fields_templatestringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_flow#Update the status of a flow with the given flow ID, and all actions in that flow.5 params
Update the status of a flow with the given flow ID, and all actions in that flow.
bodyobjectrequiredNo description.idstringrequiredID of the Flow to update. Ex: XVTP5QmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_flowstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_flow_action#Update a flow action.5 params
Update a flow action.
bodystringrequiredNo description.idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_flow_actionstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_image#Update the image with the given image ID.5 params
Update the image with the given image ID.
bodyobjectrequiredNo description.idstringrequiredThe ID of the imagemodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_imagestringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_image_for_campaign_message#Update the image associated with a campaign message. Provide the ID of an existing image — e.g. one uploaded with upload_image_from_url.4 params
Update the image associated with a campaign message. Provide the ID of an existing image — e.g. one uploaded with upload_image_from_url.
bodyobjectrequiredNo description.idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_items_for_catalog_category#Update item relationships for the given category ID.4 params
Update item relationships for the given category ID.
bodyobjectrequiredNo description.idstringrequiredThe catalog category ID is a compound ID (string), with format: `{integration}:::{catalog}:::{external_id}`. Currently, the only supported integration type is `$custom`, and the only supported catalog is `$default`.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_list#Update the name of a list with the given list ID.5 params
Update the name of a list with the given list ID.
bodyobjectrequiredNo description.idstringrequiredPrimary key that uniquely identifies this list. Generated by Klaviyo.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_liststringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_mapped_metric#Update the mapped metric with the given ID.5 params
Update the mapped metric with the given ID.
bodyobjectrequiredNo description.idstringrequiredThe type of mapping.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_mapped_metricstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_profile#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}2 params
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}
inputobjectrequiredProfilePartialUpdateQuerymodelstringrequiredThe name of the LLM currently using the tool.klaviyomcp_update_review#Update a review.5 params
Update a review.
bodyobjectrequiredNo description.idstringrequiredThe id of the review (review ID).modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_reviewstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_segment#Update a segment with the given segment ID.5 params
Update a segment with the given segment ID.
bodyobjectrequiredNo description.idstringrequiredNo description.modelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_segmentstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_tag#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.4 params
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.
bodyobjectrequiredNo description.idstringrequiredThe Tag IDmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_tag_group#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.4 params
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.
bodyobjectrequiredNo description.idstringrequiredThe Tag Group IDmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_update_translation#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 includeValues=true, then provide the values array with updated translations. Each value has an 'id' (composite key like 'scheduled_message::abc::subject') and a 'translations' object mapping locale codes to translated text.6 params
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 includeValues=true, then provide the values array with updated translations. Each value has an 'id' (composite key like 'scheduled_message::abc::subject') and a 'translations' object mapping locale codes to translated text.
modelstringrequiredThe name of the LLM currently using the tool.translationIdstringrequiredThe ID of the translation to updatefallbackLocalestringoptionalUpdated fallback localesourceLocalestringoptionalUpdated source localetargetLocalesarrayoptionalUpdated target locales. Pass as a JSON array of values.valuesarrayoptionalTranslation values to import. Pass as a JSON array of values.klaviyomcp_update_universal_content#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`.5 params
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`.
bodyobjectrequiredNo description.idstringrequiredThe ID of the template universal contentmodelstringrequiredThe name and version of the LLM currently using the tool, as specifically as known.fields_template_universal_contentstringoptionalReturn only a subset of fields in the response.prompt_intentstringoptionalUser's goal for this request in one sentence (the why, not the arguments), under 200 chars. Exclude PII and customer-specific values; refer to entities generically; omit if you can't.klaviyomcp_upload_image_from_url#Upload an image from a URL or data URI.3 params
Upload an image from a URL or data URI.
imageURLstringrequiredThe URL of the image to uploadmodelstringrequiredThe name of the LLM currently using the tool.namestringoptionalA name for the image. Defaults to the filename if omitted.