Get the FREE Ultimate OpenClaw Setup Guide →

mixpanel-automation

npx machina-cli add skill davepoon/buildwithclaude/mixpanel-automation --openclaw
Files (1)
SKILL.md
8.5 KB

Mixpanel Automation via Rube MCP

Automate Mixpanel product analytics through Composio's Mixpanel toolkit via Rube MCP.

Toolkit docs: composio.dev/toolkits/mixpanel

Prerequisites

  • Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
  • Active Mixpanel connection via RUBE_MANAGE_CONNECTIONS with toolkit mixpanel
  • 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 mixpanel
  3. If connection is not ACTIVE, follow the returned auth link to complete Mixpanel authentication
  4. Confirm connection status shows ACTIVE before running any workflows

Core Workflows

1. Aggregate Event Data

When to use: User wants to count events, get totals, or track event trends over time

Tool sequence:

  1. MIXPANEL_GET_ALL_PROJECTS - List projects to get project ID [Prerequisite]
  2. MIXPANEL_AGGREGATE_EVENT_COUNTS - Get event counts and aggregations [Required]

Key parameters:

  • event: Event name or array of event names to aggregate
  • from_date / to_date: Date range in 'YYYY-MM-DD' format
  • unit: Time granularity ('minute', 'hour', 'day', 'week', 'month')
  • type: Aggregation type ('general', 'unique', 'average')
  • where: Filter expression for event properties

Pitfalls:

  • Date format must be 'YYYY-MM-DD'; other formats cause errors
  • Event names are case-sensitive; use exact names from your Mixpanel project
  • where filter uses Mixpanel expression syntax (e.g., properties["country"] == "US")
  • Maximum date range may be limited depending on your Mixpanel plan

2. Run Segmentation Queries

When to use: User wants to break down events by properties for detailed analysis

Tool sequence:

  1. MIXPANEL_QUERY_SEGMENTATION - Run segmentation analysis [Required]

Key parameters:

  • event: Event name to segment
  • from_date / to_date: Date range in 'YYYY-MM-DD' format
  • on: Property to segment by (e.g., properties["country"])
  • unit: Time granularity
  • type: Count type ('general', 'unique', 'average')
  • where: Filter expression
  • limit: Maximum number of segments to return

Pitfalls:

  • The on parameter uses Mixpanel property expression syntax
  • Property references must use properties["prop_name"] format
  • Segmentation on high-cardinality properties returns capped results; use limit
  • Results are grouped by the segmentation property and time unit

3. Analyze Funnels

When to use: User wants to track conversion funnels and identify drop-off points

Tool sequence:

  1. MIXPANEL_LIST_FUNNELS - List saved funnels to find funnel ID [Prerequisite]
  2. MIXPANEL_QUERY_FUNNEL - Execute funnel analysis [Required]

Key parameters:

  • funnel_id: ID of the saved funnel to query
  • from_date / to_date: Date range
  • unit: Time granularity
  • where: Filter expression
  • on: Property to segment funnel by
  • length: Conversion window in days

Pitfalls:

  • funnel_id is required; resolve via LIST_FUNNELS first
  • Funnels must be created in Mixpanel UI first; API only queries existing funnels
  • Conversion window (length) defaults vary; set explicitly for accuracy
  • Large date ranges with segmentation can produce very large responses

4. Manage User Profiles

When to use: User wants to query or update user profiles in Mixpanel

Tool sequence:

  1. MIXPANEL_QUERY_PROFILES - Search and filter user profiles [Required]
  2. MIXPANEL_PROFILE_BATCH_UPDATE - Update multiple user profiles [Optional]

Key parameters:

  • where: Filter expression for profile properties (e.g., properties["plan"] == "premium")
  • output_properties: Array of property names to include in results
  • page: Page number for pagination
  • session_id: Session ID for consistent pagination (from first response)
  • For batch update: array of profile updates with $distinct_id and property operations

