关于 segment-automation
segment-automation 是通过 Composio 的 Segment 工具包和 Rube MCP 自动处理 Segment 客户数据操作的技能,支持事件与身份调用、批量提交及来源配置。
主要功能
- 01发送跟踪事件和页面浏览
- 02识别用户并更新属性
- 03批量提交多项 Segment 调用
- 04将用户关联到群组
- 05关联用户身份
- 06查看和更新来源设置
适用场景
- 01向 Segment 导入产品事件
- 02记录用户属性和页面浏览
- 03批量发送分析消息
- 04将匿名用户关联到已识别资料
MCP 相关
通过 Rube MCP 使用 Composio 的 Segment 工具包。需要启用 Segment 连接,并使用 RUBE_SEARCH_TOOLS 获取当前工具 schema。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ davepoon/ buildwithclaude --skill segment-automation安装后在 Claude Code 中输入/segment-automation确认已加载。
详细介绍
通过 Rube MCP 自动化 Segment
通过 Rube MCP 使用 Composio 的 Segment 工具包,自动执行 Segment 客户数据平台操作。
工具包文档:composio.dev/toolkits/segment
前提条件
- 必须已连接 Rube MCP(可使用 RUBE_SEARCH_TOOLS)
- 通过工具包为
segment的RUBE_MANAGE_CONNECTIONS建立有效的 Segment 连接 - 始终先调用
RUBE_SEARCH_TOOLS,以获取当前工具架构
设置
获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务。无需 API 密钥——添加端点即可使用。
- 确认
RUBE_SEARCH_TOOLS有响应,以验证 Rube MCP 可用 - 调用工具包为
segment的RUBE_MANAGE_CONNECTIONS - 如果连接状态不是 ACTIVE,请按照返回的认证链接完成 Segment 身份验证
- 在运行任何工作流之前,确认连接状态显示为 ACTIVE
核心工作流
1. 跟踪事件
适用场景:用户希望向 Segment 发送事件数据,以便下游目标使用
工具调用顺序:
SEGMENT_TRACK- 发送单个跟踪事件 [必需]
关键参数:
userId:用户标识符(如果没有anonymousId,则为必需)anonymousId:匿名标识符(如果没有userId,则为必需)event:事件名称(例如,'Order Completed'、'Button Clicked')properties:包含事件专属属性的对象timestamp:ISO 8601 时间戳(可选;默认为服务器时间)context:包含上下文元数据(IP、用户代理等)的对象
注意事项:
userId和anonymousId至少需要提供一个- 必须提供
event名称,并且应遵循一致的命名规范 properties是自由格式对象;请确保不同事件间的架构一致- 时间戳必须采用 ISO 8601 格式(例如,'2024-01-15T10:30:00Z')
- 事件会异步处理;API 响应成功表示已接收,并不代表已送达
2. 识别用户
适用场景:用户希望在 Segment 中将特征关联到用户档案
工具调用顺序:
SEGMENT_IDENTIFY- 设置用户特征和身份 [必需]
关键参数:
userId:用户标识符(如果没有anonymousId,则为必需)anonymousId:匿名标识符traits:包含用户属性(电子邮件、姓名、套餐等)的对象timestamp:ISO 8601 时间戳context:上下文元数据
注意事项:
userId和anonymousId至少需要提供一个- 特征会与现有特征合并,而非替换
- 如需移除某项特征,请将其设为
null - 对新用户,应先调用 Identify,再调用 Track
- 除非目标已配置为接收个人身份信息(PII),否则请避免在特征中发送 PII
3. 批量操作
适用场景:用户希望在单个请求中发送多个事件、用户识别信息或其他调用
工具调用顺序:
SEGMENT_BATCH- 在一个请求中发送多个 Segment 调用 [必需]
关键参数:
batch:消息对象数组,每个对象包含:type:消息类型('track'、'identify'、'group'、'page'、'alias')userId/anonymousId:用户标识符- 根据类型提供的其他字段(event、properties、traits 等)
注意事项:
- 批次中的每条消息都必须包含有效的
type字段 - 存在批次大小上限;请查看架构以了解当前限制
- 批次中的所有消息都独立处理;一条消息失败不会影响其他消息
- 每条消息都必须单独满足其类型的要求(例如,track 需要事件名称)
- 批量操作是发送多个调用最有效的方式;优先于单独调用
4. 对用户进行分组
适用场景:用户希望将某个用户关联到一家公司、团队或组织
工具调用顺序:
SEGMENT_GROUP- 将用户关联到某个群组[必需]
关键参数:
userId:用户标识符(如果没有anonymousId,则必需)anonymousId:匿名标识符groupId:群组/组织标识符(必需)traits:包含群组属性的对象(名称、行业、规模、套餐)timestamp:ISO 8601 时间戳
注意事项:
- 必须提供
groupId;它用于标识公司或组织 - 群组特征会与该群组已有的特征合并
- 一个用户可以属于多个群组
- 群组特征会更新群组资料,而非用户资料
5. 跟踪页面浏览
适用场景:用户希望在 Segment 中记录页面浏览事件
工具调用顺序:
SEGMENT_PAGE- 发送页面浏览事件[必需]
关键参数:
userId:用户标识符(如果没有anonymousId,则必需)anonymousId:匿名标识符name:页面名称(例如,'Home'、'Pricing'、'Dashboard')category:页面类别(例如,'Docs'、'Marketing')properties:包含页面专属属性的对象(url、title、referrer)
注意事项:
- 必须至少提供
userId或anonymousId其中之一 name和category为可选项,但建议提供以便进行适当的分析- 标准属性包括
url、title、referrer、path、search - 页面调用通常会自动执行;手动调用用于服务端页面跟踪
6. 为用户创建别名并管理来源
适用场景:用户希望合并匿名用户与已识别用户,或管理来源配置
工具调用顺序:
SEGMENT_ALIAS- 关联两个用户身份[可选]SEGMENT_LIST_SCHEMA_SETTINGS_IN_SOURCE- 查看来源架构设置[可选]SEGMENT_UPDATE_SOURCE- 更新来源配置[可选]
关键参数:
- 对于 ALIAS:
userId:新的用户标识符(已识别的 ID)previousId:旧的用户标识符(匿名 ID)
- 对于来源操作:
sourceId:来源标识符
注意事项:
- ALIAS 是单向操作,无法撤销
previousId是匿名/旧 ID,userId是新的/已识别的 ID- 并非所有目标端都支持别名调用;请查阅目标端文档
- 用户首次完成身份识别时(例如注册),应调用一次 ALIAS
- 更新来源可能会影响数据收集;请仔细检查变更
常见模式
用户生命周期
标准的 Segment 用户生命周期:
1. Anonymous user visits -> PAGE call with anonymousId
2. User interacts -> TRACK call with anonymousId
3. User signs up -> ALIAS (anonymousId -> userId), then IDENTIFY with traits
4. User takes action -> TRACK call with userId
5. User joins org -> GROUP call linking userId to groupId
批处理优化
用于批量数据摄取:
1. Collect events in memory (array of message objects)
2. Each message includes type, userId/anonymousId, and type-specific fields
3. Call SEGMENT_BATCH with the collected messages
4. Check response for any individual message errors
命名约定
Segment 建议统一事件命名:
- 事件:使用“对象 动作”格式(例如,'Order Completed'、'Article Viewed')
- 属性:使用 snake_case(例如,'order_total'、'product_name')
- 特征:使用 snake_case(例如,'first_name'、'plan_type')
已知注意事项
身份解析:
- 每次调用都必须包含
userId或anonymousId - 每次用户身份合并仅使用一次 ALIAS
- 在跟踪事件前先进行身份识别,确保正确关联用户
数据质量:
- 所有来源中的事件名称应保持一致
- 属性应遵循既定架构,以确保下游兼容性
- 除非目标端已配置为处理敏感个人身份信息,否则请避免发送此类信息
速率限制:
- 批量操作时使用 BATCH,以遵守速率限制
- 单次调用会受到来源级别的速率限制
- 批量调用效率更高,也不容易受到限流
响应解析:
- 成功响应表示请求已被接受,并不代表已送达目标端
- 响应数据可能嵌套在
data键下 - 检查批量响应中的错误字段,查看单条消息是否失败
时间戳:
- 必须采用带时区的 ISO 8601 格式(例如,'2024-01-15T10:30:00Z')
- 省略时间戳时,将使用服务器接收时间
- 导入历史数据时应提供明确的时间戳
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| Track event | SEGMENT_TRACK | userId, event, properties |
| Identify user | SEGMENT_IDENTIFY | userId, traits |
| Batch calls | SEGMENT_BATCH | batch (array of messages) |
| Group user | SEGMENT_GROUP | userId, groupId, traits |
| Page view | SEGMENT_PAGE | userId, name, properties |
| Alias identity | SEGMENT_ALIAS | userId, previousId |
| Source schema | SEGMENT_LIST_SCHEMA_SETTINGS_IN_SOURCE | sourceId |
| Update source | SEGMENT_UPDATE_SOURCE | sourceId |
| Warehouses | SEGMENT_LIST_CONNECTED_WAREHOUSES_FROM_SOURCE | sourceId |
Powered by Composio