Automate Segment tasks via Rube MCP (Composio): track events, identify users, manage groups, page views, aliases, batch operations. Always search tools first for current schemas.
Install with Tessl CLI
npx tessl i github:davepoon/buildwithclaude --skill segment-automation71
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Automate Segment customer data platform operations through Composio's Segment toolkit via Rube MCP.
Toolkit docs: composio.dev/toolkits/segment
RUBE_MANAGE_CONNECTIONS with toolkit segmentRUBE_SEARCH_TOOLS first to get current tool schemasGet 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 segmentWhen 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 conventionsWhen 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 requirednullWhen 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 identifierPitfalls:
type fieldWhen 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 organizationWhen 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, searchWhen 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 IDStandard Segment user lifecycle:
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 groupIdFor bulk data ingestion:
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 errorsSegment recommends consistent event naming:
Identity Resolution:
userId or anonymousId on every callData Quality:
Rate Limits:
Response Parsing:
data keyTimestamps:
| 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
6b5172a
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.