# Klaviyo MCP

> Klaviyo (Marketing Automation) MCP Server lets you manage your entire B2C e-commerce CRM and marketing stack through natural conversation. You can create detailed customer profiles, track campaign performance, and audit complex automation flows without opening the Klaviyo dashboard. Use your agent to segment audiences, add profiles to specific lists, and get behavioral data for targeted messaging.

## Overview
- **Category:** growth-engine
- **Price:** Free
- **Tags:** b2c-crm, personalized-marketing, sms-marketing, customer-profiles, automation-flows, e-commerce-marketing

## Description

You're gonna manage your whole B2C e-commerce CRM and marketing stack straight through your agent. You don't gotta open the Klaviyo dashboard to handle profiles, track campaigns, or audit automation flows. **Your agent** handles it all with plain talk.

**Create and Read Customer Profiles**

**Your agent** builds new customer records using an email address, and you can pull all the data—contact info, custom properties, predictive metrics—for any single profile ID. **You** can also check out your entire customer base with `list_profiles`, getting all profile IDs, emails, and names for a full audit.

**Monitor and Detail Campaign Runs**

**You** can get a rundown of all email campaigns using `list_email_campaigns`, seeing which ones are active or scheduled. For a specific campaign, `get_campaign_details` pulls the status, target audience IDs, and message content. **You** can also see all automated marketing flows with `list_automation_flows`, which shows their IDs, names, and if they're active.

**Audit Customer Journey Flows**

To check the logic of an automation sequence, `get_flow_details` shows you the entry trigger, all action steps, and the flow's current status. **You** can also list every automated flow using `list_automation_flows` to see their IDs, names, and activity status.

**Segment and List Subscribers**

**You** can list all audience lists with `list_lists`, seeing the IDs, names, and total contact count for each. To understand who you're talking to, `list_audience_segments` shows you dynamic segments that update based on customer behavior and analytics.

**Update Customer Subscriptions**

**Your agent** adds a bunch of specific profile IDs to a specified marketing list using `add_profiles_to_list`, letting you manage who gets targeted messages.

**Extract Behavioral Data**

When **you** pull data for a profile ID with `get_profile`, **you** get all the specific traits and behavioral analytics, which lets **you** power super personalized outreach.

## Tools

### add_profiles_to_list
Adds a comma-separated list of profile IDs to a specified Klaviyo marketing list.

### create_profile
Creates a new Klaviyo profile using an email address; names are optional.

### get_campaign_details
Retrieves the status, target audience IDs, and message content for a specific Klaviyo campaign.

### get_flow_details
Shows the entry trigger, action steps, and current operational status for a given automation flow.

### get_profile
Pulls all data—contact info, custom properties, predictive analytics—for a single Klaviyo profile ID.

### list_audience_segments
Lists dynamic segments that automatically update based on customer behavior and analytics.

### list_automation_flows
Lists all automated marketing flows, including their IDs, names, and active status.

### list_email_campaigns
Lists all email campaigns, showing which ones are active or scheduled for a send.

### list_lists
Lists all audience lists, including their IDs, names, and the total number of contacts in each.

### list_profiles
Browses your entire customer base, providing profile IDs, email addresses, and names for auditing.

## Prompt Examples

**Prompt:** 
```
List all active email campaigns in my Klaviyo account
```

**Response:** 
```
I've found 3 active campaigns: 'Spring Sale 2024' (ID: camp-123), 'Monthly Newsletter' (ID: camp-456), and 'Product Reveal' (ID: camp-789). Would you like to see the targeted audience or performance metrics for any of these?
```

**Prompt:** 
```
Show me the details for automation flow ID 'flow-987'
```

**Response:** 
```
Retrieving flow 'flow-987' ('Welcome Series')… It is currently ACTIVE. The trigger is 'When someone joins Newsletter'. The sequence includes 3 emails sent over 7 days. Current completion rate is 84%. Would you like to see the individual step details?
```

**Prompt:** 
```
Create a profile for 'Sarah Doe' with email 'sarah@example.com'
```

**Response:** 
```
Profile for Sarah Doe (sarah@example.com) created successfully. ID: prof-012345. I can now add her to your 'New Customers' list or update her profile with custom behavioral properties. What would you like to do next?
```

## Capabilities

### Create and Read Customer Profiles
The agent builds new customer records or pulls existing profiles, giving you access to contact details, custom data points, and predictive metrics.

### Monitor and Detail Campaign Runs
You check the status of any email campaign—draft, scheduled, or sent—and review its specific audience and content.

### Audit Customer Journey Flows
The agent retrieves the full logic of any automation sequence, showing the initial trigger and every subsequent step (emails, delays, SMS).

### Segment and List Subscribers
You list dynamic segments or static lists to understand which groups of customers exist and how to target them.

### Update Customer Subscriptions
The agent adds specific customer profiles to defined marketing lists, managing their preferences for targeted messages.

