Mixpanel · Arazzo Workflow

Mixpanel Update Group Profile and Query Insights

Version 1.0.0

Set properties on a group profile and then read insights for the project.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub AnalyticsData AnalysisEvent TrackingProduct AnalyticsUser BehaviorArazzoWorkflows

Provider

mixpanel

Workflows

group-profile-and-insights
Set group profile properties then query a saved insights report.
Posts a $set group update to /groups with the project token, then queries /insights using a saved bookmark report for the project.
2 steps inputs: bookmarkId, groupId, groupKey, groupProperties, projectId, projectToken outputs: groupStatus, series
1
setGroupProfile
updateGroupProfile
Set properties on the group profile via Mixpanel Groups. Authentication uses the project token carried in the $token body field.
2
queryInsights
queryInsights
Query a saved insights report for the project so the group update can be reviewed against tracked metrics. Uses service account basic auth.

Source API Descriptions

Arazzo Workflow Specification

mixpanel-group-profile-and-insights-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Mixpanel Update Group Profile and Query Insights
  summary: Set properties on a group profile and then read insights for the project.
  description: >-
    A B2B group-analytics workflow. The flow first sets properties on a group
    profile (e.g. a company or account) through the /groups endpoint, then reads
    a saved Insights report so the group update can be reviewed alongside the
    project's tracked metrics. Each step spells out its request inline so the
    flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: ingestionApi
  url: ../openapi/mixpanel-ingestion-openapi.yml
  type: openapi
- name: queryApi
  url: ../openapi/mixpanel-query-openapi.yml
  type: openapi
workflows:
- workflowId: group-profile-and-insights
  summary: Set group profile properties then query a saved insights report.
  description: >-
    Posts a $set group update to /groups with the project token, then queries
    /insights using a saved bookmark report for the project.
  inputs:
    type: object
    required:
    - projectToken
    - projectId
    - groupKey
    - groupId
    - groupProperties
    - bookmarkId
    properties:
      projectToken:
        type: string
        description: Mixpanel project token used for group ingestion auth.
      projectId:
        type: integer
        description: The Mixpanel project ID used by the Query API.
      groupKey:
        type: string
        description: The group key (e.g., company).
      groupId:
        type: string
        description: The group identifier value.
      groupProperties:
        type: object
        description: Map of property name/value pairs to set on the group profile.
      bookmarkId:
        type: integer
        description: ID of a saved insights report to query.
  steps:
  - stepId: setGroupProfile
    description: >-
      Set properties on the group profile via Mixpanel Groups. Authentication
      uses the project token carried in the $token body field.
    operationId: updateGroupProfile
    parameters:
    - name: verbose
      in: query
      value: 1
    requestBody:
      contentType: application/json
      payload:
        $token: $inputs.projectToken
        $group_key: $inputs.groupKey
        $group_id: $inputs.groupId
        $set: $inputs.groupProperties
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      groupStatus: $response.body#/status
  - stepId: queryInsights
    description: >-
      Query a saved insights report for the project so the group update can be
      reviewed against tracked metrics. Uses service account basic auth.
    operationId: queryInsights
    parameters:
    - name: project_id
      in: query
      value: $inputs.projectId
    - name: bookmark_id
      in: query
      value: $inputs.bookmarkId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      series: $response.body#/series
      dateRange: $response.body#/date_range
  outputs:
    groupStatus: $steps.setGroupProfile.outputs.groupStatus
    series: $steps.queryInsights.outputs.series