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