Antigravity-awesome-skills mixpanel-automation
Automate Mixpanel tasks via Rube MCP (Composio): events, segmentation, funnels, cohorts, user profiles, JQL queries. Always search tools first for current schemas.
git clone https://github.com/benjaminasterA/antigravity-awesome-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/benjaminasterA/antigravity-awesome-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/mixpanel-automation" ~/.claude/skills/benjaminastera-antigravity-awesome-skills-mixpanel-automation && rm -rf "$T"
skills/mixpanel-automation/SKILL.mdMixpanel Automation via Rube MCP
Automate Mixpanel product analytics through Composio's Mixpanel toolkit via Rube MCP.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Mixpanel connection via
with toolkitRUBE_MANAGE_CONNECTIONSmixpanel - Always call
first to get current tool schemasRUBE_SEARCH_TOOLS
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.
- Verify Rube MCP is available by confirming
respondsRUBE_SEARCH_TOOLS - Call
with toolkitRUBE_MANAGE_CONNECTIONSmixpanel - If connection is not ACTIVE, follow the returned auth link to complete Mixpanel authentication
- 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:
- List projects to get project ID [Prerequisite]MIXPANEL_GET_ALL_PROJECTS
- Get event counts and aggregations [Required]MIXPANEL_AGGREGATE_EVENT_COUNTS
Key parameters:
: Event name or array of event names to aggregateevent
/from_date
: Date range in 'YYYY-MM-DD' formatto_date
: Time granularity ('minute', 'hour', 'day', 'week', 'month')unit
: Aggregation type ('general', 'unique', 'average')type
: Filter expression for event propertieswhere
Pitfalls:
- Date format must be 'YYYY-MM-DD'; other formats cause errors
- Event names are case-sensitive; use exact names from your Mixpanel project
filter uses Mixpanel expression syntax (e.g.,where
)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:
- Run segmentation analysis [Required]MIXPANEL_QUERY_SEGMENTATION
Key parameters:
: Event name to segmentevent
/from_date
: Date range in 'YYYY-MM-DD' formatto_date
: Property to segment by (e.g.,on
)properties["country"]
: Time granularityunit
: Count type ('general', 'unique', 'average')type
: Filter expressionwhere
: Maximum number of segments to returnlimit
Pitfalls:
- The
parameter uses Mixpanel property expression syntaxon - Property references must use
formatproperties["prop_name"] - 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:
- List saved funnels to find funnel ID [Prerequisite]MIXPANEL_LIST_FUNNELS
- Execute funnel analysis [Required]MIXPANEL_QUERY_FUNNEL
Key parameters:
: ID of the saved funnel to queryfunnel_id
/from_date
: Date rangeto_date
: Time granularityunit
: Filter expressionwhere
: Property to segment funnel byon
: Conversion window in dayslength
Pitfalls:
is required; resolve via LIST_FUNNELS firstfunnel_id- Funnels must be created in Mixpanel UI first; API only queries existing funnels
- Conversion window (
) defaults vary; set explicitly for accuracylength - 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:
- Search and filter user profiles [Required]MIXPANEL_QUERY_PROFILES
- Update multiple user profiles [Optional]MIXPANEL_PROFILE_BATCH_UPDATE
Key parameters:
: Filter expression for profile properties (e.g.,where
)properties["plan"] == "premium"
: Array of property names to include in resultsoutput_properties
: Page number for paginationpage
: Session ID for consistent pagination (from first response)session_id- For batch update: array of profile updates with
and property operations$distinct_id
Pitfalls:
- Profile queries return paginated results; use
from first response for consistent pagingsession_id
uses Mixpanel expression syntax for profile propertieswhere- BATCH_UPDATE applies operations (
,$set
,$unset
,$add
) to profiles$append - 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:
- List all saved cohorts [Required]MIXPANEL_COHORTS_LIST
Key parameters:
- No required parameters; returns all accessible cohorts
- Response includes cohort
,id
,name
,descriptioncount
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
expressionswhere
6. Run JQL and Insight Queries
When to use: User wants to run custom JQL queries or insight analyses
Tool sequence:
- Execute a custom JQL (JavaScript Query Language) query [Optional]MIXPANEL_JQL_QUERY
- Run a saved insight query [Optional]MIXPANEL_QUERY_INSIGHT
Key parameters:
- For JQL:
containing the JQL JavaScript codescript - For Insight:
of the saved insightbookmark_id
: Project context for the queryproject_id
Pitfalls:
- JQL uses JavaScript-like syntax specific to Mixpanel
- JQL queries have execution time limits; optimize for efficiency
- Insight
must reference an existing saved insightbookmark_id - 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
number andpage
for consistent resultssession_id - 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
formatproperties["name"] - String values must be quoted:
properties["status"] == "active" - Numeric values are unquoted:
properties["count"] > 10 - Boolean values:
/true
(lowercase)false
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
keydata - 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
| Task | Tool Slug | Key Params |
|---|---|---|
| List projects | MIXPANEL_GET_ALL_PROJECTS | (none) |
| Aggregate events | MIXPANEL_AGGREGATE_EVENT_COUNTS | event, from_date, to_date, unit |
| Segmentation | MIXPANEL_QUERY_SEGMENTATION | event, on, from_date, to_date |
| List funnels | MIXPANEL_LIST_FUNNELS | (none) |
| Query funnel | MIXPANEL_QUERY_FUNNEL | funnel_id, from_date, to_date |
| Query profiles | MIXPANEL_QUERY_PROFILES | where, output_properties, page |
| Batch update profiles | MIXPANEL_PROFILE_BATCH_UPDATE | (profile update objects) |
| List cohorts | MIXPANEL_COHORTS_LIST | (none) |
| JQL query | MIXPANEL_JQL_QUERY | script |
| Query insight | MIXPANEL_QUERY_INSIGHT | bookmark_id |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.