mcpField
W
whatsapp-automation

whatsapp-automation

github.com/composiohq营销与增长78.3k83 次安装14 周前更新
代码仓库

关于 whatsapp-automation

whatsapp-automation 是通过 Rube MCP 使用 Composio 工具包自动处理 WhatsApp Business 业务的技能,涵盖消息、模板、媒体、联系人和企业资料。

主要功能

  1. 01发送文本和模板消息
  2. 02上传并发送媒体
  3. 03回复收到的消息
  4. 04分享联系人卡片
  5. 05查看企业资料并管理模板

适用场景

  1. 01在允许的时间窗口内发送客户消息
  2. 02发送已批准的外发沟通模板
  3. 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)
  • 通过 RUBE_MANAGE_CONNECTIONS 建立有效的 WhatsApp 连接,并使用工具包 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

核心工作流

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 小时窗口内收到的消息
  • 回复会在对话中显示为引用消息
  • 原始消息必须仍然存在(未删除),引用才会显示
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 小时后,只能发送已获批准的模板消息
  • 模板消息可以重新开启对话窗口
电话号码解析
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_MESSAGEto, body
发送模板WHATSAPP_SEND_TEMPLATE_MESSAGEtemplate_name, to, language_code
上传媒体WHATSAPP_UPLOAD_MEDIA(file params)
按 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(none)
获取电话号码WHATSAPP_GET_PHONE_NUMBERphone_number_id
获取企业资料WHATSAPP_GET_BUSINESS_PROFILEphone_number_id
创建模板WHATSAPP_CREATE_MESSAGE_TEMPLATEtemplate_name, category, language
列出模板WHATSAPP_GET_MESSAGE_TEMPLATES(none)
检查模板状态WHATSAPP_GET_TEMPLATE_STATUStemplate_id

由 Composio 提供支持

评论

支持 Markdown