Using the Klaviyo Connector
Zoom's Klaviyo Connector enables users to access and manage Klaviyo marketing data directly in Zoom. Users can retrieve account details, manage campaigns and flows, work with customer profiles, and analyze performance reporting from their connected Klaviyo account to power AI-driven marketing and customer engagement workflows.
Key features available with the Klaviyo connector:
- Account Information – Access account-level details associated with the authenticated Klaviyo account.
- Campaign Data – Retrieve, create, and manage campaigns, including campaign metadata, audience details, and campaign performance reporting.
- Flow Data – Access flows, flow metadata, and flow performance reporting.
- Customer Profiles – Access, create, and update customer profiles, including subscription status and related profile attributes.
Requirements for using the Klaviyo Connector
- A Zoom Workplace Pro, Zoom Workplace Pro Plus, Zoom Workplace Business, Zoom Workplace Business Plus, Zoom Workplace Enterprise, Zoom Workplace Enterprise Plus, or Enterprise Bundle account
- Custom AI Companion License
- Account owner or admin privileges
- AI Companion panel in Zoom Workplace must be enabled
- A Klaviyo account
- Pre-approval of the Klaviyo Connector app in Zoom App Marketplace
Note: If the app is not pre-approved, please contact your Zoom admin.
How to add the Klaviyo Connector
- Sign in to the Zoom App Marketplace with your Zoom account.
- In the top right of your screen, enter Klaviyo Connector in the search box to find the app.
- In your search results, find the Klaviyo Connector app and click it. Note: If the app is not pre-approved, please contact your Zoom admin to approve the app for your account.
- Click Add.
- Confirm the permissions the app requires, then click Allow.
You will then be redirected to Klaviyo to authenticate your Klaviyo Account and authorize Zoom. Once completed, you will return to the configuration page.
How to configure the Klaviyo Connector
After installing the app from the Zoom App Marketplace, you can start configuring the Klaviyo Connector within AI Studio.
- Sign in to the Zoom web portal.
- In the navigation menu, click AI Studio, then click Tool Templates.
- Click the MCP tab.
- Click Sync to verify your applications are synced.
- Go to Custom Agents and create a new custom agent from scratch or select a template.
- Once your agent is created, navigate to Tools.
- Click Add Tools, and search for Klaviyo Connector.
- Click Next to authorize your account.
- After successful authorization, select some or all of the tools offered by the MCP server and click Save.
You're now ready to start chatting with your agent.
How to use the Klaviyo Connector
After setting up the Klaviyo Connector, users can interact with it directly through AI Companion using natural language commands to access Klaviyo's features.
- Sign in to the Zoom Workplace desktop app.
- Click the Home tab or click the AI Companion icon from your active tab.
- In the Write a message or type field, you can:
- Enter /Klaviyo to show available prompts that you can use
- Click the add icon and click the My Apps tab, then click Klaviyo.
How to remove the Klaviyo Connector
- Sign in to the Zoom App Marketplace with your Zoom account.
- In the top right of the page, click Manage.
- In the navigation menu, click Added Apps.
- Next to the Klaviyo Connector app, click Remove.
- Confirm the dialogue and click Remove.
Data Security
Communications between this Connector and Zoom/Klaviyo are encrypted:
- The Klaviyo Connector communicates securely with the Klaviyo MCP server using HTTPS for encrypted data transmission.
- Authentication is handled via OAuth 2.0 with PKCE.
- Rate limits are applied to protect the service from abuse.
This Klaviyo Connector stores access credentials in the local data store:
- Klaviyo API tokens and Zoom OAuth credentials (both user-level only) are stored in an encrypted database.
How your data is used
This Connector has access to the following information on Klaviyo:
- klaviyo_get_account_details: Get the details of the account.
- klaviyo_get_campaigns: Returns some or all campaigns based on filters.
- klaviyo_get_campaign: Returns a specific campaign based on a required id.
- klaviyo_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.
- klaviyo_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.
- klaviyo_get_flows: Returns some or all flows based on filters. Do not use this for queries related to the status of flows, reporting on flows, or flow performance data. For those use cases, use the get_flow_report tool.
- klaviyo_get_flow: Returns a flow by ID.
- klaviyo_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.
- klaviyo_get_list: Get a list with the given list ID.
- klaviyo_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.
- klaviyo_get_catalog_items: Get all catalog items in an account. (Also known as products)
- klaviyo_get_email_template: Get an email template with the given data. Returns attributes including the html or amp.
- klaviyo_create_email_template: Create a new email template from the given HTML. Returns the ID of the template.
- klaviyo_get_profiles: Get all profiles in an account.
- klaviyo_get_profile: Get details of the profile with the given profile ID. Includes additional information about their subscriptions.
- klaviyo_create_profile: Create a new profile. Must include either email, phone_number, or external_id.
- klaviyo_update_profile: Update the profile with the given profile ID.
- klaviyo_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.
- klaviyo_get_segment: Get a segment with the given segment ID.
- klaviyo_get_metrics: Get all metrics in an account.
- klaviyo_get_metric: Get a metric with the given metric ID.
- klaviyo_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 reports
- klaviyo_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.
- klaviyo_unsubscribe_profile_from_marketing: Unsubscribe a profile from marketing for a given channel. Returns 'Success' if successful.
- klaviyo_upload_image_from_url: Upload an image from a URL or data URI.
- klaviyo_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.
- klaviyo_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.