Microsoft Purview · Arazzo Workflow

Microsoft Purview Classify a Data Asset Entity

Version 1.0.0

Register a catalog entity, confirm it, then apply and verify a classification.

1 workflow 1 source API 1 provider
View Spec View on GitHub ComplianceData CatalogData ClassificationData GovernanceData Loss PreventionInformation ProtectionArazzoWorkflows

Provider

microsoft-purview

Workflows

classify-entity
Create a catalog entity and apply a classification to it.
Creates or updates an Atlas entity, resolves the GUID the service assigned, adds a classification to that entity, and confirms the classification is present on the entity.
4 steps inputs: authorization, classificationTypeName, entity outputs: classifications, entityGuid
1
createEntity
createOrUpdateEntity
Create or update the data asset entity. Purview matches on the supplied guid or on unique attributes such as qualifiedName.
2
getEntity
getEntityByGuid
Read the created entity back by its assigned GUID to confirm it exists.
3
addClassification
addEntityClassifications
Attach the requested classification to the entity, propagating it according to the classification's defaults.
4
listClassifications
listEntityClassifications
List the classifications on the entity to verify the new one is present.

Source API Descriptions

Arazzo Workflow Specification

microsoft-purview-classify-entity-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Microsoft Purview Classify a Data Asset Entity
  summary: Register a catalog entity, confirm it, then apply and verify a classification.
  description: >-
    A foundational data governance flow in the Purview Atlas catalog. The
    workflow creates or updates a data asset entity, reads it back by its
    assigned GUID to confirm it landed, attaches one or more classifications to
    the entity, and then lists the classifications to verify they were applied.
    Every step spells out its request inline — including the inline OAuth2
    bearer token — so the flow can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: catalogApi
  url: ../openapi/microsoft-purview-catalog-openapi.yml
  type: openapi
workflows:
- workflowId: classify-entity
  summary: Create a catalog entity and apply a classification to it.
  description: >-
    Creates or updates an Atlas entity, resolves the GUID the service assigned,
    adds a classification to that entity, and confirms the classification is
    present on the entity.
  inputs:
    type: object
    required:
    - authorization
    - entity
    - classificationTypeName
    properties:
      authorization:
        type: string
        description: The OAuth2 bearer token value, e.g. "Bearer eyJ0...".
      entity:
        type: object
        description: The AtlasEntity object to create or update (typeName + attributes).
      classificationTypeName:
        type: string
        description: The classification type name to apply, e.g. "MICROSOFT.PERSONAL.EMAIL".
  steps:
  - stepId: createEntity
    description: >-
      Create or update the data asset entity. Purview matches on the supplied
      guid or on unique attributes such as qualifiedName.
    operationId: createOrUpdateEntity
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    requestBody:
      contentType: application/json
      payload:
        entity: $inputs.entity
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      guidAssignments: $response.body#/guidAssignments
  - stepId: getEntity
    description: Read the created entity back by its assigned GUID to confirm it exists.
    operationId: getEntityByGuid
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: guid
      in: path
      value: $steps.createEntity.outputs.guidAssignments
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      entityGuid: $response.body#/entity/guid
      typeName: $response.body#/entity/typeName
  - stepId: addClassification
    description: >-
      Attach the requested classification to the entity, propagating it
      according to the classification's defaults.
    operationId: addEntityClassifications
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: guid
      in: path
      value: $steps.getEntity.outputs.entityGuid
    requestBody:
      contentType: application/json
      payload:
      - typeName: $inputs.classificationTypeName
        entityGuid: $steps.getEntity.outputs.entityGuid
        propagate: true
    successCriteria:
    - condition: $statusCode == 204
  - stepId: listClassifications
    description: List the classifications on the entity to verify the new one is present.
    operationId: listEntityClassifications
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: guid
      in: path
      value: $steps.getEntity.outputs.entityGuid
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      classifications: $response.body#/list
  outputs:
    entityGuid: $steps.getEntity.outputs.entityGuid
    classifications: $steps.listClassifications.outputs.classifications