Pitfalls:

  • Profile queries return paginated results; use session_id from first response for consistent paging
  • where uses Mixpanel expression syntax for profile properties
  • BATCH_UPDATE applies operations ($set, $unset, $add, $append) to profiles
  • Batch update has a maximum number of profiles per request; chunk larger updates
  • Profile property names are case-sensitive

5. Manage Cohorts

When to use: User wants to list or analyze user cohorts

Tool sequence:

  1. MIXPANEL_COHORTS_LIST - List all saved cohorts [Required]

Key parameters:

  • No required parameters; returns all accessible cohorts
  • Response includes cohort id, name, description, count

Pitfalls:

  • Cohorts are created and managed in Mixpanel UI; API provides read access
  • Cohort IDs are numeric; use exact ID from list results
  • Cohort counts may be approximate for very large cohorts
  • Cohorts can be used as filters in other queries via where expressions

6. Run JQL and Insight Queries

When to use: User wants to run custom JQL queries or insight analyses

Tool sequence:

  1. MIXPANEL_JQL_QUERY - Execute a custom JQL (JavaScript Query Language) query [Optional]
  2. MIXPANEL_QUERY_INSIGHT - Run a saved insight query [Optional]

Key parameters:

  • For JQL: script containing the JQL JavaScript code
  • For Insight: bookmark_id of the saved insight
  • project_id: Project context for the query

Pitfalls:

  • JQL uses JavaScript-like syntax specific to Mixpanel
  • JQL queries have execution time limits; optimize for efficiency
  • Insight bookmark_id must reference an existing saved insight
  • JQL is a legacy feature; check Mixpanel documentation for current availability

Common Patterns

ID Resolution

Project name -> Project ID:

1. Call MIXPANEL_GET_ALL_PROJECTS
2. Find project by name in results
3. Extract project id

Funnel name -> Funnel ID:

1. Call MIXPANEL_LIST_FUNNELS
2. Find funnel by name
3. Extract funnel_id

Mixpanel Expression Syntax

Used in where and on parameters:

  • Property reference: properties["property_name"]
  • Equality: properties["country"] == "US"
  • Comparison: properties["age"] > 25
  • Boolean: properties["is_premium"] == true
  • Contains: "search_term" in properties["name"]
  • AND/OR: properties["country"] == "US" and properties["plan"] == "pro"

Pagination

  • Event queries: Follow date-based pagination by adjusting date ranges
  • Profile queries: Use page number and session_id for consistent results
  • Funnel/cohort lists: Typically return complete results without pagination

Known Pitfalls

Date Formats:

  • Always use 'YYYY-MM-DD' format
  • Date ranges are inclusive on both ends
  • Data freshness depends on Mixpanel ingestion delay (typically minutes)

Expression Syntax:

  • Property references always use properties["name"] format
  • String values must be quoted: properties["status"] == "active"
  • Numeric values are unquoted: properties["count"] > 10
  • Boolean values: true / false (lowercase)

Rate Limits:

  • Mixpanel API has rate limits per project
  • Large segmentation queries may time out; reduce date range or segments
  • Use batch operations where available to minimize API calls

Response Parsing:

  • Response data may be nested under data key
  • Event data is typically grouped by date and segment
  • Numeric values may be returned as strings; parse explicitly
  • Empty date ranges return empty objects, not empty arrays

Quick Reference

TaskTool SlugKey Params
List projectsMIXPANEL_GET_ALL_PROJECTS(none)
Aggregate eventsMIXPANEL_AGGREGATE_EVENT_COUNTSevent, from_date, to_date, unit
SegmentationMIXPANEL_QUERY_SEGMENTATIONevent, on, from_date, to_date
List funnelsMIXPANEL_LIST_FUNNELS(none)
Query funnelMIXPANEL_QUERY_FUNNELfunnel_id, from_date, to_date
Query profilesMIXPANEL_QUERY_PROFILESwhere, output_properties, page
Batch update profilesMIXPANEL_PROFILE_BATCH_UPDATE(profile update objects)
List cohortsMIXPANEL_COHORTS_LIST(none)
JQL queryMIXPANEL_JQL_QUERYscript
Query insightMIXPANEL_QUERY_INSIGHTbookmark_id

