Millimetric · Arazzo Workflow

Capture an event and analyze traffic sources

Version 1.0.0

Emit an event, then pull aggregate stats and the paid-vs-social attribution split.

1 workflow 1 source API 1 provider
View Spec View on GitHub CompanyAnalyticsWeb AnalyticsProduct AnalyticsAttributionPrivacyMCPAI AgentsEventsDeveloper ToolsArazzoWorkflows

Provider

millimetric

Workflows

capture-and-analyze
Track an event, then report stats and top sources for a time window.
3 steps inputs: anonymous_id, event, from, rk_key, sk_key, to outputs: source_rows
1
track
trackEvent
2
stats
getStats
3
sources
getSources

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Capture an event and analyze traffic sources
  version: 1.0.0
  summary: Emit an event, then pull aggregate stats and the paid-vs-social attribution split.
sourceDescriptions:
  - name: millimetric
    url: ../openapi/millimetric-openapi.yml
    type: openapi
workflows:
  - workflowId: capture-and-analyze
    summary: Track an event, then report stats and top sources for a time window.
    inputs:
      type: object
      required: [sk_key, rk_key, from, to]
      properties:
        sk_key: { type: string, description: sk_live_* ingest key }
        rk_key: { type: string, description: rk_live_* read key }
        event: { type: string, default: signup }
        anonymous_id: { type: string, default: u_demo }
        from: { type: string }
        to: { type: string }
    steps:
      - stepId: track
        operationId: trackEvent
        parameters:
          - { name: Authorization, in: header, value: "Bearer $inputs.sk_key" }
        requestBody:
          contentType: application/json
          payload:
            event: $inputs.event
            anonymous_id: $inputs.anonymous_id
        successCriteria:
          - condition: $statusCode == 202
      - stepId: stats
        operationId: getStats
        parameters:
          - { name: Authorization, in: header, value: "Bearer $inputs.rk_key" }
          - { name: metric, in: query, value: count }
          - { name: from, in: query, value: $inputs.from }
          - { name: to, in: query, value: $inputs.to }
          - { name: group_by, in: query, value: "source,medium" }
        successCriteria:
          - condition: $statusCode == 200
      - stepId: sources
        operationId: getSources
        parameters:
          - { name: Authorization, in: header, value: "Bearer $inputs.rk_key" }
          - { name: from, in: query, value: $inputs.from }
          - { name: to, in: query, value: $inputs.to }
          - { name: breakdown, in: query, value: source_medium }
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          rows: $response.body#/rows
    outputs:
      source_rows: $steps.sources.outputs.rows