segment-automation
通过Rube MCP(Composio)自动化Segment任务:追踪事件、识别用户、管理群组、页面浏览、别名设置及批量操作。始终优先搜索工具以获取最新架构。
Segment Automation via Rube MCP
Automate Segment customer data platform operations through Composio's Segment toolkit via Rube MCP.
Prerequisites
RUBE_MANAGE_CONNECTIONS with toolkit segmentRUBE_SEARCH_TOOLS first to get current tool schemasSetup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit segmentCore Workflows
1. Track Events
When to use: User wants to send event data to Segment for downstream destinations
Tool sequence:
SEGMENT_TRACK - Send a single track event [Required]Key parameters:
userId: User identifier (required if no anonymousId)anonymousId: Anonymous identifier (required if no userId)event: Event name (e.g., 'Order Completed', 'Button Clicked')properties: Object with event-specific propertiestimestamp: ISO 8601 timestamp (optional; defaults to server time)context: Object with contextual metadata (IP, user agent, etc.)Pitfalls:
userId or anonymousId is requiredevent name is required and should follow consistent naming conventions2. Identify Users
When to use: User wants to associate traits with a user profile in Segment
Tool sequence:
SEGMENT_IDENTIFY - Set user traits and identity [Required]Key parameters:
userId: User identifier (required if no anonymousId)anonymousId: Anonymous identifiertraits: Object with user properties (email, name, plan, etc.)timestamp: ISO 8601 timestampcontext: Contextual metadataPitfalls:
userId or anonymousId is requirednull3. Batch Operations
When to use: User wants to send multiple events, identifies, or other calls in a single request
Tool sequence:
SEGMENT_BATCH - Send multiple Segment calls in one request [Required]Key parameters:
batch: Array of message objects, each with:-
type: Message type ('track', 'identify', 'group', 'page', 'alias')-
userId / anonymousId: User identifier- Additional fields based on type (event, properties, traits, etc.)
Pitfalls:
type field4. Group Users
When to use: User wants to associate a user with a company, team, or organization
Tool sequence:
SEGMENT_GROUP - Associate user with a group [Required]Key parameters:
userId: User identifier (required if no anonymousId)anonymousId: Anonymous identifiergroupId: Group/organization identifier (required)traits: Object with group properties (name, industry, size, plan)timestamp: ISO 8601 timestampPitfalls:
groupId is required; it identifies the company or organization5. Track Page Views
When to use: User wants to record page view events in Segment
Tool sequence:
SEGMENT_PAGE - Send a page view event [Required]Key parameters:
userId: User identifier (required if no anonymousId)anonymousId: Anonymous identifiername: Page name (e.g., 'Home', 'Pricing', 'Dashboard')category: Page category (e.g., 'Docs', 'Marketing')properties: Object with page-specific properties (url, title, referrer)Pitfalls:
userId or anonymousId is requiredname and category are optional but recommended for proper analyticsurl, title, referrer, path, search6. Alias Users and Manage Sources
When to use: User wants to merge anonymous and identified users, or manage source configuration
Tool sequence:
SEGMENT_ALIAS - Link two user identities together [Optional]SEGMENT_LIST_SCHEMA_SETTINGS_IN_SOURCE - View source schema settings [Optional]SEGMENT_UPDATE_SOURCE - Update source configuration [Optional]Key parameters:
-
userId: New user identifier (the identified ID)-
previousId: Old user identifier (the anonymous ID)-
sourceId: Source identifierPitfalls:
previousId is the anonymous/old ID, userId is the new/identified IDCommon Patterns
User Lifecycle
Standard Segment user lifecycle:
1. Anonymous user visits -> PAGE call with anonymousId
User interacts -> TRACK call with anonymousId
User signs up -> ALIAS (anonymousId -> userId), then IDENTIFY with traits
User takes action -> TRACK call with userId
User joins org -> GROUP call linking userId to groupId Batch Optimization
For bulk data ingestion:
1. Collect events in memory (array of message objects)
Each message includes type, userId/anonymousId, and type-specific fields
Call SEGMENT_BATCH with the collected messages
Check response for any individual message errors Naming Conventions
Segment recommends consistent event naming:
Known Pitfalls
Identity Resolution:
userId or anonymousId on every callData Quality:
Rate Limits:
Response Parsing:
data keyTimestamps:
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 |