Powered by Composio

Source

git clone https://github.com/davepoon/buildwithclaude/blob/main/plugins/all-skills/skills/mixpanel-automation/SKILL.mdView on GitHub

Overview

Automate Mixpanel operations through Composio's Mixpanel toolkit using Rube MCP. Covers events, segmentation, funnels, cohorts, and user profiles, with support for JQL-style queries. Always call RUBE_SEARCH_TOOLS first to fetch current schemas.

How This Skill Works

Leverages Rube MCP to orchestrate Mixpanel tasks via predefined tool commands (e.g., MIXPANEL_GET_ALL_PROJECTS, MIXPANEL_AGGREGATE_EVENT_COUNTS, MIXPANEL_QUERY_SEGMENTATION, MIXPANEL_LIST_FUNNELS, MIXPANEL_QUERY_PROFILES, MIXPANEL_PROFILE_BATCH_UPDATE). Ensure an ACTIVE Mixpanel connection and run RUBE_SEARCH_TOOLS to fetch latest schemas before executing workflows.

When to Use It

  • When you need counts or trends for Mixpanel events across projects
  • When you want breakdowns by properties via segmentation queries
  • When analyzing conversion funnels and identifying drop-offs
  • When querying or updating user profiles in bulk
  • When you need to verify and refresh current Mixpanel schemas before building workflows

Quick Start

  1. Step 1: Verify RUBE_SEARCH_TOOLS responds to fetch current tool schemas
  2. Step 2: Run RUBE_MANAGE_CONNECTIONS with toolkit mixpanel and complete authentication if needed; ensure status is ACTIVE
  3. Step 3: Run a core workflow (e.g., MIXPANEL_GET_ALL_PROJECTS then MIXPANEL_AGGREGATE_EVENT_COUNTS) and review results

Best Practices

  • Always call RUBE_SEARCH_TOOLS first to fetch current tool schemas
  • Ensure MIXPANEL connection status is ACTIVE before running workflows
  • Use exact event names and from_date/to_date in YYYY-MM-DD format
  • Limit high-cardinality segmentation and set a reasonable limit for results
  • Test workflows incrementally and validate results against the Mixpanel UI

Example Use Cases

  • Automate daily event counts for multiple Mixpanel projects and surface trends
  • Run segmentation on country or platform to map user geography and device usage
  • Evaluate onboarding or checkout funnels with a defined conversion window
  • Query and batch-update user profiles with new attributes for a cohort
  • Execute a JQL-style query to extract specific user data for advanced analyses

Frequently Asked Questions

Add this skill to your agents

Related Skills

amplitude-automation

davepoon/buildwithclaude

Automate Amplitude tasks via Rube MCP (Composio): events, user activity, cohorts, user identification. Always search tools first for current schemas.

ab-test-setup

coreyhaines31/marketingskills

When the user wants to plan, design, or implement an A/B test or experiment. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," or "how long should I run this test." Use this whenever someone is comparing two approaches and wants to measure which performs better. For tracking implementation, see analytics-tracking. For page-level conversion optimization, see page-cro.

analytics-tracking

coreyhaines31/marketingskills

When the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions "set up tracking," "GA4," "Google Analytics," "conversion tracking," "event tracking," "UTM parameters," "tag manager," "GTM," "analytics implementation," "tracking plan," "how do I measure this," "track conversions," "attribution," "Mixpanel," "Segment," "are my events firing," or "analytics isn't working." Use this whenever someone asks how to know if something is working or wants to measure marketing results. For A/B test measurement, see ab-test-setup.

google-analytics-automation

davepoon/buildwithclaude

Automate Google Analytics tasks via Rube MCP (Composio): run reports, list accounts/properties, funnels, pivots, key events. Always search tools first for current schemas.

segment-automation

davepoon/buildwithclaude

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.

data-analysis

laragentic/agents

Analyze datasets, generate insights, and create visualizations

Sponsor this space

Reach thousands of developers