mcpField
W
whatsapp-automation

whatsapp-automation

github.com/sickn33その他48.7k236 回インストール今日更新
リポジトリ

whatsapp-automation について

Composio の WhatsApp ツールキットと Rube MCP を通じて WhatsApp Business の操作を行うワークフロースキルです。メッセージ、メディア、連絡先の送信や、ビジネス情報とテンプレートの管理に使います。

主な機能

  1. 01テキスト、テンプレート、メディアの送信
  2. 02受信メッセージへの返信
  3. 03連絡先情報の共有
  4. 04ビジネス番号とプロフィールの確認
  5. 05メッセージテンプレートの管理

活用シーン

  1. 01許可された宛先へのビジネスメッセージ送信
  2. 0224 時間枠外での承認済みテンプレート送信
  3. 03受信した WhatsApp メッセージへの返信
  4. 04ビジネス番号の確認やテンプレート管理

MCP 対応

このスキルは Rube MCP を介して Composio の WhatsApp ツールキットを利用します。クライアントは利用可能なツールを先に検索し、WhatsApp の接続状態を確認します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill whatsapp-automation

インストール後、Claude Code で/whatsapp-automationを入力して読み込まれたか確認します。

詳細

Rube MCP を介した WhatsApp Business の自動化

Rube MCP を介して Composio の WhatsApp ツールキットを使用し、WhatsApp Business の操作を自動化します。

前提条件

  • Rube MCP が接続されていること(RUBE_SEARCH_TOOLS が利用可能)
  • RUBE_MANAGE_CONNECTIONS を使用して、ツールキット whatsapp への接続が有効であること
  • 最新のツールスキーマを取得するため、必ず最初に RUBE_SEARCH_TOOLS を呼び出してください
  • WhatsApp Business API アカウントが必要です(通常の WhatsApp アカウントではありません)

セットアップ

Rube MCP を入手する:クライアント設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで動作します。

  1. RUBE_SEARCH_TOOLS が応答することを確認し、Rube MCP が利用可能であることを確認します
  2. ツールキット whatsapp を指定して RUBE_MANAGE_CONNECTIONS を呼び出します
  3. 接続が ACTIVE でない場合は、返された認証リンクに従って WhatsApp Business のセットアップを完了します
  4. ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します

メッセージ送信の制限事項

送信先と内容について、ユーザーから明示的な承認を得てください。また、送信元のビジネス番号、オプトイン、および適用されるメッセージポリシーを確認してください。アカウントが接続済みであることや、テンプレートが承認済みであることだけでは、相手に連絡する許可にはなりません。URL フィールドを満たすために、許可されていないメディアをアップロードしたり、非公開ファイルを公開したりしないでください。送信結果が不明な場合は、メッセージ ID とステータスを確認してください。メッセージを重複させないよう、確認せずに再送信しないでください。実行時に取得した最新のスキーマは、静的なツールやパラメーターの例より優先されます。現在の Meta の料金を参照してください。

主なワークフロー

1. テキストメッセージを送信する

使用する場合:ユーザーが WhatsApp の連絡先にテキストメッセージを送信したい場合

ツールの順序:

  1. WHATSAPP_GET_PHONE_NUMBERS - 利用可能なビジネス電話番号を一覧表示します[前提条件]
  2. WHATSAPP_SEND_MESSAGE - テキストメッセージを送信します[必須]

主なパラメーター:

  • to:国際形式の受信者の電話番号(例:'+14155551234')
  • body:メッセージ本文
  • phone_number_id:送信元のビジネス電話番号 ID

注意事項:

  • 電話番号は、国番号を含む国際 E.164 形式である必要があります
  • 24 時間のウィンドウを過ぎた後のメッセージには、承認済みテンプレートが必要です
  • 24 時間のウィンドウは、顧客が最後にメッセージを送信した時点から始まります
  • ビジネス側から会話を開始する場合は、まずテンプレートメッセージを送信する必要があります
2. テンプレートメッセージを送信する

使用する場合:ユーザーが、アウトバウンドの連絡に承認済みテンプレートメッセージを送信したい場合

