Klaviyo for AI agents

Klaviyo is an email and SMS marketing platform e-commerce brands use to segment customers, send campaigns, and track revenue from messages. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

MarketingOAuth 2.0MCP + RESTklaviyo.com
AUDIT LOG · KLAVIYOPOLICY: acme-support
09:41:07 · claude · u_8f2read
klaviyo.get_tag
Get tag✓ allowed · 212ms
09:41:08 · claude · u_8f2read
klaviyo.get_flow
Get flow✓ allowed · 164ms
09:41:09 · claude · u_8f2write
klaviyo.create_tag
Create tag✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
klaviyo.delete_tag
Delete tag✕ blocked · policy: deny
EVERY KLAVIYO CALL, ON THE RECORD
01 · USE CASES

What agents do in Klaviyo.

01

Add a customer to a segment

Add a profile to a marketing list or segment after a qualifying purchase event comes in.

02

Look up a customer profile

Pull a profile's event history and list memberships before answering a support question.

03

Approve a campaign before sending

Require sign-off before a campaign send job goes out, since it reaches every profile on the list.

02 · ACTIONS

225 Klaviyo actions, graded by risk.

Every Klaviyo action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

126

Look things up. Allowed by default.

  • klaviyo.get_tag
    Get tag
  • klaviyo.get_flow
    Get flow
  • klaviyo.get_form
    Get form
  • klaviyo.get_list
    Get list
  • klaviyo.get_tags
    Get tags
  • klaviyo.get_event
    Get event
  • klaviyo.get_flows
    Get flows
  • klaviyo.get_forms
    Get forms
  • klaviyo.get_image
    Get image
  • klaviyo.get_lists
    Get Lists
  • klaviyo.get_coupon
    Get coupon
  • klaviyo.get_events
    Get events
  • klaviyo.get_images
    Get images
  • klaviyo.get_metric
    Get metric
  • klaviyo.get_account
    Get account
  • klaviyo.get_coupons
    Get coupons
+ 110 MORE

write

69

Create and change things. Allow, or ask the user first.

  • klaviyo.create_tag
    Create tag
  • klaviyo.update_tag
    Update tag
  • klaviyo.create_list
    Create list
  • klaviyo.update_list
    Update list
  • klaviyo.create_event
    Create event
  • klaviyo.update_image
    Update image
  • klaviyo.create_coupon
    Create coupon
  • klaviyo.update_coupon
    Update coupon
  • klaviyo.create_profile
    Create profile
  • klaviyo.create_segment
    Create segment
  • klaviyo.create_webhook
    Create webhook
  • klaviyo.update_profile
    Update profile
  • klaviyo.update_segment
    Update segment
  • klaviyo.update_webhook
    Update webhook
  • klaviyo.create_campaign
    Create campaign
  • klaviyo.create_template
    Create template
+ 53 MORE

destructive

30

Delete, cancel or archive. Ask first, or deny outright.

  • klaviyo.delete_tag
    Delete tag
  • klaviyo.delete_flow
    Delete flow
  • klaviyo.delete_list
    Delete list
  • klaviyo.delete_coupon
    Delete coupon
  • klaviyo.delete_segment
    Delete segment
  • klaviyo.delete_webhook
    Delete webhook
  • klaviyo.delete_campaign
    Delete campaign
  • klaviyo.delete_template
    Delete template
  • klaviyo.delete_tag_group
    Delete tag group
  • klaviyo.delete_coupon_code
    Delete coupon code
  • klaviyo.delete_catalog_item
    Delete catalog item
  • klaviyo.cancel_campaign_send
    Cancel Campaign Send
  • klaviyo.delete_catalog_variant
    Delete catalog variant
  • klaviyo.delete_catalog_category
    Delete catalog category
  • klaviyo.delete_tag_relationships
    Delete Tag Relationships
  • klaviyo.remove_profile_from_list
    Remove Profile from List
+ 14 MORE
03 · HOW IT WORKS

Klaviyo in three steps.

  1. 01Your users connect KlaviyoThey sign in to Klaviyo on Arc0 Connect, under your brand, and approve the access you ask for.
  2. 02You set the rulesReads run, writes like “create tag” can wait for the user, and “delete tag” can be denied outright.
  3. 03Any agent can actYour agent calls Klaviyo through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('klaviyo', {
  read: 'allow',
  write: 'ask',        // create_tag
  destructive: 'deny',  // delete_tag
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How Klaviyo connects.

Users sign in to Klaviyo on Arc0 Connect and approve the scopes you request. Build with Arc0’s Klaviyo OAuth app, or bring your own so the Klaviyo consent screen names you. Tokens refresh automatically, and you can export them whenever you want.

The same Klaviyo connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
API key · OAuth 2.0
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use Klaviyo from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

Klaviyo and Arc0, answered.

Q01

Can I use Klaviyo with Claude, ChatGPT or Cursor?

Yes. Connect Klaviyo to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Klaviyo actions you allow.

Q02

How do users connect Klaviyo?

Users sign in to Klaviyo on Arc0 Connect and approve the scopes you request. Build with Arc0’s Klaviyo OAuth app, or bring your own so the Klaviyo consent screen names you. Tokens refresh automatically, and you can export them whenever you want.

Q03

Which Klaviyo actions can my agent take?

225 in total: 126 read, 69 write and 30 destructive, such as “create tag”. Your policies decide which of them each agent may call.

Q04

Can I stop my agent from deleting things in Klaviyo?

Yes. Actions like “delete tag” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.

Q05

Can my own backend call Klaviyo too?

Yes. The same Klaviyo connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug Klaviyo into your agent.

Your users connect Klaviyo once, under your brand. Your agent gets 225 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan