Skip to content
Scalekit Docs

Klaviyo MCP

Vendor MCP263 toolsOAuth 2.1/DCRMarketingCRM & Sales

Connect to Klaviyo MCP. Report, strategize & create with real-time Klaviyo data

Klaviyo MCP connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. 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>
  3. 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.actions
    const connector = 'klaviyomcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { 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 call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'klaviyomcp_get_account_details',
    toolInput: { model: 'YOUR_MODEL' },
    })
    console.log(result)

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

NameTypeRequiredDescription
bodyobjectrequiredNo description.
idstringrequiredThe ID of the currently sending campaign to cancel or revert
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_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.

NameTypeRequiredDescription
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``.

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

NameTypeRequiredDescription
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}``.

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

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

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

NameTypeRequiredDescription
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_social_group#Create a new brand social group.4 params

Create a new brand social group.

NameTypeRequiredDescription
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

NameTypeRequiredDescription
inputobjectrequiredCampaignCreateQuery
modelstringrequiredThe 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.

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

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

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

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

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

NameTypeRequiredDescription
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`.

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

NameTypeRequiredDescription
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}.

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

NameTypeRequiredDescription
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">&nbsp;<div>
modelstringrequiredThe name of the LLM currently using the tool.
namestringrequiredThe name of the template
hasEditableRegionsbooleanoptionalWhether 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.

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

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

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

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

NameTypeRequiredDescription
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}

NameTypeRequiredDescription
inputobjectrequiredProfileCreateQuery
modelstringrequiredThe 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.

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

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

NameTypeRequiredDescription
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).

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

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

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

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

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

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

NameTypeRequiredDescription
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).

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

NameTypeRequiredDescription
channelstringrequiredChannel for this translation
fallbackLocalestringrequiredFallback locale (e.g. 'en')
modelstringrequiredThe name of the LLM currently using the tool.
relationshipIdstringrequiredID of the related resource
relationshipTypestringrequiredType of related resource
sourceLocalestringrequiredSource 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`.

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

NameTypeRequiredDescription
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``.

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

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

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

NameTypeRequiredDescription
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_social_group#Delete the brand social group with the given ID.3 params

Delete the brand social group with the given ID.

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

NameTypeRequiredDescription
idstringrequiredThe campaign ID to be deleted
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_category#Delete a catalog category using the given category ID.3 params

Delete a catalog category using the given category ID.

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

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

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

NameTypeRequiredDescription
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

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

NameTypeRequiredDescription
idstringrequiredThe ID of the custom metric
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_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.

NameTypeRequiredDescription
idstringrequiredThe ID of template
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_flow#Delete a flow with the given flow ID.3 params

Delete a flow with the given flow ID.

NameTypeRequiredDescription
idstringrequiredID of the Flow to delete. Ex: XVTP5Q
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_form#Delete a given form.3 params

Delete a given form.

NameTypeRequiredDescription
idstringrequiredThe ID of the form
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_list#Delete a list with the given list ID.3 params

Delete a list with the given list ID.

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

NameTypeRequiredDescription
idstringrequiredThe value of the push token to delete
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_segment#Delete a segment with the given segment ID.3 params

Delete a segment with the given segment ID.

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

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

NameTypeRequiredDescription
idstringrequiredThe Tag ID
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_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.

NameTypeRequiredDescription
idstringrequiredThe Tag Group ID
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_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.

NameTypeRequiredDescription
modelstringrequiredThe name of the LLM currently using the tool.
translationIdstringrequiredThe ID of the translation to delete
klaviyomcp_delete_universal_content#Delete the universal content with the given ID.3 params

Delete the universal content with the given ID.

NameTypeRequiredDescription
idstringrequiredThe ID of the template universal content
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_webhook#Delete a webhook with the given ID.3 params

Delete a webhook with the given ID.

NameTypeRequiredDescription
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

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

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

NameTypeRequiredDescription
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 cursor
page_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``.

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

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

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

NameTypeRequiredDescription
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 cursor
page_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.

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

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

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

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

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

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

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

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

NameTypeRequiredDescription
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_logos#Get all brand logos for the authenticated account.5 params

Get all brand logos for the authenticated account.

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

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

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

NameTypeRequiredDescription
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`.

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

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

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

NameTypeRequiredDescription
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`.

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

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

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

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

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

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

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

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

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

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

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

NameTypeRequiredDescription
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`.

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

NameTypeRequiredDescription
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`.

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

NameTypeRequiredDescription
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

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

NameTypeRequiredDescription
idstringrequiredThe message ID to be retrieved
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.
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.

NameTypeRequiredDescription
idstringrequiredThe ID of the campaign for which to get the estimated number of recipients
modelstringrequiredThe 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.

NameTypeRequiredDescription
idstringrequiredThe ID of the campaign to get recipient estimation status
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_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.

NameTypeRequiredDescription
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

NameTypeRequiredDescription
idstringrequiredThe ID of the campaign to send
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.
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.

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

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

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

NameTypeRequiredDescription
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)

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

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

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

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

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

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

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

NameTypeRequiredDescription
idstringrequiredThe ID of the custom metric
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_custom_metrics#Get all custom metrics in an account.5 params

Get all custom metrics in an account.

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

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

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

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

NameTypeRequiredDescription
modelstringrequiredThe name of the LLM currently using the tool.
templateIdstringrequiredThe ID of the template return
klaviyomcp_get_event#Get an event with the given event ID.8 params

Get an event with the given event ID.

NameTypeRequiredDescription
idstringrequiredID of the event
modelstringrequiredThe 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.

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

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

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

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

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

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

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

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

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

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