ツールの順序:

  1. WHATSAPP_GET_MESSAGE_TEMPLATES - 利用可能なテンプレートを一覧表示します[前提条件]
  2. WHATSAPP_GET_TEMPLATE_STATUS - テンプレートの承認ステータスを確認します[任意]
  3. WHATSAPP_SEND_TEMPLATE_MESSAGE - テンプレートメッセージを送信します[必須]

主なパラメーター:

  • template_name:承認済みテンプレートの名前
  • language_code:テンプレートの言語(例:'en_US')
  • to:受信者の電話番号
  • components:テンプレートの変数値とパラメーター

注意事項:

  • テンプレートは使用前に Meta の承認を受ける必要があります
  • テンプレート変数は、想定される数と形式に一致している必要があります
  • 未承認または却下されたテンプレートを送信すると、エラーが返されます
  • 言語コードは、テンプレートの承認済み翻訳と一致している必要があります
3. メディアメッセージを送信する

使用する場合:ユーザーが画像、ドキュメント、その他のメディアを送信したい場合

ツールの順序:

  1. WHATSAPP_UPLOAD_MEDIA - WhatsApp サーバーにメディアをアップロードします[必須]
  2. WHATSAPP_SEND_MEDIA_BY_ID - アップロードしたメディア ID を使用してメディアを送信します[必須] または
  3. WHATSAPP_SEND_MEDIA - 公開 URL を使用してメディアを送信します[代替]

主なパラメーター:

  • media_url:メディアの公開 URL(SEND_MEDIA 用)
  • media_id:アップロード時の応答に含まれる ID(SEND_MEDIA_BY_ID 用)
  • type:メディアの種類('image'、'document'、'audio'、'video'、'sticker')
  • caption:メディアに付ける任意のキャプション

注意事項:

  • アップロードしたメディア ID は一時的なもので、一定期間が経過すると期限切れになります
  • メディアのサイズ制限は種類によって異なります(画像:5MB、動画:16MB、ドキュメント:100MB)
  • 対応形式:画像(JPEG、PNG)、動画(MP4、3GPP)、ドキュメント(PDF など)
  • SEND_MEDIA には、一般公開されている HTTPS URL が必要です
4. メッセージに返信する

使用するタイミング:ユーザーが受信したWhatsAppメッセージに返信したい場合

ツールの順序:

  1. WHATSAPP_SEND_REPLY - 特定のメッセージに返信します[必須]

主なパラメーター:

  • message_id:返信対象のメッセージのID
  • to:宛先の電話番号
  • body:返信テキストの内容

注意点:

  • message_idには、24時間以内に受信したメッセージのIDを指定する必要があります
  • 返信は会話内で引用メッセージとして表示されます
  • 引用を表示するには、元のメッセージが削除されずに残っている必要があります
5. ビジネスプロフィールとテンプレートを管理する

使用するタイミング:ユーザーがWhatsApp Businessのプロフィールを確認または管理したい場合

ツールの順序:

  1. WHATSAPP_GET_BUSINESS_PROFILE - ビジネスプロフィールの詳細を取得します[任意]
  2. WHATSAPP_GET_PHONE_NUMBERS - 登録済みの電話番号を一覧表示します[任意]
  3. WHATSAPP_GET_PHONE_NUMBER - 特定の番号の詳細を取得します[任意]
  4. WHATSAPP_CREATE_MESSAGE_TEMPLATE - 新しいテンプレートを作成します[任意]
  5. WHATSAPP_GET_MESSAGE_TEMPLATES - すべてのテンプレートを一覧表示します[任意]

主なパラメーター:

  • phone_number_id:ビジネス電話番号のID
  • template_name:新しいテンプレートの名前
  • category:テンプレートのカテゴリ(MARKETING、UTILITY、AUTHENTICATION)
  • language:テンプレートの言語コード

注意点:

  • 新しいテンプレートは、使用前にMetaの審査が必要です
  • テンプレート名には小文字とアンダースコアのみを使用します(スペース不可)
  • カテゴリによって料金と承認基準が異なります
  • ヘッダー、本文、ボタンにはそれぞれ固有の書式要件があります
6. 連絡先を共有する

使用するタイミング:ユーザーがWhatsApp経由で連絡先情報を送信したい場合

ツールの順序:

  1. WHATSAPP_SEND_CONTACTS - 連絡先カードを送信します[必須]

