Mixpanel
Arcade.dev LLM tools for Mixpanel product analytics
1.0.3The Mixpanel toolkit connects Arcade to Mixpanel's product analytics APIs, enabling LLM-driven querying of events, funnels, retention, user profiles, and saved reports within a Mixpanel project.
Capabilities
- Event analytics & trends: Query time-series event volumes, split by property segments, aggregate numeric properties (sum/average), and compare periods with computed deltas.
- Funnel & retention analysis: Retrieve step-by-step conversion for saved funnels and cohort retention tables with weighted average curves.
- User profiles & activity: Find profiles by property filter or cohort membership (paginated), and trace individual users' chronological event history.
- Engagement & frequency: Measure how habitually users perform an event, bucketing them by active periods to assess feature stickiness.
- Saved reports: Read data behind saved Mixpanel Insights reports, including breakdown and funnel types not directly accessible via raw API.
- Discovery & validation: List events, properties, property values, cohorts, and funnels; verify credentials and project access with a connection check tool.
Secrets
All four secrets are required. No OAuth flow is involved; authentication uses a Mixpanel service account.
-
MIXPANEL_SERVICE_ACCOUNT_USERNAME— The username of a Mixpanel service account. Service accounts are created in your Mixpanel project under Settings → Service Accounts (Organization or Project level). After creation, Mixpanel displays the username once; copy it immediately. See Mixpanel Service Accounts docs. -
MIXPANEL_SERVICE_ACCOUNT_SECRET— The secret (password) issued alongside the service account username. It is shown only at creation time in the same Settings → Service Accounts flow and cannot be retrieved afterward. If lost, create a new service account. See Mixpanel Service Accounts docs. -
MIXPANEL_PROJECT_ID— The numeric ID of the Mixpanel project to query. Find it in the Mixpanel UI under Settings → Project Settings; it appears in the URL and in the project details panel (e.g.,123456). The service account must have at least Analyst access to this project. -
MIXPANEL_REGION— The data residency region for the project:USorEU. Mixpanel routes EU-resident projects to a separate API endpoint (eu.mixpanel.com). Check your project's region under Settings → Project Settings → Data Residency. An incorrect value causes all API calls to return empty results or errors.
For how to store and reference secrets in Arcade, see the Arcade secrets guide. You can manage stored secrets 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 |