SendGrid邮件自动化Skill sendgrid-automation

此技能用于通过 Rube MCP 和 Composio 工具包自动化 SendGrid 邮件服务的操作,包括发送邮件、管理联系人、设置发件人身份和查看分析数据。适用于邮件营销自动化和工作流优化,关键词:SendGrid, 邮件自动化, Rube MCP, Composio, 营销活动, 联系人管理, 邮件分析, 自动化工具。

DevOps 0 次安装 0 次浏览 更新于 3/8/2026

名称: sendgrid-automation 描述: 通过 Rube MCP 自动化 SendGrid 邮件操作,包括发送邮件、管理联系人/列表、发件人身份、模板和分析,使用 Composio。始终优先搜索工具以获取当前模式。 要求: mcp: [rube] 类别: 电子邮件

通过 Rube MCP 的 SendGrid 自动化

通过 Composio 的 SendGrid 工具包自动化 SendGrid 邮件交付工作流,包括营销活动(单次发送)、联系人和列表管理、发件人身份设置和邮件分析。

工具包文档: composio.dev/toolkits/sendgrid

先决条件

  • Rube MCP 必须连接(RUBE_SEARCH_TOOLS 可用)
  • 通过 RUBE_MANAGE_CONNECTIONS 与工具包 sendgrid 建立活跃的 SendGrid 连接
  • 始终先调用 RUBE_SEARCH_TOOLS 以获取当前工具模式

设置

获取 Rube MCP: 在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务器。无需 API 密钥 — 只需添加端点即可工作。

  1. 通过确认 RUBE_SEARCH_TOOLS 响应来验证 Rube MCP 是否可用
  2. 使用工具包 sendgrid 调用 RUBE_MANAGE_CONNECTIONS
  3. 如果连接未激活,请按照返回的认证链接完成 SendGrid API 密钥认证
  4. 在运行任何工作流之前确认连接状态显示为激活

核心工作流

1. 创建和发送营销活动(单次发送)

何时使用: 用户希望创建并发送营销邮件活动到联系人列表或细分群体。

工具序列:

  1. SENDGRID_RETRIEVE_ALL_LISTS - 列出可用的营销列表以定位 [先决条件]
  2. SENDGRID_CREATE_A_LIST - 如果需要,创建新列表 [可选]
  3. SENDGRID_ADD_OR_UPDATE_A_CONTACT - 将联系人添加到列表 [可选]
  4. SENDGRID_GET_ALL_SENDER_IDENTITIES - 获取已验证的发件人 ID [先决条件]
  5. SENDGRID_CREATE_SINGLE_SEND - 创建带有内容、发件人和收件人的活动 [必需]

SENDGRID_CREATE_SINGLE_SEND 的关键参数:

  • name: 活动名称(必需)
  • email__config__subject: 邮件主题行
  • email__config__html__content: HTML 正文内容
  • email__config__plain__content: 纯文本版本
  • email__config__sender__id: 已验证的发件人身份 ID
  • email__config__design__id: 代替 html_content 使用预构建设计
  • send__to__list__ids: 要发送到的列表 UUID 数组
  • send__to__segment__ids: 细分群体 UUID 数组
  • send__to__all: true 以发送到所有联系人
  • email__config__suppression__group__idemail__config__custom__unsubscribe__url: 合规性必需的一项

