Mixpanel Component
Manage events, profiles, and analytics data in Mixpanel.
Component key: mixpanel
Description
Mixpanel is a product analytics platform that tracks user interactions with web and mobile applications. This component allows you to track events, manage user profiles, query analytics data, and create custom funnels.
API Documentation
This component was built using the Mixpanel HTTP API.
Connections
API Key
To authenticate with Mixpanel, a service account is required for API access, along with a project token for project-specific operations.
For more information, refer to Mixpanel's Service Account documentation.
Prerequisites
- A Mixpanel account with access to organization settings
- Permissions to create service accounts in the organization
- Access to the project where the integration will be used
Setup Steps
Setting up a Service Account:
- Navigate to Organization Settings > Service Accounts in Mixpanel
- Click Add Service Account to create a new service account
- Select the appropriate role and grant access to the required projects
- Click Add to complete the creation
- Copy the Username and Secret values that are provided
Obtaining the Project Token:
- Navigate to the Project Settings page in Mixpanel
- Locate the Access Keys section
- Copy the Project Token value
Configure the Connection
Enter the following values into the connection configuration:
- Username: The service account username from step 5 above
- Password: The service account secret from step 5 above
- Project Token: The project token from the Access Keys section
The service account role determines what operations can be performed through the API. Ensure the selected role has sufficient permissions for the integration's intended use. Refer to Mixpanel's documentation on roles and permissions for more information.
| Input | Notes | Example |
|---|---|---|
| Password | The Mixpanel Service Account secret. Obtain this from Settings > Organization Settings > Service Accounts in the Mixpanel dashboard. | a7183e1b7e9ab09b8a5cfa87d1934c3c |
| Project Token | The Mixpanel Project Token. Find this in Settings > Project Settings in the Mixpanel dashboard. | 725a93138a7d12e00f16912848590ae7 |
| Username | The Mixpanel Service Account username. Obtain this from Settings > Organization Settings > Service Accounts in the Mixpanel dashboard. | service-account-12345 |
Data Sources
Fetch Funnels
Fetch an array of funnels | key: funnels | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Mixpanel connection to use. | |
| Project ID | The Mixpanel project ID. <strong>Required</strong> when using service account authentication (Username and Password). Find this in Settings > Project Settings in your Mixpanel dashboard. | 2891273 |
| Region and Domain | The server location to use. Select 'mixpanel' for the default US servers or 'eu.mixpanel' for EU servers if you are enrolled in EU Data Residency. | |
| Workspace ID | The ID of the workspace if applicable. Only required for workspace-specific queries. | 3847562 |
{
"result": [
{
"label": "Signup funnel",
"key": "7509"
},
{
"label": "Funnel tutorial",
"key": "9070"
}
]
}
Fetch Pipelines
Fetch an array of Pipelines | key: pipelines | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Mixpanel connection to use. | |
| Data and Domain | The server location to use. Select 'data' for the default US servers or 'data-eu' for EU servers if you are enrolled in EU Data Residency. | |
| Project ID | The Mixpanel project ID. <strong>Required</strong> when using service account authentication (Username and Password). Find this in Settings > Project Settings in your Mixpanel dashboard. | 2891273 |
{
"result": [
{
"label": "events-daily-bigquery-monoschema - PipelineId: 9876543210",
"key": "events-daily-bigquery-monoschema"
},
{
"label": "events-daily-bigquery-multischema - PipelineId: 9876543210",
"key": "events-daily-bigquery-multischema"
}
]
}
Actions
Create Alias
Mixpanel supports adding an alias to a distinct id. | key: createAlias
| Input | Notes | Example |
|---|---|---|
| Alias | A new distinct_id to be merged with the original distinct_id. Each alias can only map to one distinct_id. | user-alias-67890 |
| Connection | The Mixpanel connection to use. | |
| Distinct ID | The unique identifier for the user post-identification. Equivalent to $identified_id and will be inferred if not provided. | user-12345 |
| Project Token | Your Mixpanel project token. Find this in Settings > Project Settings in your Mixpanel dashboard. | 725a93138a7d12e00f16912848590ae7 |
| Redirect | When provided, Mixpanel will serve a redirect to the given URL as a response. Useful for link tracking in notifications. | https://example.com/redirect |
| Region | The server location to use. Select 'api' for the default US servers or 'api-eu' for EU servers if you are enrolled in EU Data Residency. | |
| Strict | When true, Mixpanel will validate the provided records and return per-record error messages for records that fail validation. Set to 1 to enable strict validation. | 1 |
| Verbose | When true, Mixpanel will respond with a detailed JSON object describing the success or failure of the tracking call. Set to 1 to enable verbose responses for debugging. | 1 |
{
"data": 1
}
Create GCS Pipeline
This request creates an export pipeline. | key: createGCSPipeline
| Input | Notes | Example |
|---|---|---|
| Connection | The Mixpanel connection to use. | |
| Data and Domain | The server location to use. Select 'data' for the default US servers or 'data-eu' for EU servers if you are enrolled in EU Data Residency. | |
| Events | An array of event names to whitelist for export. Only these events will be exported from Mixpanel. | Signed Up, Purchase, Page View |
| Frequency | The export frequency. 'hourly' exports data every hour, 'daily' exports at midnight in the project's timezone. Only applies to indefinite export windows. | daily |
| From Date | The starting date of the export window. It is formatted as YYYY-MM-DD and cannot be more than six months in the past. If trial is set to true this will default to the previous day; otherwise, it is a required parameter. | 2024-01-01 |
| GCS Bucket | The Google Cloud Storage bucket name where Mixpanel data will be exported. | my-mixpanel-exports |
| GCS Prefix | The path prefix within the GCS bucket for organizing exported files. | mixpanel/events |
| GCS Region | The Google Cloud Storage region where the bucket is located. | northamerica-northeast1 |
| Project ID | Your project id (must be specified when using service account based authentication) | 2891273 |
| To Date | The ending date of the export window. It is formatted as YYYY-MM-DD. The export will continue indefinitely if to_date is empty. | 2024-01-31 |
| Trial | When true, creates a trial pipeline for testing purposes before production deployment. | |
| Where | A selector expression used to filter by events data, such as event properties. Learn more about how to construct event selector expressions here. | properties['account_id'] in [1,2,3,4] |
{
"data": {
"canceled": [
{
"project_id": 0,
"name": "string",
"state": "string",
"last_finish": "string",
"run_at": "string",
"from_date": "string",
"to_date": "string"
}
],
"retried": [
{
"project_id": 0,
"name": "string",
"state": "string",
"last_finish": "string",
"run_at": "string",
"from_date": "string",
"to_date": "string"
}
],
"succeeded": [
{
"project_id": 0,
"name": "string",
"state": "string",
"last_finish": "string",
"run_at": "string",
"from_date": "string",
"to_date": "string"
}
]
}
}
Create Generic Pipeline
This request creates an export pipeline. | key: createGenericPipeline
| Input | Notes | Example |
|---|---|---|
| Connection | The Mixpanel connection to use. | |
| Data | The HTTP body payload to send to the URL. | {"exampleKey": "Example Data"} |
| Data and Domain | The server location to use. Select 'data' for the default US servers or 'data-eu' for EU servers if you are enrolled in EU Data Residency. | |
| File Data | File Data to be sent as a multipart form upload. | [{key: "example.txt", value: "My File Contents"}] |
| File Data File Names | File names to apply to the file data inputs. Keys must match the file data keys above. | |
| Form Data | The Form Data to be sent as a multipart form upload. | [{"key": "Example Key", "value": new Buffer("Hello World")}] |
| Header | A list of headers to send with the request. | User-Agent: curl/7.64.1 |
| Max Retry Count | The maximum number of retries to attempt. Specify 0 for no retries. | 0 |
| Method | The HTTP method to use. | |
| Query Parameter | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | |
| Response Type | The type of data you expect in the response. You can request json, text, or binary data. | json |
| Retry On All Errors | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | false |
| Retry Delay (ms) | The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled. | 0 |
| Timeout | The maximum time that a client will await a response to its request | 2000 |
| URL | The endpoint to send the request to. Defaults to /nessie/pipeline/create. | /sobjects/Account |
| Use Exponential Backoff | Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored. | false |
Create Identity
Creates a new Identity | key: createIdentity
| Input | Notes | Example |
|---|---|---|
| Anon ID | The anonymous user ID to merge with the identified ID. Must be in UUID v4 format and not previously merged. | 3e2a0d22-7465-4dc3-a2ab-56f8762e1a29 |
| Connection | The Mixpanel connection to use. | |
| Identified ID | The identified user ID to merge with the anonymous ID. | user-12345 |
| Project Token | Your Mixpanel project token. Find this in Settings > Project Settings in your Mixpanel dashboard. | 725a93138a7d12e00f16912848590ae7 |
| Redirect | When provided, Mixpanel will serve a redirect to the given URL as a response. Useful for link tracking in notifications. | https://example.com/redirect |
| Region | The server location to use. Select 'api' for the default US servers or 'api-eu' for EU servers if you are enrolled in EU Data Residency. | |
| Strict | When true, Mixpanel will validate the provided records and return per-record error messages for records that fail validation. Set to 1 to enable strict validation. | 1 |
| Verbose | When true, Mixpanel will respond with a detailed JSON object describing the success or failure of the tracking call. Set to 1 to enable verbose responses for debugging. | 1 |
{
"data": 1
}
Create Profile
Takes a JSON object containing names and values of profile properties. This API will return a 200 OK even if there are data validation issues. To ensure the request actually succeeded, you need to check the response body. | key: createProfile
| Input | Notes | Example |
|---|---|---|
| Connection | The Mixpanel connection to use. | |
| Properties | An array of profile property objects. If the profile does not exist, it creates it with these properties. If it does exist, it sets the properties to these values, overwriting existing values. See the Engage API documentation for details. | |
| Redirect | When provided, Mixpanel will serve a redirect to the given URL as a response. Useful for link tracking in notifications. | https://example.com/redirect |
| Region | The server location to use. Select 'api' for the default US servers or 'api-eu' for EU servers if you are enrolled in EU Data Residency. | |
| Verbose | When true, Mixpanel will respond with a detailed JSON object describing the success or failure of the tracking call. Set to 1 to enable verbose responses for debugging. | 1 |
{
"data": {
"code": 200,
"num_records_imported": 2000,
"status": "OK"
}
}
Custom JQL Query
The HTTP API is the lowest-level way to use JQL. | key: customJQLQuery
| Input | Notes | Example |
|---|---|---|
| Connection | The Mixpanel connection to use. | |
| Params | A JSON object containing parameters that will be made available to the JQL script as the params global variable. | |
| Project ID | The Mixpanel project ID. <strong>Required</strong> when using service account authentication (Username and Password). Find this in Settings > Project Settings in your Mixpanel dashboard. | 2891273 |
| Region and Domain | The server location to use. Select 'mixpanel' for the default US servers or 'eu.mixpanel' for EU servers if you are enrolled in EU Data Residency. | |
| Script | The JQL script to execute. See the JQL API documentation for query syntax. | function main(){return Events(params).groupBy(['name'],mixpanel.reducer.count())} |
| Workspace ID | The ID of the workspace if applicable. Only required for workspace-specific queries. | 3847562 |
{
"data": 1
}
Delete Pipeline
Deletes the pipeline and stops any future jobs to be scheduled for the pipeline. | key: deletePipeline
| Input | Notes | Example |
|---|---|---|
| Connection | The Mixpanel connection to use. | |
| Data and Domain | The server location to use. Select 'data' for the default US servers or 'data-eu' for EU servers if you are enrolled in EU Data Residency. | |
| Name | The unique name that identifies the pipeline. | events-daily-export |
| Project ID | The Mixpanel project ID. <strong>Required</strong> when using service account authentication (Username and Password). Find this in Settings > Project Settings in your Mixpanel dashboard. | 2891273 |
| Use Project Token | When true, uses the project token from the connection to authenticate the request instead of service account credentials. | true |
{
"data": null
}
Delete Profile
Permanently delete the profile from Mixpanel, along with all of its properties. | key: deleteProfile
| Input | Notes | Example |
|---|---|---|
| Connection | The Mixpanel connection to use. | |
| Delete Profiles | An array of profile deletion objects. Permanently deletes profiles from Mixpanel along with all properties. The profile is determined by the $distinct_id. See the Engage API documentation for details. | |
| Redirect | When provided, Mixpanel will serve a redirect to the given URL as a response. Useful for link tracking in notifications. | https://example.com/redirect |
| Region | The server location to use. Select 'api' for the default US servers or 'api-eu' for EU servers if you are enrolled in EU Data Residency. | |
| Verbose | When true, Mixpanel will respond with a detailed JSON object describing the success or failure of the tracking call. Set to 1 to enable verbose responses for debugging. | 1 |
{
"data": {
"code": 200,
"num_records_imported": 2000,
"status": "OK"
}
}
Download Data
Download your event data as it is received and stored within Mixpanel. | key: downloadData
| Input | Notes | Example |
|---|---|---|
| Connection | The Mixpanel connection to use. | |
| Data and Domain | The server location to use. Select 'data' for the default US servers or 'data-eu' for EU servers if you are enrolled in EU Data Residency. | |
| Event Name | The name of the event to filter data by. | Page View |
| From Date | The start date for querying in YYYY-MM-DD format. This date is inclusive. | 2024-01-01 |
| Gzip Encoding | When true, the response will be compressed with gzip and Content-Encoding will be set to gzip. | false |
| Limit | The maximum number of top property values to return. Defaults to 255, maximum 10,000. Only applies when 'on' is specified. | 100 |
| Project ID | The Mixpanel project ID. <strong>Required</strong> when using service account authentication (Username and Password). Find this in Settings > Project Settings in your Mixpanel dashboard. | 2891273 |
| To Date | The end date for querying in YYYY-MM-DD format. This date is inclusive. | 2024-01-31 |
| Where | An expression to filter events by. More info on expression sequence structure can be found here: https://developer.mixpanel.com/reference/segmentation-expressions | properties['account_id'] in [1,2,3,4] |
{
"data": [
{
"event": "Signed up",
"properties": {
"time": 1602611311,
"$insert_id": "hpuDqcvpltpCjBsebtxwadtEBDnFAdycabFb",
"mp_processing_time_ms": 1602625711874
}
},
{
"event": "Signed up",
"properties": {
"time": 1602787121,
"$insert_id": "jajcebutltmvhbbholfhxtCcycwnBjDtndha",
"mp_processing_time_ms": 1602801521561
}
}
]
}
Edit GCS Pipeline
This request edit the params for an export pipeline. | key: editGCSPipeline
| Input | Notes | Example |
|---|---|---|
| Connection | The Mixpanel connection to use. | |
| Data and Domain | The server location to use. Select 'data' for the default US servers or 'data-eu' for EU servers if you are enrolled in EU Data Residency. | |
| Events | An array of event names to whitelist for export. Only these events will be exported from Mixpanel. | Signed Up, Purchase, Page View |
| Name | The unique name that identifies the pipeline. | events-daily-export |
| Project ID | Your project id (must be specified when using service account based authentication) | 2891273 |
| Where | A selector expression used to filter by events data, such as event properties. Please note that after this update, the sync of older dates to your data warehouse (if enabled) will only contain events matching your new where clause. | properties['account_id'] in [1,2,3,4] |
{
"data": null
}
Edit Generic Pipeline
This request edit the params for an export pipeline. | key: editGenericPipeline
| Input | Notes | Example |
|---|---|---|
| Connection | The Mixpanel connection to use. | |
| Data | The HTTP body payload to send to the URL. | {"exampleKey": "Example Data"} |
| Data and Domain | The server location to use. Select 'data' for the default US servers or 'data-eu' for EU servers if you are enrolled in EU Data Residency. | |
| File Data | File Data to be sent as a multipart form upload. | [{key: "example.txt", value: "My File Contents"}] |
| File Data File Names | File names to apply to the file data inputs. Keys must match the file data keys above. | |
| Form Data | The Form Data to be sent as a multipart form upload. | [{"key": "Example Key", "value": new Buffer("Hello World")}] |
| Header | A list of headers to send with the request. | User-Agent: curl/7.64.1 |
| Max Retry Count | The maximum number of retries to attempt. Specify 0 for no retries. | 0 |
| Method | The HTTP method to use. | |
| Name | The unique name that identifies the pipeline. | events-daily-export |
| Query Parameter | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | |
| Response Type | The type of data you expect in the response. You can request json, text, or binary data. | json |
| Retry On All Errors | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | false |
| Retry Delay (ms) | The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled. | 0 |
| Timeout | The maximum time that a client will await a response to its request | 2000 |
| URL | The endpoint to send the request to. Defaults to /nessie/pipeline/edit. | /sobjects/Account |
| Use Exponential Backoff | Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored. | false |
Get Pipeline
Given the name of the pipeline this API returns the status of the pipeline. | key: getPipeline
| Input | Notes | Example |
|---|---|---|
| Connection | The Mixpanel connection to use. | |
| Data and Domain | The server location to use. Select 'data' for the default US servers or 'data-eu' for EU servers if you are enrolled in EU Data Residency. | |
| Name | The unique name that identifies the pipeline. | events-daily-export |
| Project ID | The Mixpanel project ID. <strong>Required</strong> when using service account authentication (Username and Password). Find this in Settings > Project Settings in your Mixpanel dashboard. | 2891273 |
| Status | An array of status values to filter tasks. Valid options: pending, running, retried, failed, canceled, timed_out. | pending, running, retried |
| Summary | When true, returns only task count by status without detailed information. | false |
{
"data": {
"canceled": [
{
"project_id": 0,
"name": "string",
"state": "string",
"last_finish": "string",
"run_at": "string",
"from_date": "string",
"to_date": "string"
}
],
"retried": [
{
"project_id": 0,
"name": "string",
"state": "string",
"last_finish": "string",
"run_at": "string",
"from_date": "string",
"to_date": "string"
}
],
"succeeded": [
{
"project_id": 0,
"name": "string",
"state": "string",
"last_finish": "string",
"run_at": "string",
"from_date": "string",
"to_date": "string"
}
]
}
}
Import Events
Each request ingests a batch of events into Mixpanel. | key: importEvents
| Input | Notes | Example |
|---|---|---|
| Connection | The Mixpanel connection to use. | |
| Events | An array of event objects to ingest into Mixpanel. Each request accepts up to 2000 events and 2MB uncompressed. See the Event Ingestion API documentation for details. | |
| Project ID | The Mixpanel project ID. <strong>Required</strong> when using service account authentication (Username and Password). Find this in Settings > Project Settings in your Mixpanel dashboard. | 2891273 |
| Region | The server location to use. Select 'api' for the default US servers or 'api-eu' for EU servers if you are enrolled in EU Data Residency. | |
| Use Project Token | When true, uses the project token from the connection to authenticate the request instead of service account credentials. | false |
{
"data": {
"code": 200,
"num_records_imported": 2000,
"status": "OK"
}
}
List Pipelines
Returns the list of all the pipelines scheduled for a project. | key: listPipelines
| Input | Notes | Example |
|---|---|---|
| Connection | The Mixpanel connection to use. | |
| Data and Domain | The server location to use. Select 'data' for the default US servers or 'data-eu' for EU servers if you are enrolled in EU Data Residency. | |
| Project ID | The Mixpanel project ID. <strong>Required</strong> when using service account authentication (Username and Password). Find this in Settings > Project Settings in your Mixpanel dashboard. | 2891273 |
{
"data": {
"9876543210": [
{
"name": "events-daily-bigquery-monoschema",
"Dispatcher": "backfill",
"last_dispatched": "2019-02-01 12:00:00 US/Pacific",
"frequency": "hourly",
"sync_enabled": "true"
}
]
}
}
List Saved Funnels
Get the names and funnel_ids of your funnels. | key: listSavedFunnels
| Input | Notes | Example |
|---|---|---|
| Connection | The Mixpanel connection to use. | |
| Project ID | The Mixpanel project ID. <strong>Required</strong> when using service account authentication (Username and Password). Find this in Settings > Project Settings in your Mixpanel dashboard. | 2891273 |
| Region and Domain | The server location to use. Select 'mixpanel' for the default US servers or 'eu.mixpanel' for EU servers if you are enrolled in EU Data Residency. | |
| Use Project Token | When true, uses the project token from the connection to authenticate the request instead of service account credentials. | false |
| Workspace ID | The ID of the workspace if applicable. Only required for workspace-specific queries. | 3847562 |
{
"data": [
{
"funnel_id": 7509,
"name": "Signup funnel"
},
{
"funnel_id": 9070,
"name": "Funnel tutorial"
}
]
}
Query Funnel Saved Reports
Get data for a funnel. | key: queryFunnelSavedReports
| Input | Notes | Example |
|---|---|---|
| Connection | The Mixpanel connection to use. | |
| From Date | The start date for querying in YYYY-MM-DD format. This date is inclusive. | 2024-01-01 |
| Funnel ID | The unique identifier of the funnel to retrieve data for. | 7509 |
| Interval | The number of days for each time bucket. Defaults to 1 day per bucket. | 1 |
| Length | The number of units (defined by length_unit) each user has to complete the funnel. Maximum 90 days. Defaults to the value saved in the UI for this funnel. | 7 |
| Length Unit | The time unit for the length parameter. Defaults to the value saved in the UI for this funnel. | day |
| Limit | The maximum number of top property values to return. Defaults to 255, maximum 10,000. Only applies when 'on' is specified. | 100 |
| On | The property expression to segment the event on. See segmentation expressions for syntax details. | properties['account_id'] |
| Project ID | The Mixpanel project ID. <strong>Required</strong> when using service account authentication (Username and Password). Find this in Settings > Project Settings in your Mixpanel dashboard. | 2891273 |
| Region and Domain | The server location to use. Select 'mixpanel' for the default US servers or 'eu.mixpanel' for EU servers if you are enrolled in EU Data Residency. | |
| To Date | The end date for querying in YYYY-MM-DD format. This date is inclusive. | 2024-01-31 |
| Unit | An alternate way of specifying the interval. Choose day, week, or month. | week |
| Use Project Token | When true, uses the project token from the connection to authenticate the request instead of service account credentials. | false |
| Where | An expression to filter events. See segmentation expressions for syntax details. | properties['account_id'] in [1,2,3,4] |
| Workspace ID | The ID of the workspace if applicable. Only required for workspace-specific queries. | 3847562 |
{
"data": {
"meta": {
"dates": [
"2016-09-12",
"2016-09-19",
"2016-09-26"
]
},
"data": {
"2016-09-12": {
"steps": [
{
"count": 32688,
"avg_time": 2,
"avg_time_from_start": 5,
"step_conv_ratio": 1,
"goal": "App Open",
"overall_conv_ratio": 1,
"event": "App Open"
},
{
"count": 20524,
"avg_time": 133,
"avg_time_from_start": 133,
"step_conv_ratio": 0.627875673029858,
"goal": "$custom_event:12345",
"step_label": "Game Played",
"custom_event": true,
"custom_event_id": 12345,
"overall_conv_ratio": 0.627875673029858,
"event": "$custom_event:12345"
}
],
"analysis": {
"completion": 20524,
"starting_amount": 32688,
"steps": 2,
"worst": 1
}
},
"2016-09-19": {
"steps": [
{
"count": 32486,
"avg_time": 10,
"avg_time_from_start": 10,
"step_conv_ratio": 1,
"goal": "App Open",
"overall_conv_ratio": 1,
"event": "App Open"
},
{
"count": 20809,
"avg_time": 75,
"avg_time_from_start": 75,
"step_conv_ratio": 0.6405528535369082,
"goal": "$custom_event:12345",
"step_label": "Game Played",
"custom_event": true,
"custom_event_id": 12345,
"overall_conv_ratio": 0.6405528535369082,
"event": "$custom_event:12345"
}
],
"analysis": {
"completion": 20809,
"starting_amount": 32486,
"steps": 2,
"worst": 1
}
},
"2016-09-26": {
"steps": [
{
"count": 16103,
"avg_time": 10,
"avg_time_from_start": 5,
"step_conv_ratio": 1,
"goal": "App Open",
"overall_conv_ratio": 1,
"event": "App Open"
},
{
"count": 12679,
"avg_time": 571,
"avg_time_from_start": 571,
"step_conv_ratio": 0.7873688132646091,
"goal": "$custom_event:12345",
"step_label": "Game Played",
"custom_event": true,
"custom_event_id": 12345,
"overall_conv_ratio": 0.7873688132646091,
"event": "$custom_event:12345"
}
],
"analysis": {
"completion": 12679,
"starting_amount": 16103,
"steps": 2,
"worst": 1
}
}
}
}
}
Query Insights Saved Reports
Get data from your Insights reports. | key: queryInsightsSavedReports
| Input | Notes | Example |
|---|---|---|
| Bookmark ID | The ID of your Insights report. Find this in the URL: https://mixpanel.com/report/1/insights#report/YOUR_BOOKMARK_ID/example-report | 8947562 |
| Connection | The Mixpanel connection to use. | |
| Project ID | The Mixpanel project ID. <strong>Required</strong> when using service account authentication (Username and Password). Find this in Settings > Project Settings in your Mixpanel dashboard. | 2891273 |
| Region and Domain | The server location to use. Select 'mixpanel' for the default US servers or 'eu.mixpanel' for EU servers if you are enrolled in EU Data Residency. | |
| Workspace ID | The ID of the workspace if applicable. Only required for workspace-specific queries. | 3847562 |
{
"data": {
"computed_at": "2020-09-21T16:35:41.252314+00:00",
"date_range": {
"from_date": "2020-08-31T00:00:00-07:00",
"to_date": "2020-09-12T23:59:59.999000-07:00"
},
"headers": [
"$event"
],
"series": {
"Logged in": {
"2020-08-31T00:00:00-07:00": 9852,
"2020-09-07T00:00:00-07:00": 4325
},
"Viewed page": {
"2020-08-31T00:00:00-07:00": 10246,
"2020-09-07T00:00:00-07:00": 11432
}
}
}
}
Query Profile
Query user profile data and return list of users that fit specified parameters. | key: queryProfiles
| Input | Notes | Example |
|---|---|---|
| As Of Timestamp | A Unix timestamp for querying profiles as of a specific time. <strong>Required</strong> when exporting more than 1k profiles with behaviors parameter. | 1609459200 |
| Behaviors | Event selector for exporting user profiles based on behaviors. <strong>Note:</strong> Mutually exclusive with filter_by_cohort. | event("Purchase").count() > 5 |
| Connection | The Mixpanel connection to use. | |
| Distinct IDs | An array of unique identifiers to distinguish individual profiles. Each ID represents a distinct user profile. | user-12345, user-67890 |
| Filter By Cohort | A JSON object containing the cohort ID to filter by. Format: {"id":12345}. <strong>Note:</strong> Mutually exclusive with behaviors. | {"id":12345} |
| Include All Users | When true, includes distinct_ids without user profiles. When false, only includes distinct_ids with user profiles. Only applies when using filter_by_cohort. | false |
| Output Properties | An array of property names to return in the response. Specifying properties can significantly reduce response size and improve query performance. | $last_name, $email, Total Spent |
| Page | The page number of results to retrieve (zero-indexed). <strong>Required:</strong> Must provide session_id when using pagination. | 0 |
| Project ID | The Mixpanel project ID. <strong>Required</strong> when using service account authentication (Username and Password). Find this in Settings > Project Settings in your Mixpanel dashboard. | 2891273 |
| Region and Domain | The server location to use. Select 'mixpanel' for the default US servers or 'eu.mixpanel' for EU servers if you are enrolled in EU Data Residency. | |
| Session ID | A session ID from a previous query result. Using this speeds up API responses and enables pagination through results. | 1234567890-EXAMPL |
| Where | An expression to filter users by. See the expressions section above. https://developer.mixpanel.com/reference/segmentation-expressions | properties['account_id'] in [1,2,3,4] |
| Workspace ID | The ID of the workspace if applicable. Only required for workspace-specific queries. | 3847562 |
{
"data": {
"page": 0,
"page_size": 1000,
"results": [
{
"$distinct_id": 4,
"$properties": {
"$created": "2008-12-12T11:20:47",
"$email": "example@mixpanel.com",
"$first_name": "Example",
"$last_name": "Name",
"$last_seen": "2008-06-09T23:08:40"
}
}
],
"session_id": "1234567890-EXAMPL",
"status": "ok",
"total": 1
}
}
Raw Request
Send raw HTTP request to Mixpanel | key: rawRequest
| Input | Notes | Example |
|---|---|---|
| Base URL | Input the base url you're going to hit. For example, https://api.mixpanel.com/ or https://api-eu.mixpanel.com/ | https://api.mixpanel.com/ |
| Connection | The Mixpanel connection to use. | |
| Data | The HTTP body payload to send to the URL. | {"exampleKey": "Example Data"} |
| File Data | File Data to be sent as a multipart form upload. | [{key: "example.txt", value: "My File Contents"}] |
| File Data File Names | File names to apply to the file data inputs. Keys must match the file data keys above. | |
| Form Data | The Form Data to be sent as a multipart form upload. | [{"key": "Example Key", "value": new Buffer("Hello World")}] |
| Header | A list of headers to send with the request. | User-Agent: curl/7.64.1 |
| Max Retry Count | The maximum number of retries to attempt. Specify 0 for no retries. | 0 |
| Method | The HTTP method to use. | |
| Query Parameter | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | |
| Response Type | The type of data you expect in the response. You can request json, text, or binary data. | json |
| Retry On All Errors | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | false |
| Retry Delay (ms) | The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled. | 0 |
| Timeout | The maximum time that a client will await a response to its request | 2000 |
| URL | Input the path only (/import), The base URL is going to defined in the previous input. For example, to connect to https://api.mixpanel.com/import, only /import is entered in this field and https://api.mixpanel.com/ is entered in the 'Base URL' field. | /import |
| Use Exponential Backoff | Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored. | false |
Track Events
Track events to Mixpanel from client devices. | key: trackEvents
| Input | Notes | Example |
|---|---|---|
| Connection | The Mixpanel connection to use. | |
| Events | An array of event objects to ingest into Mixpanel. Each request accepts up to 2000 events and 2MB uncompressed. See the Event Ingestion API documentation for details. | |
| Img | When true, Mixpanel will serve a 1x1 transparent pixel image as a response. Set to 1 to enable pixel tracking for environments without JavaScript support. | 1 |
| IP | When true, Mixpanel will use the IP address of the incoming request and compute a distinct_id using a hash function if no distinct_id is provided. Set to 1 to enable. | 1 |
| Redirect | When provided, Mixpanel will serve a redirect to the given URL as a response. Useful for link tracking in notifications. | https://example.com/redirect |
| Region | The server location to use. Select 'api' for the default US servers or 'api-eu' for EU servers if you are enrolled in EU Data Residency. | |
| Use Project Token | When true, uses the project token from the connection to authenticate the request instead of service account credentials. | true |
| Verbose | When true, Mixpanel will respond with a detailed JSON object describing the success or failure of the tracking call. Set to 1 to enable verbose responses for debugging. | 1 |
{
"data": {
"code": 200,
"num_records_imported": 2000,
"status": "OK"
}
}
Update Multiple Profiles
Send a batch of profile updates. | key: updateMultipleProfiles
| Input | Notes | Example |
|---|---|---|
| Connection | The Mixpanel connection to use. | |
| Properties To Update | An array of profile update objects for batch operations. Each object can use operations like $set, $add, $union, etc. See the Engage API documentation for details. | |
| Redirect | When provided, Mixpanel will serve a redirect to the given URL as a response. Useful for link tracking in notifications. | https://example.com/redirect |
| Region | The server location to use. Select 'api' for the default US servers or 'api-eu' for EU servers if you are enrolled in EU Data Residency. | |
| Verbose | When true, Mixpanel will respond with a detailed JSON object describing the success or failure of the tracking call. Set to 1 to enable verbose responses for debugging. | 1 |
{
"data": 1
}
Changelog
2025-12-18
Enhanced List Saved Funnels, Query Funnel Saved Reports, Create Pipeline, Delete Pipeline, Edit Pipeline, and List Pipelines actions with inline data source support for improved usability:
- The Funnel ID input now displays available funnels directly in the dropdown
- The Pipeline Name input now displays available pipelines directly in the dropdown