Klaviyo icon

CONNECT APP

Build with Klaviyo

AI Email Marketing & SMS

Marketing

  • OAuth

MCP

Give your agent Klaviyo tools

Every Klaviyo action is exposed as an MCP tool on Pipedream's remote server. Point a client at it with your end user's ID and Connect resolves that user's Klaviyo account for each tool call — you store no tokens.

// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": "{project_id}",
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "klaviyo_oauth",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()
// Every tool arrives with its own input schema — run one with mcp.callTool().

API PROXY

Call the Klaviyo API directly

For an endpoint with no pre-built tool, the Connect proxy forwards your request to the Klaviyo API with the connected user's credentials attached. You store no tokens and write no refresh logic.

const resp = await pd.proxy.get({
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  accountId: "apn_xxxxxxx",
  url: "https://a.klaviyo.com/api/accounts",
})

// Any allowed Klaviyo endpoint works here. Pipedream attaches the
// connected account's credentials to the outgoing request.

SDK

Run Klaviyo actions from your backend

Connect a user's Klaviyo account once, then discover and run its tools on their behalf from your own code — TypeScript, Python, or plain HTTP.

import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const tools = await pd.components.list({
  app: "klaviyo_oauth",
  componentType: "action",
})

TOOLS

Klaviyo actions

On-demand operations your product or agent can configure and run on behalf of a connected user.

No Klaviyo actions are available yet.

EVENTS

Klaviyo triggers

Event sources your backend can deploy for users and receive through a webhook.

No Klaviyo triggers are available yet.

REFERENCE

App details

Reference metadata for the Klaviyo connector in the Pipedream registry.

App slug
klaviyo_oauth
Authentication
OAuth
Categories
Marketing
Actions
0
Triggers
0
API proxy
Available

OAuth scopes

These are the scopes Pipedream's managed Klaviyo OAuth client requests when one of your users connects an account. Supply your own OAuth client to request a different set.

  • accounts:read
  • campaigns:read
  • campaigns:write
  • events:read
  • events:write
  • metrics:read
  • profiles:read
  • profiles:write
  • lists:read
  • lists:write
  • segments:read
  • segments:write
  • tags:read
  • tags:write
  • subscriptions:read
  • subscriptions:write