AutomationEmail MarketingKlaviyo

Meet Jarvis: The AI Account Manager Behind Our Email Agency

Andrew BeauchampAugust 18, 20268 min read

Every agency has the same weak point: the full picture of a client lives across six tools, and no one person holds all of it. Asana has the tasks, Slack has the conversations, the inbox has the decisions, the call recordings have the context, and Klaviyo has the data. When something falls through a crack, it falls through one of the gaps between those systems.

Our answer is Jarvis, the internal AI account manager we've been building for the past year. It's built on Claude Code and connected to everything we use: Asana, Slack, Gmail, our call transcripts, Figma, our reporting portal, and every client's Klaviyo account through the CLI tooling we open-sourced. Each client has a living dossier, a markdown file that gets updated as work happens, so the assistant reads the full context before it does anything. Yes, we named it after the Iron Man AI. It fits.

Plenty of people have written about AI assistants in the abstract. This post is the opposite: three concrete examples from one client account over the past two months, with real numbers, showing how we use Jarvis to build audiences, track a sending strategy, and report on the outputs.

Example 1: Building the Audiences

In June we rebuilt one client's campaign audience from scratch. A layering test had shown that the tail of their list (people with no engagement in 31+ days) was 48% of send volume but only 11% of revenue, opening at 1 to 3%. On a freshly migrated sending domain, that's pure reputation risk. So we replaced the old full-list blast with a layered core: engaged in the last 30 days, plus buyers in the last 180, plus recent site browsers, always excluding the unengaged segments.

Jarvis built every one of those segments directly in Klaviyo. Not instructions for a human to follow. The actual segments, created through the API, with the exact condition logic we specified, in about 20 seconds each:

# Read how an existing segment is defined
klaviyo get-segment SEGMENT_ID

# Create the new one, in draft, with duplicate guards
klaviyo create-segment --name "Campaign Core | Engaged 30d" --body @definition.json

# Sanity-check the size before it goes live
klaviyo segment-count SEGMENT_ID

A month later, provider-level reporting showed Gmail and Outlook were the weakest inboxes on the account (26% and 18% opens). So we added a second layer: an exclusion segment that removes profiles on those two providers with no open in 14 days, no click in 30, no site activity in 14, and no order in 30. That segment removes about 7,000 of the least engaged Gmail and Microsoft recipients from selected sends while leaving Yahoo and everyone else untouched. We wrote up the general pattern in how we fix Gmail open rates now; this client is that pattern running in production.

Example 2: Keeping Track of the Strategy (the Part Everyone Skips)

Building segments is easy. The thing that actually separates a managed audience strategy from a pile of segments is boring: writing down the rules, verifying every send followed them, and revisiting the decisions on a schedule. Humans are bad at all three. This is where Jarvis earns its keep.

The strategy lives in a written file in the client's folder: which segments make up the core, when subscribers are included (education content) versus excluded (promos, because they already get subscriber pricing), and when the full list is allowed at all (the open and close of a tentpole sale, nothing else). Every campaign Jarvis schedules carries those rules, and every audit reads them back.

Two things happened on this account that a human-only process would have missed:

  • Mislabeled sends. When Jarvis compiled the performance review, it verified each campaign's audience from the actual Klaviyo API objects instead of trusting campaign names. Several July sends were labeled "ALL/ALL" from an old planning doc but had actually gone to the core audience. Every report row reflects what was really sent, not what the calendar said.
  • A lapsed decision. The Gmail/Microsoft exclusion was a test with a scheduled keep-or-drop call. That call quietly slipped past its date with nobody noticing. The review caught it, the decision got made (keep, revisit in a month), a task went into Asana for the revisit, and the rule was written into the calendar workflow so it applies automatically instead of depending on someone remembering.

That second one is the honest part. The system didn't prevent the miss; it caught it and made sure it can't repeat. Tests that silently become permanent (or silently disappear) are one of the most common failure modes in email programs, and it has nothing to do with anyone being bad at their job. There's just no human-scale process that reliably re-raises a decision 30 days later. A written rule plus an assistant that reads it every time is that process.

