Workday · Arazzo Workflow

Workday Prism Load Dataset

Version 1.0.0

Create a Prism dataset, stage a file container, create a data change task, and confirm its status.

1 workflow 1 source API 1 provider
View Spec View on GitHub Cloud ComputingEnterprise SoftwareFinancial ManagementHCMSaaSArazzoWorkflows

Provider

workday

Workflows

prism-load-dataset
Create a dataset, stage a file container, load it via a data change task, and confirm.
Creates a Prism dataset, creates a file container to stage data, creates a data change task to load the file into the dataset, then reads the task back to confirm its status.
4 steps inputs: authorization, description, displayName, fields, name, operation, tags outputs: datasetId, taskId, taskStatus
1
createDataset
createDataset
Create the Prism dataset with the supplied schema.
2
createFileContainer
createFileContainer
Create a file container to stage the data file for loading.
3
createTask
createDataChangeTask
Create a data change task that loads the staged file into the dataset.
4
confirmTask
getDataChangeTaskById
Read the data change task back to confirm its status.

Source API Descriptions

Arazzo Workflow Specification

workday-prism-load-dataset-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Workday Prism Load Dataset
  summary: Create a Prism dataset, stage a file container, create a data change task, and confirm its status.
  description: >-
    A Prism Analytics ingestion flow. It creates a new dataset with a schema,
    creates a file container to stage uploaded data, creates a data change task
    that loads the staged file into the dataset, and then reads the task back to
    confirm its status. 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: prismAnalyticsApi
  url: ../openapi/prismAnalytics.yml
  type: openapi
workflows:
- workflowId: prism-load-dataset
  summary: Create a dataset, stage a file container, load it via a data change task, and confirm.
  description: >-
    Creates a Prism dataset, creates a file container to stage data, creates a
    data change task to load the file into the dataset, then reads the task back
    to confirm its status.
  inputs:
    type: object
    required:
    - authorization
    - name
    - fields
    - operation
    properties:
      authorization:
        type: string
        description: OAuth2 bearer token, e.g. "Bearer eyJ...".
      name:
        type: string
        description: The dataset name.
      displayName:
        type: string
        description: The dataset display name.
      description:
        type: string
        description: The dataset description.
      fields:
        type: array
        description: The dataset field schema definitions.
        items:
          type: object
      tags:
        type: array
        description: Optional tags for the dataset.
        items:
          type: string
      operation:
        type: object
        description: The data change task operation reference (id).
  steps:
  - stepId: createDataset
    description: Create the Prism dataset with the supplied schema.
    operationId: createDataset
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.name
        displayName: $inputs.displayName
        description: $inputs.description
        fields: $inputs.fields
        tags: $inputs.tags
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      datasetId: $response.body#/id
  - stepId: createFileContainer
    description: Create a file container to stage the data file for loading.
    operationId: createFileContainer
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    requestBody:
      contentType: application/octet-stream
      payload: $inputs.name
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      fileContainerId: $response.body#/id
  - stepId: createTask
    description: Create a data change task that loads the staged file into the dataset.
    operationId: createDataChangeTask
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.name
        targetDataset:
          id: $steps.createDataset.outputs.datasetId
        operation: $inputs.operation
        fileContainer:
          id: $steps.createFileContainer.outputs.fileContainerId
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      taskId: $response.body#/id
  - stepId: confirmTask
    description: Read the data change task back to confirm its status.
    operationId: getDataChangeTaskById
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: ID
      in: path
      value: $steps.createTask.outputs.taskId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      taskStatus: $response.body#/status
      completedOn: $response.body#/completedOn
  outputs:
    datasetId: $steps.createDataset.outputs.datasetId
    taskId: $steps.createTask.outputs.taskId
    taskStatus: $steps.confirmTask.outputs.taskStatus