whatsapp-automation について
whatsapp-automationは、Rube MCP経由でComposioのツールキットを使い、WhatsApp Businessの業務を自動化するスキルです。メッセージ、テンプレート、メディア、連絡先、ビジネス情報を扱います。
主な機能
- 01テキストとテンプレートメッセージの送信
- 02メディアのアップロードと送信
- 03受信メッセージへの返信
- 04連絡先カードの共有
- 05ビジネス情報の確認とテンプレート管理
活用シーン
- 01許可された時間内の顧客メッセージ送信
- 02承認済みテンプレートによる通知
- 03チャットでのメディアや連絡先の共有
MCP 対応
Rube MCP経由でComposioのWhatsAppツールキットを利用します。有効なWhatsApp Business接続が必要で、通常のWhatsAppアカウントは対象外です。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ composiohq/ awesome-claude-skills --skill whatsapp-automationインストール後、Claude Code で/whatsapp-automationを入力して読み込まれたか確認します。
詳細
Rube MCP による WhatsApp Business の自動化
Rube MCP 経由で Composio の WhatsApp ツールキットを利用し、WhatsApp Business の操作を自動化します。
ツールキットのドキュメント:composio.dev/toolkits/whatsapp
前提条件
- Rube MCP が接続されていること(RUBE_SEARCH_TOOLS が利用可能)
whatsappツールキットを指定したRUBE_MANAGE_CONNECTIONS経由で WhatsApp に接続されていること- 現在のツールスキーマを取得するため、必ず最初に
RUBE_SEARCH_TOOLSを呼び出してください - WhatsApp Business API アカウントが必要です(通常の WhatsApp アカウントは使用できません)
セットアップ
Rube MCP を入手:クライアントの設定で https://rube.app/mcp を MCP サーバーとして追加してください。API キーは不要です。エンドポイントを追加するだけで動作します。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能であることを確認しますwhatsappツールキットを指定してRUBE_MANAGE_CONNECTIONSを呼び出します- 接続が ACTIVE でない場合は、返された認証リンクに従って WhatsApp Business のセットアップを完了します
- ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します
主なワークフロー
1. テキストメッセージを送信する
使用する場面:ユーザーが WhatsApp の連絡先にテキストメッセージを送信したい場合
ツールの順序:
WHATSAPP_GET_PHONE_NUMBERS- 利用可能なビジネス用電話番号を一覧表示します[前提条件]WHATSAPP_SEND_MESSAGE- テキストメッセージを送信します[必須]
主なパラメーター:
to:受信者の電話番号(国際形式、例:'+14155551234')body:メッセージ本文phone_number_id:送信元のビジネス用電話番号 ID
注意事項:
- 電話番号は国番号を含む国際 E.164 形式で指定する必要があります
- 24 時間の時間枠を過ぎてからメッセージを送信するには、承認済みのテンプレートが必要です
- 24 時間の時間枠は、顧客が最後にメッセージを送信した時点から始まります
- ビジネス側から会話を開始する場合は、最初にテンプレートメッセージを送信する必要があります
2. テンプレートメッセージを送信する
使用する場面:ユーザーが送信メッセージに承認済みテンプレートを使用したい場合
ツールの順序:
WHATSAPP_GET_MESSAGE_TEMPLATES- 利用可能なテンプレートを一覧表示します[前提条件]WHATSAPP_GET_TEMPLATE_STATUS- テンプレートの承認ステータスを確認します[任意]WHATSAPP_SEND_TEMPLATE_MESSAGE- テンプレートメッセージを送信します[必須]
主なパラメーター:
template_name:承認済みテンプレートの名前language_code:テンプレートの言語(例:'en_US')to:受信者の電話番号components:テンプレート変数の値とパラメーター
注意事項:
- テンプレートは使用前に Meta の承認を受ける必要があります
- テンプレート変数は、想定される数と形式に一致している必要があります
- 未承認または却下されたテンプレートを送信すると、エラーが返されます
- 言語コードは、テンプレートの承認済み翻訳に一致している必要があります
3. メディアメッセージを送信する
使用する場面:ユーザーが画像、ドキュメント、その他のメディアを送信したい場合
ツールの順序:
WHATSAPP_UPLOAD_MEDIA- WhatsApp サーバーにメディアをアップロードします[必須]WHATSAPP_SEND_MEDIA_BY_ID- アップロードされたメディア ID を使ってメディアを送信します[必須] または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 メッセージに返信したい場合
ツールの順序:
WHATSAPP_SEND_REPLY- 特定のメッセージに返信する[必須]
主なパラメーター:
message_id:返信対象のメッセージの IDto:受信者の電話番号body:返信の本文
注意点:
message_idは、24 時間以内に受信したメッセージのものである必要があります- 返信は、会話内で引用メッセージとして表示されます
- 引用を表示するには、元のメッセージが削除されずに残っている必要があります
5. ビジネスプロフィールとテンプレートを管理する
使用するタイミング:ユーザーが WhatsApp Business プロフィールを確認または管理したい場合
ツールの順序:
WHATSAPP_GET_BUSINESS_PROFILE- ビジネスプロフィールの詳細を取得する[任意]WHATSAPP_GET_PHONE_NUMBERS- 登録済みの電話番号を一覧表示する[任意]WHATSAPP_GET_PHONE_NUMBER- 特定の電話番号の詳細を取得する[任意]WHATSAPP_CREATE_MESSAGE_TEMPLATE- 新しいテンプレートを作成する[任意]WHATSAPP_GET_MESSAGE_TEMPLATES- すべてのテンプレートを一覧表示する[任意]
主なパラメーター:
phone_number_id:ビジネス電話番号の IDtemplate_name:新しいテンプレートの名前category:テンプレートのカテゴリ(MARKETING、UTILITY、AUTHENTICATION)language:テンプレートの言語コード
注意点:
- 新しいテンプレートは、使用する前に Meta の審査が必要です
- テンプレート名は小文字とアンダースコアのみを使用してください(スペースは使用できません)
- カテゴリは料金と承認基準に影響します
- テンプレートのヘッダー、本文、ボタンには、それぞれ固有の書式要件があります
6. 連絡先を共有する
使用するタイミング:ユーザーが WhatsApp で連絡先情報を送信したい場合
ツールの順序:
WHATSAPP_SEND_CONTACTS- 連絡先カードを送信する[必須]
主なパラメーター:
to:受信者の電話番号contacts:名前、電話番号、メールアドレスの詳細を含む連絡先オブジェクトの配列
注意点:
- 連絡先オブジェクトは WhatsApp Business API の連絡先スキーマに従う必要があります
- 各連絡先には少なくとも名前が必要です
- 連絡先の電話番号には国番号を含めてください
よく使われるパターン
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 時間のウィンドウ外で企業側からメッセージを送信するには、テンプレートが必要です
- テンプレートメッセージは会話ごとに料金が発生します
- 電話番号ごと、およびアカウントごとにレート制限が適用されます
メディアの取り扱い:
- アップロードしたメディアには有効期限があります。アップロード後は速やかに使用してください
- メディアの URL は、誰でもアクセスできる HTTPS である必要があります
- スタンプには特定の要件があります(WebP 形式、512x512 ピクセル)
テンプレートの管理:
- テンプレートの審査には最大 24 時間かかることがあります
- 却下されたテンプレートは修正して再提出する必要があります
- テンプレート変数には二重波かっこを使用します:{{1}}、{{2}} など
クイックリファレンス
| タスク | ツールスラッグ | 主なパラメーター |
|---|---|---|
| メッセージを送信 | WHATSAPP_SEND_MESSAGE | to, body |
| テンプレートを送信 | WHATSAPP_SEND_TEMPLATE_MESSAGE | template_name, to, language_code |
| メディアをアップロード | WHATSAPP_UPLOAD_MEDIA | (file params) |
| IDでメディアを送信 | WHATSAPP_SEND_MEDIA_BY_ID | media_id, to, type |
| URLでメディアを送信 | WHATSAPP_SEND_MEDIA | media_url, to, type |
| メッセージに返信 | WHATSAPP_SEND_REPLY | message_id, to, body |
| 連絡先を送信 | WHATSAPP_SEND_CONTACTS | to, contacts |
| メディアを取得 | WHATSAPP_GET_MEDIA | media_id |
| 電話番号の一覧を取得 | WHATSAPP_GET_PHONE_NUMBERS | (none) |
| 電話番号を取得 | WHATSAPP_GET_PHONE_NUMBER | phone_number_id |
| ビジネスプロフィールを取得 | WHATSAPP_GET_BUSINESS_PROFILE | phone_number_id |
| テンプレートを作成 | WHATSAPP_CREATE_MESSAGE_TEMPLATE | template_name, category, language |
| テンプレートの一覧を取得 | WHATSAPP_GET_MESSAGE_TEMPLATES | (none) |
| テンプレートのステータスを確認 | WHATSAPP_GET_TEMPLATE_STATUS | template_id |
Composio 提供