主なパラメーター:

  • to:宛先の電話番号
  • contacts:名前、電話番号、メールアドレスの詳細を含む連絡先オブジェクトの配列

注意点:

  • 連絡先オブジェクトはWhatsApp Business APIの連絡先スキーマに従う必要があります
  • 各連絡先には少なくとも名前のフィールドが必要です
  • 連絡先の電話番号には国番号を含めてください

よくあるパターン

24時間のメッセージ送信ウィンドウ
  • 会話ウィンドウを開くには、顧客から先にメッセージを送信してもらう必要があります
  • 顧客からの最後のメッセージから24時間以内であれば、自由形式のメッセージを送信できます
  • 24時間を過ぎると、承認済みのテンプレートメッセージのみ送信できます
  • 24時間のカスタマーサービスウィンドウを開く、またはリセットできるのは、新しい顧客メッセージのみです。テンプレートを送信しても、それだけでは自由形式のメッセージを続けて送信できるようにはなりません。
電話番号の解決
1. Call WHATSAPP_GET_PHONE_NUMBERS
2. Extract phone_number_id for your business number
3. Use phone_number_id in all send operations
メディアのアップロード手順
1. Call WHATSAPP_UPLOAD_MEDIA with the file
2. Extract media_id from response
3. Call WHATSAPP_SEND_MEDIA_BY_ID with media_id
4. OR use WHATSAPP_SEND_MEDIA with a public URL directly

既知の注意点

電話番号の形式:

  • 必ずE.164形式を使用します:[国番号][番号](例:'+14155551234')
  • ハイフン、スペース、括弧は使用しません
  • 国番号が必須です。国番号のない国内番号は失敗します

メッセージ送信の制限:

  • 24時間のウィンドウ外で企業側からメッセージを送信する場合は、テンプレートが必要です
  • 配信済みメッセージには、カテゴリ、市場、適用される無料利用枠に応じた料金が発生する場合があります。キャンペーンの前に、最新のMeta料金を確認してください。
  • 電話番号ごと、アカウントごとにレート制限が適用されます

メディアの取り扱い:

  • アップロードしたメディアには有効期限があります。アップロード後は速やかに使用してください
  • メディアのURLは、HTTPSで公開アクセス可能である必要があります
  • スタンプには固有の要件があります(WebP形式、512x512ピクセル)

テンプレートの管理:

  • テンプレートの審査には最大24時間かかる場合があります
  • 却下されたテンプレートは修正して再提出する必要があります
  • テンプレート変数には二重波括弧を使用します:{{1}}、{{2}}など

クイックリファレンス

タスクツールスラッグ主なパラメーター
メッセージを送信WHATSAPP_SEND_MESSAGEto, body
テンプレートを送信WHATSAPP_SEND_TEMPLATE_MESSAGEtemplate_name, to, language_code
メディアをアップロードWHATSAPP_UPLOAD_MEDIA(ファイルパラメーター)
IDでメディアを送信WHATSAPP_SEND_MEDIA_BY_IDmedia_id, to, type
URLでメディアを送信WHATSAPP_SEND_MEDIAmedia_url, to, type
メッセージに返信WHATSAPP_SEND_REPLYmessage_id, to, body
連絡先を送信WHATSAPP_SEND_CONTACTSto, contacts
メディアを取得WHATSAPP_GET_MEDIAmedia_id
電話番号を一覧表示WHATSAPP_GET_PHONE_NUMBERS(なし)
電話番号を取得WHATSAPP_GET_PHONE_NUMBERphone_number_id
ビジネスプロフィールを取得WHATSAPP_GET_BUSINESS_PROFILEphone_number_id
テンプレートを作成WHATSAPP_CREATE_MESSAGE_TEMPLATEtemplate_name, category, language
テンプレートを一覧表示WHATSAPP_GET_MESSAGE_TEMPLATES(なし)
テンプレートのステータスを確認WHATSAPP_GET_TEMPLATE_STATUStemplate_id

使用するタイミング

このスキルは、概要で説明されているワークフローまたはアクションを実行する場合に適用できます。

制限事項

  • このスキルは、タスクが上記の説明範囲に明確に一致する場合にのみ使用してください。
  • 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
  • 必要な入力、権限、安全上の境界、または成功基準が不足している場合は、作業を中断して確認を求めてください。

コメント