💬 Klaviyo Automation
Klaviyo(クラビヨ)を使ったメールやSMS
📺 まず動画で見る(YouTube)
▶ 【最新版】Claude(クロード)完全解説!20以上の便利機能をこの動画1本で全て解説 ↗
※ jpskill.com 編集部が参考用に選んだ動画です。動画の内容と Skill の挙動は厳密には一致しないことがあります。
📜 元の英語説明(参考)
Automate Klaviyo tasks via Rube MCP (Composio): manage email/SMS campaigns, inspect campaign messages, track tags, and monitor send jobs. Always search tools first for current schemas.
🇯🇵 日本人クリエイター向け解説
Klaviyo(クラビヨ)を使ったメールやSMS
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o klaviyo-automation.zip https://jpskill.com/download/3055.zip && unzip -o klaviyo-automation.zip && rm klaviyo-automation.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/3055.zip -OutFile "$d\klaviyo-automation.zip"; Expand-Archive "$d\klaviyo-automation.zip" -DestinationPath $d -Force; ri "$d\klaviyo-automation.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
klaviyo-automation.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
klaviyo-automationフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-17
- 同梱ファイル
- 1
💬 こう話しかけるだけ — サンプルプロンプト
- › Klaviyo Automation で、お客様への返信文を作って
- › Klaviyo Automation を使って、社内向けアナウンスを書いて
- › Klaviyo Automation で、メールテンプレートを整備して
これをClaude Code に貼るだけで、このSkillが自動発動します。
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
[Skill 名] klaviyo-automation
Rube MCP を介した Klaviyo オートメーション
Composio の Klaviyo ツールキットを Rube MCP 経由で利用し、Klaviyo のメールおよび SMS マーケティング操作を自動化します。
前提条件
- Rube MCP が接続されていること(
RUBE_SEARCH_TOOLSが利用可能であること) - ツールキット
klaviyoを使用してRUBE_MANAGE_CONNECTIONS経由で Klaviyo がアクティブに接続されていること - 最新のツールスキーマを取得するために、常に最初に
RUBE_SEARCH_TOOLSを呼び出すこと
セットアップ
Rube MCP の取得: クライアント設定に https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで機能します。
RUBE_SEARCH_TOOLSが応答することを確認して、Rube MCP が利用可能であることを検証します。- ツールキット
klaviyoを指定してRUBE_MANAGE_CONNECTIONSを呼び出します。 - 接続が ACTIVE でない場合、返された認証リンクに従って Klaviyo 認証を完了します。
- ワークフローを実行する前に、接続ステータスが ACTIVE と表示されていることを確認します。
コアワークフロー
1. キャンペーンのリストとフィルタリング
使用する状況: ユーザーがマーケティングキャンペーンを閲覧、検索、またはフィルタリングしたい場合
ツールシーケンス:
KLAVIYO_GET_CAMPAIGNS- チャネルとステータスフィルターでキャンペーンをリスト表示します [必須]
主要なパラメーター:
channel: キャンペーンチャネル - 'email' または 'sms' (Klaviyo API で必須)filter: 追加のフィルター文字列 (例:equals(status,"draft"))sort: ソートフィールド。降順の場合はオプションで-プレフィックスを付けます (例: '-created_at', 'name')page_cursor: 次のページへのページネーションカーソルinclude_archived: アーカイブされたキャンペーンを含めるかどうか (デフォルト: false)
注意点:
channelは必須です。省略すると、不完全または予期しない結果が生じる可能性があります。- 全てのキャンペーンを取得するにはページネーションが必須です。1回の呼び出しでは1ページのみが返されます (デフォルト約10件)。
- 全てのキャンペーンを取得するには、
page_cursorがなくなるまで追跡してください。 filterを介したステータスフィルタリング (例:equals(status,"draft")) は、混合されたステータスを返す可能性があります。常にクライアント側でdata[].attributes.statusを検証してください。- ステータス文字列は大文字と小文字を区別し、複合的な場合があります (例: 'Cancelled: No Recipients')。
- レスポンスの形式はネストされており、
response.data.dataの中にステータスがdata[].attributes.statusにあります。
2. キャンペーン詳細の取得
使用する状況: ユーザーが特定のキャンペーンに関する詳細情報を取得したい場合
ツールシーケンス:
KLAVIYO_GET_CAMPAIGNS- キャンペーンを見つけてその ID を取得します [前提条件]KLAVIYO_GET_CAMPAIGN- キャンペーンの全詳細を取得します [必須]
主要なパラメーター:
campaign_id: キャンペーン ID 文字列 (例: '01GDDKASAP8TKDDA2GRZDSVP4H')include_messages: レスポンスにキャンペーンメッセージを含めるかどうかinclude_tags: レスポンスにタグを含めるかどうか
注意点:
- キャンペーン ID は英数字の文字列であり、数値ではありません。
include_messagesとinclude_tagsは、Klaviyo の include メカニズムを介して関連データをレスポンスに追加します。- キャンペーンの詳細には、オーディエンス、送信戦略、トラッキングオプション、およびスケジュール情報が含まれます。
3. キャンペーンメッセージの検査
使用する状況: ユーザーがキャンペーンのメール/SMS コンテンツを表示したい場合
ツールシーケンス:
KLAVIYO_GET_CAMPAIGN- キャンペーンとそのメッセージ ID を見つけます [前提条件]KLAVIYO_GET_CAMPAIGN_MESSAGE- メッセージコンテンツの詳細を取得します [必須]
主要なパラメーター:
id: メッセージ ID 文字列fields__campaign__message: メッセージ属性のスパースフィールドセット (例: 'content.subject', 'content.from_email', 'content.body')fields__campaign: キャンペーン属性のスパースフィールドセットfields__template: テンプレート属性のスパースフィールドセットinclude: 含める関連リソース ('campaign', 'template')
注意点:
- メッセージ ID はキャンペーン ID とは別です。キャンペーンレスポンスから抽出してください。
- スパースフィールドセットの構文は、ネストされたフィールドにドット表記を使用します: 'content.subject', 'content.from_email'
- メールメッセージには、件名、プレビューテキスト、送信元メールアドレス、送信元ラベル、返信先メールアドレスのコンテンツフィールドがあります。
- SMS メッセージには、本文のコンテンツフィールドがあります。
- 'template' を含めると、メールの HTML/テキストコンテンツが提供されます。
4. キャンペーンタグの管理
使用する状況: ユーザーが整理のためにキャンペーンに関連付けられたタグを表示したい場合
ツールシーケンス:
KLAVIYO_GET_CAMPAIGN_RELATIONSHIPS_TAGS- キャンペーンのタグ ID を取得します [必須]
主要なパラメーター:
id: キャンペーン ID 文字列
注意点:
- タグ ID のみが返され、タグ名/詳細は返されません。
- タグ ID は、Klaviyo のタグエンドポイントと組み合わせて完全な詳細を取得するために使用できます。
- レート制限: バースト 3/秒、安定 60/分 (他のエンドポイントよりも厳格です)。
5. キャンペーン送信ジョブの監視
使用する状況: ユーザーがキャンペーン送信操作のステータスを確認したい場合
ツールシーケンス:
KLAVIYO_GET_CAMPAIGN_SEND_JOB- 送信ジョブのステータスを確認します [必須]
主要なパラメーター:
id: 送信ジョブ ID
注意点:
- 送信ジョブ ID は、キャンペーン送信が開始されたときに返されます。
- ジョブステータスは、送信がキューに入っているか、進行中か、完了したか、失敗したかを示します。
- レート制限: バースト 10/秒、安定 150/分。
共通のパターン
キャンペーン検出パターン
1. Call KLAVIYO_GET_CAMPAIGNS with channel='email'
2. Paginate through all results via page_cursor
3. Filter by status client-side for accuracy
4. Extract campaign IDs for detailed inspection
スパースフィールドセットパターン
Klaviyo は、レスポンスサイズを削減するためにスパースフィールドセットをサポートしています。
fields__campaign__message=['content.subject', 'content.from_email', 'send_times']
fields__campaign=['name', 'status', 'send_time']
fields__template=['name', 'html', 'text']
ページネーション
- Klaviyo はカーソルベースのページネーションを使用します。
- ページネーションメタデータで
page_cursorのレスポンスを確認してください。 - 次のリクエストでカーソルを
page_cursorとして渡します。 - デフォルトのページサイズは約10キャンペーンです。
- カーソルが返されなくなるまで続行します。
フィルター構文
- equals(status,"draft") - 下書きステータスのキャンペーン
- equals(name,"Newsletter") - "Newsletter" という名前のキャンペーン
- greater-than(created_at,"2024-01-01T00:00:00Z") - 指定された日付より後に作成されたもの
既知の注意点
API バージョン:
- Klaviyo API はバージョン管理されたエンドポイントを使用します (例: v2024-07-15)。
- レスポンススキーマは API バージョン間で変更される可能性があります。
- ツールレスポンスは、Composio 統合で設定されたバージョンに従います。
レスポンスのネスト:
- データはネストされています:
response.data.data[].attributes - キャンペーンステータス
(原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Klaviyo Automation via Rube MCP
Automate Klaviyo email and SMS marketing operations through Composio's Klaviyo toolkit via Rube MCP.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Klaviyo connection via
RUBE_MANAGE_CONNECTIONSwith toolkitklaviyo - Always call
RUBE_SEARCH_TOOLSfirst to get current tool schemas
Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLSresponds - Call
RUBE_MANAGE_CONNECTIONSwith toolkitklaviyo - If connection is not ACTIVE, follow the returned auth link to complete Klaviyo authentication
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. List and Filter Campaigns
When to use: User wants to browse, search, or filter marketing campaigns
Tool sequence:
KLAVIYO_GET_CAMPAIGNS- List campaigns with channel and status filters [Required]
Key parameters:
channel: Campaign channel - 'email' or 'sms' (required by Klaviyo API)filter: Additional filter string (e.g.,equals(status,"draft"))sort: Sort field with optional-prefix for descending (e.g., '-created_at', 'name')page_cursor: Pagination cursor for next pageinclude_archived: Include archived campaigns (default: false)
Pitfalls:
channelis required; omitting it can produce incomplete or unexpected results- Pagination is mandatory for full coverage; a single call returns only one page (default ~10)
- Follow
page_cursoruntil exhausted to get all campaigns - Status filtering via
filter(e.g.,equals(status,"draft")) can return mixed statuses; always validatedata[].attributes.statusclient-side - Status strings are case-sensitive and can be compound (e.g., 'Cancelled: No Recipients')
- Response shape is nested:
response.data.datawith status atdata[].attributes.status
2. Get Campaign Details
When to use: User wants detailed information about a specific campaign
Tool sequence:
KLAVIYO_GET_CAMPAIGNS- Find campaign to get its ID [Prerequisite]KLAVIYO_GET_CAMPAIGN- Retrieve full campaign details [Required]
Key parameters:
campaign_id: Campaign ID string (e.g., '01GDDKASAP8TKDDA2GRZDSVP4H')include_messages: Include campaign messages in responseinclude_tags: Include tags in response
Pitfalls:
- Campaign IDs are alphanumeric strings, not numeric
include_messagesandinclude_tagsadd related data to the response via Klaviyo's include mechanism- Campaign details include audiences, send strategy, tracking options, and scheduling info
3. Inspect Campaign Messages
When to use: User wants to view the email/SMS content of a campaign
Tool sequence:
KLAVIYO_GET_CAMPAIGN- Find campaign and its message IDs [Prerequisite]KLAVIYO_GET_CAMPAIGN_MESSAGE- Get message content details [Required]
Key parameters:
id: Message ID stringfields__campaign__message: Sparse fieldset for message attributes (e.g., 'content.subject', 'content.from_email', 'content.body')fields__campaign: Sparse fieldset for campaign attributesfields__template: Sparse fieldset for template attributesinclude: Related resources to include ('campaign', 'template')
Pitfalls:
- Message IDs are separate from campaign IDs; extract from campaign response
- Sparse fieldset syntax uses dot notation for nested fields: 'content.subject', 'content.from_email'
- Email messages have content fields: subject, preview_text, from_email, from_label, reply_to_email
- SMS messages have content fields: body
- Including 'template' provides the HTML/text content of the email
4. Manage Campaign Tags
When to use: User wants to view tags associated with campaigns for organization
Tool sequence:
KLAVIYO_GET_CAMPAIGN_RELATIONSHIPS_TAGS- Get tag IDs for a campaign [Required]
Key parameters:
id: Campaign ID string
Pitfalls:
- Returns only tag IDs, not tag names/details
- Tag IDs can be used with Klaviyo's tag endpoints for full details
- Rate limit: 3/s burst, 60/m steady (stricter than other endpoints)
5. Monitor Campaign Send Jobs
When to use: User wants to check the status of a campaign send operation
Tool sequence:
KLAVIYO_GET_CAMPAIGN_SEND_JOB- Check send job status [Required]
Key parameters:
id: Send job ID
Pitfalls:
- Send job IDs are returned when a campaign send is initiated
- Job statuses indicate whether the send is queued, in progress, complete, or failed
- Rate limit: 10/s burst, 150/m steady
Common Patterns
Campaign Discovery Pattern
1. Call KLAVIYO_GET_CAMPAIGNS with channel='email'
2. Paginate through all results via page_cursor
3. Filter by status client-side for accuracy
4. Extract campaign IDs for detailed inspection
Sparse Fieldset Pattern
Klaviyo supports sparse fieldsets to reduce response size:
fields__campaign__message=['content.subject', 'content.from_email', 'send_times']
fields__campaign=['name', 'status', 'send_time']
fields__template=['name', 'html', 'text']
Pagination
- Klaviyo uses cursor-based pagination
- Check response for
page_cursorin the pagination metadata - Pass cursor as
page_cursorin next request - Default page size is ~10 campaigns
- Continue until no more cursor is returned
Filter Syntax
- equals(status,"draft") - Campaigns in draft status
- equals(name,"Newsletter") - Campaign named "Newsletter"
- greater-than(created_at,"2024-01-01T00:00:00Z") - Created after date
Known Pitfalls
API Version:
- Klaviyo API uses versioned endpoints (e.g., v2024-07-15)
- Response schemas may change between API versions
- Tool responses follow the version configured in the Composio integration
Response Nesting:
- Data is nested:
response.data.data[].attributes - Campaign status at
data[].attributes.status - Mis-parsing the nesting yields empty or incorrect results
- Always navigate through the full path defensively
Rate Limits:
- Burst: 10/s (3/s for tag endpoints)
- Steady: 150/m (60/m for tag endpoints)
- Required scope: campaigns:read
- Implement backoff on 429 responses
Status Values:
- Status strings are case-sensitive
- Compound statuses exist (e.g., 'Cancelled: No Recipients')
- Server-side filtering may return mixed statuses; always validate client-side
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| List campaigns | KLAVIYO_GET_CAMPAIGNS | channel, filter, sort, page_cursor |
| Get campaign details | KLAVIYO_GET_CAMPAIGN | campaign_id, include_messages, include_tags |
| Get campaign message | KLAVIYO_GET_CAMPAIGN_MESSAGE | id, fieldscampaignmessage |
| Get campaign tags | KLAVIYO_GET_CAMPAIGN_RELATIONSHIPS_TAGS | id |
| Get send job status | KLAVIYO_GET_CAMPAIGN_SEND_JOB | id |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.