陷阱:

  • 在 CREATE 上设置 send_at 不安排发送;它只预填充 UI 日期;使用 Schedule 端点单独安排
  • send_at: "now" 仅对 Schedule 端点有效,不对 CREATE
  • 必须提供 suppression_group_idcustom_unsubscribe_url 以符合退订合规性
  • 发件人必须在使用前验证;使用 SENDGRID_GET_ALL_SENDER_IDENTITIES 检查
  • 嵌套参数使用双下划线表示法(例如 email__config__subject

2. 管理联系人和列表

何时使用: 用户希望创建联系人列表、添加/更新联系人、搜索联系人或从列表中移除联系人。

工具序列:

  1. SENDGRID_RETRIEVE_ALL_LISTS - 列出所有营销列表 [必需]
  2. SENDGRID_CREATE_A_LIST - 创建新联系人列表 [可选]
  3. SENDGRID_GET_A_LIST_BY_ID - 获取列表详细信息和示例联系人 [可选]
  4. SENDGRID_ADD_OR_UPDATE_A_CONTACT - 更新联系人并与列表关联 [必需]
  5. SENDGRID_GET_CONTACTS_BY_EMAILS - 通过电子邮件查找联系人 [可选]
  6. SENDGRID_GET_CONTACTS_BY_IDENTIFIERS - 通过电子邮件、电话或外部 ID 查找联系人 [可选]
  7. SENDGRID_GET_LIST_CONTACT_COUNT - 操作后验证联系人计数 [可选]
  8. SENDGRID_REMOVE_CONTACTS_FROM_A_LIST - 从列表中移除联系人而不删除 [可选]
  9. SENDGRID_REMOVE_LIST_AND_OPTIONAL_CONTACTS - 删除整个列表 [可选]
  10. SENDGRID_IMPORT_CONTACTS - 从 CSV 批量导入 [可选]

SENDGRID_ADD_OR_UPDATE_A_CONTACT 的关键参数:

  • contacts: 联系人对象数组(最多 30,000 或 6MB),每个至少有一个标识符:emailphone_number_idexternal_idanonymous_id(必需)
  • list_ids: 要关联联系人的列表 UUID 字符串数组

陷阱:

  • SENDGRID_ADD_OR_UPDATE_A_CONTACT 是异步的;返回 202 和 job_id;联系人可能需要 10-30 秒才出现
  • 列表 ID 是 UUID(例如 “ca7a3796-e8a8-4029-9ccb-df8937940562”),不是整数
  • 列表名称必须唯一;重复名称会导致 400 错误
  • SENDGRID_ADD_A_SINGLE_RECIPIENT_TO_A_LIST 使用旧版 API;首选带 list_idsSENDGRID_ADD_OR_UPDATE_A_CONTACT
  • SENDGRID_REMOVE_LIST_AND_OPTIONAL_CONTACTS 不可逆;需要明确的用户确认
  • SendGrid 自动将电子邮件地址转换为小写

3. 管理发件人身份

何时使用: 用户希望设置或查看发件人身份(发件地址)以发送邮件。

工具序列:

  1. SENDGRID_GET_ALL_SENDER_IDENTITIES - 列出所有现有发件人身份 [必需]
  2. SENDGRID_CREATE_A_SENDER_IDENTITY - 创建新发件人身份 [可选]
  3. SENDGRID_VIEW_A_SENDER_IDENTITY - 查看特定发件人详细信息 [可选]
  4. SENDGRID_UPDATE_A_SENDER_IDENTITY - 更新发件人详细信息 [可选]
  5. SENDGRID_CREATE_VERIFIED_SENDER_REQUEST - 创建并验证新发件人 [可选]
  6. SENDGRID_AUTHENTICATE_A_DOMAIN - 设置域认证以自动验证 [可选]

SENDGRID_CREATE_A_SENDER_IDENTITY 的关键参数:

  • from__email: 发件电子邮件地址(必需)
  • from__name: 显示名称(必需)
  • reply__to__email: 回复地址(必需)
  • nickname: 内部标识符(必需)
  • address, city, country: 物理地址以符合 CAN-SPAM 合规性(必需)

陷阱:

  • 新发件人必须在使用前验证;如果域未认证,会发送验证邮件
  • 每个账户最多 100 个唯一发件人身份
  • 避免使用具有严格 DMARC 策略的域(如 gmail.com, yahoo.com)作为发件地址
  • SENDGRID_CREATE_VERIFIED_SENDER_REQUEST 发送验证邮件;发件人在验证前不可用

4. 查看邮件统计和活动

何时使用: 用户希望审查邮件交付统计、退信率、打开/点击指标或消息活动。

工具序列:

  1. SENDGRID_RETRIEVE_GLOBAL_EMAIL_STATISTICS - 获取账户范围的交付指标 [必需]
  2. SENDGRID_GET_ALL_CATEGORIES - 发现可用于过滤的类别 [可选]
  3. SENDGRID_RETRIEVE_EMAIL_STATISTICS_FOR_CATEGORIES - 按类别获取统计信息 [可选]
  4. SENDGRID_FILTER_ALL_MESSAGES - 通过收件人、状态或日期搜索邮件活动提要 [可选]
  5. SENDGRID_FILTER_MESSAGES_BY_MESSAGE_ID - 获取特定消息的详细事件 [可选]
  6. SENDGRID_REQUEST_CSV - 为大数据集将活动数据导出为 CSV [可选]
  7. SENDGRID_DOWNLOAD_CSV - 下载导出的 CSV 文件 [可选]

SENDGRID_RETRIEVE_GLOBAL_EMAIL_STATISTICS 的关键参数:

  • start_date: 开始日期 YYYY-MM-DD(必需)
  • end_date: 结束日期 YYYY-MM-DD
  • aggregated_by: “day”、“week” 或 “month”
  • limit / offset: 分页(默认 500)

SENDGRID_FILTER_ALL_MESSAGES 的关键参数:

  • query: SQL 类查询字符串,例如 status="delivered"to_email="user@example.com"、使用 BETWEEN TIMESTAMP 的日期范围
  • limit: 1-1000(默认 10)

陷阱:

  • SENDGRID_FILTER_ALL_MESSAGES 需要 “30 天额外邮件活动历史” 付费附加组件;没有则返回 403
  • 全局统计信息嵌套在 details[].stats[0].metrics 下,不是扁平结构
  • 类别统计信息仅对过去 13 个月可用
  • SENDGRID_RETRIEVE_EMAIL_STATISTICS_FOR_CATEGORIES 中每请求最多 10 个类别
  • CSV 导出每 12 小时限制一次请求;链接在 3 天后过期

5. 管理压制

何时使用: 用户希望检查或管理邮件合规性的退订组。

工具序列:

  1. SENDGRID_GET_SUPPRESSION_GROUPS - 列出所有压制组 [必需]
  2. SENDGRID_RETRIEVE_ALL_SUPPRESSION_GROUPS_FOR_AN_EMAIL_ADDRESS - 检查特定电子邮件的压制状态 [可选]

陷阱:

  • 压制的地址即使在营销列表中也无法送达
  • 活动发送计数可能因压制而低于列表计数

常见模式

ID 解析

在操作前始终将名称解析为 ID:

  • 列表名称 -> list_id: SENDGRID_RETRIEVE_ALL_LISTS 并按名称匹配
  • 发件人名称 -> sender_id: SENDGRID_GET_ALL_SENDER_IDENTITIES 并按名称匹配
  • 联系人电子邮件 -> contact_id: SENDGRID_GET_CONTACTS_BY_EMAILS 带电子邮件数组
  • 模板名称 -> template_id: 使用 SendGrid UI 或模板端点

分页

  • SENDGRID_RETRIEVE_ALL_LISTS: 基于令牌,使用 page_tokenpage_size(最大 1000)
  • SENDGRID_RETRIEVE_GLOBAL_EMAIL_STATISTICS: 基于偏移,使用 limit(最大 500)和 offset
  • 始终分页检索列表以避免遗漏现有列表

异步操作

联系人操作(ADD_OR_UPDATE_A_CONTACTIMPORT_CONTACTS)是异步的:

  • 返回 202 和 job_id
  • 等待 10-30 秒再使用 GET_CONTACTS_BY_EMAILS 验证
  • 使用 GET_LIST_CONTACT_COUNT 确认列表增长

已知陷阱

ID 格式

  • 营销列表 ID 是 UUID(例如 “ca7a3796-e8a8-4029-9ccb-df8937940562”)
  • 旧版列表 ID 是整数;不与营销 API 端点混合使用
  • 发件人身份 ID 是整数
  • 模板 ID:动态模板以 “d-” 开头,旧版模板是 UUID
  • 联系人 ID 是 UUID

速率限制

  • SendGrid 可能返回 HTTP 429;尊重 Retry-After
  • CSV 导出每 12 小时限制一次请求
  • 批量联系人更新最大:每请求 30,000 个联系人或 6MB

参数怪癖

  • 嵌套参数使用双下划线:email__config__subjectfrom__email
  • CREATE_SINGLE_SEND 上的 send_at 只设置 UI 默认,不安排
  • SENDGRID_ADD_A_SINGLE_RECIPIENT_TO_A_LIST 使用旧版 API;recipient_id 是 Base64 编码的小写电子邮件
  • SENDGRID_RETRIEVE_ALL_LISTSSENDGRID_GET_ALL_LISTS 都存在;对营销 API 首选 RETRIEVE_ALL_LISTS
  • 联系人添加是异步的(202);始终在延迟后验证

旧版 vs 营销 API

  • 一些工具使用旧版联系数据库 API(/v3/contactdb/),在新账户上可能返回 403
  • 首选营销 API 工具:SENDGRID_ADD_OR_UPDATE_A_CONTACTSENDGRID_RETRIEVE_ALL_LISTSSENDGRID_CREATE_SINGLE_SEND

快速参考

任务 工具 Slug 关键参数
列出营销列表 SENDGRID_RETRIEVE_ALL_LISTS page_size, page_token
创建列表 SENDGRID_CREATE_A_LIST name
按 ID 获取列表 SENDGRID_GET_A_LIST_BY_ID id
获取列表计数 SENDGRID_GET_LIST_CONTACT_COUNT id
添加/更新联系人 SENDGRID_ADD_OR_UPDATE_A_CONTACT contacts, list_ids
通过电子邮件搜索联系人 SENDGRID_GET_CONTACTS_BY_EMAILS emails
通过标识符搜索 SENDGRID_GET_CONTACTS_BY_IDENTIFIERS identifier_type, identifiers
从列表中移除 SENDGRID_REMOVE_CONTACTS_FROM_A_LIST id, contact_ids
删除列表 SENDGRID_REMOVE_LIST_AND_OPTIONAL_CONTACTS id, delete_contacts
导入联系人 CSV SENDGRID_IMPORT_CONTACTS 字段映射
创建单次发送 SENDGRID_CREATE_SINGLE_SEND name, email__config__*, send__to__list__ids
列出发件人身份 SENDGRID_GET_ALL_SENDER_IDENTITIES (无)
创建发件人 SENDGRID_CREATE_A_SENDER_IDENTITY from__email, from__name, address
验证发件人 SENDGRID_CREATE_VERIFIED_SENDER_REQUEST from_email, nickname, address
认证域 SENDGRID_AUTHENTICATE_A_DOMAIN domain
全局邮件统计 SENDGRID_RETRIEVE_GLOBAL_EMAIL_STATISTICS start_date, aggregated_by
类别统计 SENDGRID_RETRIEVE_EMAIL_STATISTICS_FOR_CATEGORIES start_date, categories
过滤邮件活动 SENDGRID_FILTER_ALL_MESSAGES query, limit
消息详情 SENDGRID_FILTER_MESSAGES_BY_MESSAGE_ID msg_id
导出 CSV SENDGRID_REQUEST_CSV query
下载 CSV SENDGRID_DOWNLOAD_CSV download_uuid
列出类别 SENDGRID_GET_ALL_CATEGORIES (无)
压制组 SENDGRID_GET_SUPPRESSION_GROUPS (无)
获取模板 SENDGRID_RETRIEVE_A_SINGLE_TRANSACTIONAL_TEMPLATE template_id
复制模板 SENDGRID_DUPLICATE_A_TRANSACTIONAL_TEMPLATE template_id, name

Powered by Composio