Amplitude · Arazzo Workflow

Amplitude Taxonomy Event Governance

Version 1.0.0

Plan a tracking event end to end by creating its category, the event type, and an event property, then reading the event back.

1 workflow 1 source API 1 provider
View Spec View on GitHub A/B TestingAnalyticsExperimentationFeature FlagsProduct AnalyticsUser BehaviorArazzoWorkflows

Provider

amplitude

Workflows

govern-planned-event
Create a category, an event type, and an event property, then read the event type back.
Establishes a fully governed planned event by chaining category creation, event type creation, event property creation, and a final read of the event type to confirm the taxonomy is consistent.
4 steps inputs: basicAuth, categoryName, eventDescription, eventProperty, eventType, propertyType outputs: category, eventType
1
createCategory
createEventCategory
Create a new event category to group the planned event type under.
2
createEventType
createEventType
Create the planned event type and assign it to the category created in the previous step.
3
createEventProperty
createEventProperty
Attach a typed event property to the newly planned event type.
4
getEventType
getEventType
Retrieve the event type to confirm it exists with the expected category assignment.

Source API Descriptions

Arazzo Workflow Specification

amplitude-taxonomy-event-governance-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amplitude Taxonomy Event Governance
  summary: Plan a tracking event end to end by creating its category, the event type, and an event property, then reading the event back.
  description: >-
    A data-governance flow that builds out a planned event in the Amplitude
    tracking plan. The workflow creates an event category, creates an event type
    assigned to that category, attaches a typed event property to the event, and
    then retrieves the event type to confirm the plan is in place. The category
    and event-type creates use form-urlencoded bodies as the Taxonomy API
    requires. Every 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: taxonomyApi
  url: ../openapi/amplitude-taxonomy-api-openapi.yml
  type: openapi
workflows:
- workflowId: govern-planned-event
  summary: Create a category, an event type, and an event property, then read the event type back.
  description: >-
    Establishes a fully governed planned event by chaining category creation,
    event type creation, event property creation, and a final read of the event
    type to confirm the taxonomy is consistent.
  inputs:
    type: object
    required:
    - basicAuth
    - categoryName
    - eventType
    - eventProperty
    properties:
      basicAuth:
        type: string
        description: Base64-encoded api_key:secret_key credentials for HTTP Basic auth.
      categoryName:
        type: string
        description: The name of the event category to create.
      eventType:
        type: string
        description: The name of the event type to create and assign to the category.
      eventDescription:
        type: string
        description: A description of the event type.
      eventProperty:
        type: string
        description: The name of the event property to create on the event type.
      propertyType:
        type: string
        description: The data type of the event property.
        enum:
        - string
        - number
        - boolean
        - enum
        - any
        default: string
  steps:
  - stepId: createCategory
    description: >-
      Create a new event category to group the planned event type under.
    operationId: createEventCategory
    parameters:
    - name: Authorization
      in: header
      value: "Basic $inputs.basicAuth"
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        category_name: $inputs.categoryName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      success: $response.body#/success
  - stepId: createEventType
    description: >-
      Create the planned event type and assign it to the category created in the
      previous step.
    operationId: createEventType
    parameters:
    - name: Authorization
      in: header
      value: "Basic $inputs.basicAuth"
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        event_type: $inputs.eventType
        category: $inputs.categoryName
        description: $inputs.eventDescription
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      success: $response.body#/success
  - stepId: createEventProperty
    description: >-
      Attach a typed event property to the newly planned event type.
    operationId: createEventProperty
    parameters:
    - name: Authorization
      in: header
      value: "Basic $inputs.basicAuth"
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        event_type: $inputs.eventType
        event_property: $inputs.eventProperty
        type: $inputs.propertyType
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      success: $response.body#/success
  - stepId: getEventType
    description: >-
      Retrieve the event type to confirm it exists with the expected category
      assignment.
    operationId: getEventType
    parameters:
    - name: Authorization
      in: header
      value: "Basic $inputs.basicAuth"
    - name: event_type
      in: path
      value: $inputs.eventType
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      eventType: $response.body#/event_type
      category: $response.body#/category
  outputs:
    eventType: $steps.getEventType.outputs.eventType
    category: $steps.getEventType.outputs.category