Mixpanel
Arcade.dev LLM tools for Mixpanel product analytics
1.0.4Mixpanel is a product analytics platform. This toolkit lets LLM agents query Mixpanel event data, user profiles, funnels, retention, and saved reports using a service account credential.
Capabilities
- Event analytics: Retrieve time-series trends for events, split by property; aggregate numeric properties (sum/average); compare event volume across matched time periods.
- Funnel & retention analysis: Fetch step-by-step conversion for saved funnels and cohort retention tables with computed percentages and weighted averages.
- User-level data: Look up individual user activity history and search profiles by property filter or cohort membership, with pagination support.
- Engagement & frequency: Measure how habitually users perform an event, bucketed by active periods to surface stickiness.
- Discovery & metadata: List tracked events (by volume), event properties, property values, saved funnels, saved cohorts, and saved Insights reports — providing the exact names required by filtering and segmentation tools.
- Connection verification: Confirm service account authentication, configured region, and project access in one call.
Secrets
All four secrets are required. No OAuth flow is used; authentication is via Mixpanel Service Account credentials.
-
MIXPANEL_SERVICE_ACCOUNT_USERNAME— The username of a Mixpanel Service Account. Service Accounts are created in your Mixpanel organization settings under Organization Settings → Service Accounts (requires Organization Admin role). The username is displayed when you create the account and follows the formusername.abc123.mp-service-account. See Mixpanel Service Accounts documentation for creation steps. -
MIXPANEL_SERVICE_ACCOUNT_SECRET— The secret (password) issued when a Service Account is created. It is shown only once at creation time in the Mixpanel UI; if lost, the account must be rotated. The Service Account must be granted at least Analyst role on the target project to read analytics data. -
MIXPANEL_PROJECT_ID— The numeric ID of the Mixpanel project to query. Found in Project Settings → Project ID within the Mixpanel UI, or returned by theWhoAmItool after valid credentials are configured. -
MIXPANEL_REGION— The data residency region for your Mixpanel project. Accepted values areUS(default) orEU. EU projects store data in the EU and use a different API base URL; using the wrong region causes empty results or auth errors. Check your project's data residency setting in Project Settings → Data Residency.
For guidance on configuring secrets in Arcade, see https://docs.arcade.dev/en/guides/create-tools/tool-basics/create-tool-secrets. Secrets can also be managed at https://api.arcade.dev/dashboard/auth/secrets.
Available tools(15)
| Tool name | Description | Secrets | |
|---|---|---|---|
Sum or average a numeric event property over time.
Use this for value metrics -- revenue, order size, duration -- where the answer
is a total or a mean rather than a count of events.
Aggregates one event at a time, so a project-wide total needs one call per
event carrying the property. | 3 | ||
Compare one event's volume between two periods, matched in length.
Reports the absolute change, the percentage change, and the direction, so the
"is this up or down" question is answered directly rather than left as
arithmetic over two payloads. A comparison window given explicitly can end up
shorter when it runs into today, and notes says so when it does.
This is also how to get one whole-window figure for unique_users or
average_events_per_user: each window is measured as a single span rather
than per bucket. It takes no breakdown, so it cannot answer a per-segment
question, and it fails rather than answering if Mixpanel does not reduce a
window to one figure.
Costs two of the 60 Mixpanel queries available per hour. | 3 | ||
Find Mixpanel user profiles by property filter or cohort membership.
A cohort is given by name or numeric ID and a name is resolved here, so there
is no need to list cohorts first.
Pages hold up to 1000 profiles; to read further ones, pass back the returned
session_id with an incremented page number.
Profile properties are a separate namespace from event properties; a filter
written against an event property will not match anything here. | 3 | ||
Get how habitually users perform an event.
Buckets users by how many distinct periods they were active in, separating
one-time users from a habitual core. Answers how sticky a feature is, which a
plain event count cannot. Buckets are cumulative thresholds, so they overlap
and do not sum to the user base.
Mixpanel measures each unit cohort separately and cannot dedupe users across
them, so total_users is a distinct headcount only when the window resolves to
one cohort and is null otherwise -- which the defaults produce, since a
30-day window holds four or five weekly cohorts. Quote peak_users_per_cohort
for scale, or query a window of one unit for a distinct total. | 3 | ||
Get a time series for one event, optionally split by a property.
A window-wide total comes back for total_events. Unique users and per-user
averages are counted within each bucket, so they report no window total
unless the window resolves to a single bucket.
Splitting by a property answers "which segment drove this" in one query.
Mixpanel allows only 60 queries per hour, so a single split query is
substantially cheaper than one filtered query per segment. | 3 | ||
Get step-by-step conversion for a saved Mixpanel funnel.
Takes the funnel's name or its numeric ID and resolves a name against the
project's saved funnels, so there is no need to list them first.
Steps are aggregated across the whole window rather than split into per-date
sub-funnels.
Costs two of the 60 Mixpanel queries available per hour. | 3 | ||
Get a cohort retention table with retention percentages computed.
The size-weighted average curve across cohorts is the figure usually meant by
"our day-7 retention".
Intervals are indexed as Mixpanel buckets them: index 0 holds users who came
back within the first period and runs close to 100%, and index N is retention
N periods out. first_time retention reports a window-wide headcount in
total_cohort_size; recurring re-enrols a user in every period they act in, so
the cohorts overlap and that field comes back null. | 3 | ||
Read the data behind a saved Mixpanel Insights report.
This is Mixpanel's supported way to query a report whose definition already
lives in the product, including breakdown and funnel report types that have no
direct API of their own.
The report's own saved date range and filters apply and cannot be overridden
through the API. Nested breakdowns are flattened to one series per segment. | 3 | ||
Get one user's chronological event history, newest first.
Use this to trace an individual journey -- reproducing a support report, or
seeing what a user did before churning. | 3 | ||
List the saved cohorts in this Mixpanel project, largest first.
Cohorts are created in the Mixpanel UI; they cannot be created here. | 3 | ||
List the property names recorded on an event, most frequent first.
These names are the valid inputs for segmenting or filtering this event in the
analytics tools. | 3 | ||
List the event names tracked in this Mixpanel project, ranked by volume.
Event names must be given to analytics tools exactly as tracked -- they are
case- and punctuation-sensitive, so "Sign Up" and "sign_up" are different
events. Returns the highest-volume events first. | 3 | ||
List the saved funnels in this Mixpanel project, with their IDs.
Mixpanel can only report on funnels that were saved in its UI; there is no way
to define an ad-hoc funnel over arbitrary events through the API. | 3 | ||
List the values observed for one property of an event.
Use this to get filter values exactly right: a filter on a value that does not
exist returns zero rows, which is indistinguishable from a genuine absence of
activity. | 3 | ||
Verify the Mixpanel connection and list the projects it can reach.
Confirms the service account authenticates, reports the configured region and
project, and checks that the configured project is one the service account can
actually read -- the usual cause of empty results or permission errors. | 3 |