NameTypeRequiredDescription
idstringrequiredThe ID of the form
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_get_form_version#Get the form version with the given ID.6 params

Get the form version with the given ID.

NameTypeRequiredDescription
idstringrequiredThe ID of the form version
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.
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.

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

NameTypeRequiredDescription
idstringrequiredThe ID of the image
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.
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.

NameTypeRequiredDescription
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}

NameTypeRequiredDescription
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}

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

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

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

NameTypeRequiredDescription
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}

NameTypeRequiredDescription
metricIdstringrequiredThe ID of the metric to return
modelstringrequiredThe 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.

NameTypeRequiredDescription
idstringrequiredThe ID of the metric property
modelstringrequiredThe 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}

NameTypeRequiredDescription
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}

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

NameTypeRequiredDescription
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}

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

NameTypeRequiredDescription
idstringrequiredThe value of the push token
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.
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.

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

NameTypeRequiredDescription
idstringrequiredThe ID of the review
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.
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.

NameTypeRequiredDescription
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}

NameTypeRequiredDescription
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}

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

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

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

NameTypeRequiredDescription
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 cursor
page_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.

NameTypeRequiredDescription
idstringrequiredThe Tag ID
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.
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.

NameTypeRequiredDescription
idstringrequiredThe Tag Group ID
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_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.

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

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

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

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

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

NameTypeRequiredDescription
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).

NameTypeRequiredDescription
modelstringrequiredThe name of the LLM currently using the tool.
translationIdstringrequiredThe ID of the translation
includestringoptionalRelated resource to include in the response
includeValuesbooleanoptionalInclude 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.

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

NameTypeRequiredDescription
idstringrequiredThe ID of the universal content
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_get_webhook#Get the webhook with the given ID.6 params

Get the webhook with the given ID.

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

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

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

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

NameTypeRequiredDescription
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 cursor
page_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.

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

NameTypeRequiredDescription
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 cursor
page_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.

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

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

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

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

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

NameTypeRequiredDescription
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

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

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

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

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

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

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

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

NameTypeRequiredDescription
bodyobjectrequiredNo description.
idstringrequiredThe Tag ID
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_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.

NameTypeRequiredDescription
bodyobjectrequiredNo description.
idstringrequiredThe Tag ID
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_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.

NameTypeRequiredDescription
bodyobjectrequiredNo description.
idstringrequiredThe Tag ID
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_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.

NameTypeRequiredDescription
bodyobjectrequiredNo description.
idstringrequiredThe Tag ID
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_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.

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

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

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

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

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

NameTypeRequiredDescription
bodyobjectrequiredNo description.
idstringrequiredThe Tag ID
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_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.

NameTypeRequiredDescription
bodyobjectrequiredNo description.
idstringrequiredThe Tag ID
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_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.

NameTypeRequiredDescription
bodyobjectrequiredNo description.
idstringrequiredThe Tag ID
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_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.

NameTypeRequiredDescription
bodyobjectrequiredNo description.
idstringrequiredThe Tag ID
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_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.

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

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

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

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

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

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

NameTypeRequiredDescription
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_social_group#Update the brand social group with the given ID.5 params

Update the brand social group with the given ID.

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

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

NameTypeRequiredDescription
bodyobjectrequiredNo description.
idstringrequiredThe campaign ID to be retrieved
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_update_campaign_message#Update a campaign message5 params

Update a campaign message

NameTypeRequiredDescription
bodyobjectrequiredNo description.
idstringrequiredThe message ID to be retrieved
modelstringrequiredThe 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.

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

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

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

NameTypeRequiredDescription
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`

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

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

NameTypeRequiredDescription
bodyobjectrequiredNo description.
idstringrequiredThe ID of the custom metric
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_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.

NameTypeRequiredDescription
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).

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

NameTypeRequiredDescription
bodyobjectrequiredNo description.
idstringrequiredThe ID of 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.
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.

NameTypeRequiredDescription
bodyobjectrequiredNo description.
idstringrequiredThe ID of 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.
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.

NameTypeRequiredDescription
bodyobjectrequiredNo description.
idstringrequiredID of the Flow to update. Ex: XVTP5Q
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_update_flow_action#Update a flow action.5 params

Update a flow action.

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

NameTypeRequiredDescription
bodyobjectrequiredNo description.
idstringrequiredThe ID of the image
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.
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.

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

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

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

NameTypeRequiredDescription
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}

NameTypeRequiredDescription
inputobjectrequiredProfilePartialUpdateQuery
modelstringrequiredThe name of the LLM currently using the tool.
klaviyomcp_update_review#Update a review.5 params

Update a review.

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

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

NameTypeRequiredDescription
bodyobjectrequiredNo description.
idstringrequiredThe Tag ID
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_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.

NameTypeRequiredDescription
bodyobjectrequiredNo description.
idstringrequiredThe Tag Group ID
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_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.

NameTypeRequiredDescription
modelstringrequiredThe name of the LLM currently using the tool.
translationIdstringrequiredThe ID of the translation to update
fallbackLocalestringoptionalUpdated fallback locale
sourceLocalestringoptionalUpdated source locale
targetLocalesarrayoptionalUpdated 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`.

NameTypeRequiredDescription
bodyobjectrequiredNo description.
idstringrequiredThe ID of the template universal content
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_upload_image_from_url#Upload an image from a URL or data URI.3 params

Upload an image from a URL or data URI.

NameTypeRequiredDescription
imageURLstringrequiredThe URL of the image to upload
modelstringrequiredThe name of the LLM currently using the tool.
namestringoptionalA name for the image. Defaults to the filename if omitted.