MR
Mayur Rathi
@mayurrathi
⭐ 5 GitHub stars

Segment Automation

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.

mkdir -p ./skills/segment-automation && curl -sfL https://raw.githubusercontent.com/mayurrathi/awesome-agent-skills/main/skills/segment-automation/SKILL.md -o ./skills/segment-automation/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# Segment Automation via Rube MCP


Automate Segment customer data platform operations through Composio's Segment toolkit via Rube MCP.


Prerequisites


- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)

- Active Segment connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `segment`

- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas


Setup


**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.



1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds

2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `segment`

3. If connection is not ACTIVE, follow the returned auth link to complete Segment authentication

4. Confirm connection status shows ACTIVE before running any workflows


Core Workflows


1. Track Events


**When to use**: User wants to send event data to Segment for downstream destinations


**Tool sequence**:

1. `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 properties

- `timestamp`: ISO 8601 timestamp (optional; defaults to server time)

- `context`: Object with contextual metadata (IP, user agent, etc.)


**Pitfalls**:

- At least one of `userId` or `anonymousId` is required

- `event` name is required and should follow consistent naming conventions

- Properties are freeform objects; ensure consistent schema across events

- Timestamp must be ISO 8601 format (e.g., '2024-01-15T10:30:00Z')

- Events are processed asynchronously; successful API response means accepted, not delivered


2. Identify Users


**When to use**: User wants to associate traits with a user profile in Segment


**Tool sequence**:

1. `SEGMENT_IDENTIFY` - Set user traits and identity [Required]


**Key parameters**:

- `userId`: User identifier (required if no `anonymousId`)

- `anonymousId`: Anonymous identifier

- `traits`: Object with user properties (email, name, plan, etc.)

- `timestamp`: ISO 8601 timestamp

- `context`: Contextual metadata


**Pitfalls**:

- At least one of `userId` or `anonymousId` is required

- Traits are merged with existing traits, not replaced

- To remove a trait, set it to `null`

- Identify calls should be made before track calls for new users

- Avoid sending PII in traits unless destinations are configured for it


3. Batch Operations


**When to use**: User wants to send multiple events, identifies, or other calls in a single request


**Tool sequence**:

1. `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**:

- Each message in the batch must have a valid `type` field

- Maximum batch size limit applies; check schema for current limit

- All messages in a batch are processed independently; one failure does not affect others

- Each message must independently satisfy its type's requirements (e.g., track needs event name)

- Batch is the most efficient way to send multiple calls; prefer over individual calls


4. Group Users


**When to use**: User wants to associate a user with a company, team, or organization


**Tool sequence**:

1. `SEGMENT_GROUP` - Associate user with a group [Required]


**Key parameters**:

- `userId`: User identifier (required if no `anonymousId`)

- `anonymousId`: Anonymous identifier

- `groupId`: Group/organization identifier (required)

- `traits`: Object with group properties (name, industry, size, plan)

- `timestamp`: ISO 8601 timestamp


**Pitfalls**:

- `groupId` is required; it identifies the company or organization

- Group tra

🎯 Best For

  • Claude users
  • Knowledge workers
  • Remote teams
  • Professionals

💡 Use Cases

  • Using Segment Automation in daily workflow
  • Automating repetitive productivity tasks

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply Segment Automation to Your Work

    Provide context for your task — paste source material, describe your audience, or share existing work to guide the AI.

  4. 4

    Review and Refine

    Edit the AI output for accuracy, tone, and completeness. Add human insight where the AI lacks context.

❓ Frequently Asked Questions

How do I install Segment Automation?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/segment-automation/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Not reading the full skill

Skills contain important context and edge cases beyond the quick start.

🔗 Related Skills