Example 3: The Report It Builds

Here's what came out the other end: the audience strategy review Jarvis produced for this account last week, anonymized. This is a report an account manager asks for in one sentence, and it arrives with every number pulled live from Klaviyo.

Audience layering report header with summary and four KPI tiles: open rate up from 27.3% to 38.0%, recipients per send down 47%, revenue per recipient flat, July email campaign revenue up 15%

The headline: standard campaigns now reach 47% fewer people (67.8k down to 36.2k per send), open rates went from 27.3% to 38.0%, and revenue per recipient held flat. Flat is the important word. It means the ~32,000 people cut from every send were contributing almost nothing; the account was paying to email them and taking the deliverability damage for free. Monthly email campaign revenue went up anyway, $23.8k in June to $27.2k in July.

Scatter chart of every campaign send's open rate from June through August, colored by audience configuration, showing full-base sends stuck below 29% and core-audience sends in the 35 to 42% band after the strategy went live June 24

Every dot is one send, colored by which audience configuration it actually used (verified from the API, per the section above). The gray full-list sends never break 29%, before the change or after it. The moment sends moved to the layered core, they jumped into the 35 to 42% band and stayed there. The green dots at the very top are the sends carrying the Gmail/Microsoft exclusion.

Report section scoring the Gmail and Microsoft exclusion segment: education sends with the exclusion opened at 42.6% and earned $0.064 per recipient versus 34.5% and $0.041 without it, with the keep decision and revisit date logged

Each exclusion layer gets scored individually. The Gmail/Microsoft exclusion is the standout: education sends carrying it opened at 42.6% versus 34.5% without it, and earned $0.064 per recipient versus $0.041. Cutting 7,000 dead profiles cost nothing; the treated sends earned more in total, not just per head. The report also flags its own caveat (the treated sends all came later in the window, so the comparison is directional) and records the decision with its revisit date. That's what we mean by tracking outputs: not a dashboard screenshot, a scored verdict on each moving part of the strategy with the next decision already scheduled.

The Rest of the Job

Audience strategy is one thread. The same assistant, with the same client context, handles the rest of the account management work:

  • "What's going on with this client?" pulls the dossier plus live data from Asana, Slack, email, and the last call transcript in one shot.
  • Call prep: open tasks, recent threads, and last call's notes gathered before every client call.
  • Campaign scheduling: audiences, send times, and exclusions applied per the written strategy, then scheduled in Klaviyo.
  • Quarterly audits: 12 to 24 months of campaign data pulled and analyzed, with the actual email creatives rendered so patterns in content get caught, not just patterns in metrics.
  • Monthly calendars: planned against campaign history and briefed for copywriting with real account data.

And the guardrail that makes all of it safe: Jarvis drafts, humans send. Every email, every scheduled campaign, every client-facing anything gets human approval. The Klaviyo tooling it runs on blocks deletes at the transport layer, so it can't destroy subscriber data even by accident. The assistant does the archaeology; people make the calls.

What This Means If You Run a Store

If you work with an agency (us or anyone), the question this post should plant is: where does my account actually live? If the answer is "in my account manager's head," you inherit every gap in that person's memory, and you lose everything when they leave. Our answer is that your account lives in a system: a written strategy, a current dossier, verified send configs, and decisions with revisit dates. The AI is what makes maintaining that level of rigor economical for accounts of any size, not just the biggest retainer on the roster.

If you run email in-house, the same architecture works inside a brand, and you don't need to build an assistant as elaborate as ours to get the core benefit. Write your sending rules down in a file. Give an AI agent read access to your Klaviyo account (our free CLI is built for exactly that). Have it verify what actually went out against what the rules say, and put a revisit date on every test you start. That's 80% of what you saw above.

Or skip the build. If you'd rather have the agency that already runs this way managing your email program, talk to us.

Want results like these for your brand?

We help ecommerce brands build email and SMS programs that drive real revenue. Let's talk about what we can do for you.