### Extract Behavioral Data
You pull specific traits and behavioral analytics for a profile ID, letting you power highly personalized outreach.

## Use Cases

### Checking a Campaign's Health
The team just launched a major sale and needs to know if the email campaign is ready to send. They ask the agent to run `list_email_campaigns`. The agent replies with the status (draft, scheduled, sent) and provides the campaign ID, letting the team confirm if they need to adjust the target audience using `get_campaign_details`.

### Onboarding a New Client
A new lead comes in from a webinar, and the team needs to get them into the proper marketing sequence. They use `create_profile` with the lead's email. Then, they run `add_profiles_to_list` to add the new profile to the 'New Leads' list, ensuring the welcome flow starts automatically.

### Troubleshooting a Flow
The abandoned cart sequence isn't sending follow-ups. The marketer asks the agent to run `get_flow_details` for the sequence ID. The agent returns the trigger conditions and the full list of steps, allowing the marketer to spot the broken delay or action.

### Auditing Customer Data
A data scientist needs to know the lifetime value (LTV) and churn risk for 50 specific customers. They first run `list_profiles` to get the IDs, then loop through them, using `get_profile` on each ID to extract the predictive analytics needed for their model.

## Benefits

- Audit automation flows and campaign statuses instantly. Instead of manually searching through the Klaviyo dashboard, you prompt your agent to run `list_automation_flows` or `list_email_campaigns` and get the status immediately.
- Deep profile data access. Use `get_profile` to pull everything on a customer—contact info, custom properties, CLV, and churn risk—without jumping to a dedicated profile page.
- Precise audience targeting. You don't just guess who to message. Use `list_audience_segments` to understand high-value customer groups, or use `list_lists` to see exactly which static lists exist.
- Build customer records from scratch. If a lead comes through a different channel, use `create_profile` to add them to Klaviyo, ensuring their data is captured right away.
- Target specific groups easily. Need to send a message to a handful of people? Use `list_profiles` to get the IDs, then run `add_profiles_to_list` to segment them for a campaign.
- Understand complex flows. Use `get_flow_details` to trace the exact logic of a welcome series or abandoned cart flow, seeing the triggers and all the action steps.

## How It Works

The bottom line is you manage your entire e-commerce marketing stack through natural conversation, without needing to navigate the Klaviyo web dashboard.

1. Subscribe to the server and input your Klaviyo Private API Key.
2. Your AI client connects, authenticating your account access to the marketing data.
3. You prompt your agent (e.g., 'List all active campaigns for Q2'). The agent runs the necessary tool and presents the structured results.

## Frequently Asked Questions

**How do I use the `get_profile` tool to check a customer's data?**
You pass the unique profile ID to the agent. The agent returns all data available for that ID: contact info, custom properties, predictive metrics, and marketing preferences.

**What does `list_audience_segments` do?**
`list_audience_segments` shows you dynamic segments. Unlike static lists, these groups update automatically based on what customers actually do (like viewing a specific product category).

**Can I add people to a list using `add_profiles_to_list`?**
Yes, you provide a comma-separated string of profile IDs. The agent then executes the tool, adding those specific profiles to the target list.

**What is the difference between `list_lists` and `list_audience_segments`?**
`list_lists` shows static lists you manage. `list_audience_segments` shows dynamic groups that change automatically based on customer behavior and engagement.

**How do I check if a campaign is scheduled?**
You use `list_email_campaigns` first to find the campaign ID, then use `get_campaign_details` with that ID. This tells you the current status and the scheduled send time.

**How do I use `list_email_campaigns` to see past campaign performance?**
The `list_email_campaigns` tool shows the campaign's current status, not its historical performance metrics. You first list the campaigns, and then use the campaign ID to get detailed performance data using a subsequent call.

**What information does `get_flow_details` return about an automation flow?**
It gives you the flow's entry trigger conditions, its current operational status, and the complete sequence of actions (like emails or SMS) scheduled over time. This lets you audit your full lifecycle marketing process.

**When should I use `list_profiles` instead of `get_profile`?**
Use `list_profiles` when you need to browse a group of contacts to find multiple profile IDs, emails, or names. Use `get_profile` when you already have a specific profile ID and need all its detailed information.

**Can I check the status of an automation flow using my agent?**
Yes. Use the `get_flow_details` tool with a specific Flow ID. Your agent will retrieve the comprehensive status, including entry triggers and the sequence of action steps, allowing you to audit your lifecycle marketing in real-time.

**How do I create a new customer profile through a conversation?**
Use the `create_profile` tool by providing the email address, first name, and last name. Your agent will generate the new contact profile in Klaviyo, ready for segmentation or being added to specific marketing lists.

**Can my agent list all dynamically updated audience segments?**
Absolutely. Use the `list_audience_segments` tool to retrieve all dynamic segments from your Klaviyo account. These segments update automatically based on user behavior and analytics conditions, and your agent can report on their status directly in your chat.