Asana · Arazzo Workflow

Asana Refresh a Project's Status Update

Version 1.0.0

Read the most recent status update on a project, then post a fresh one.

1 workflow 1 source API 1 provider
View Spec View on GitHub CollaborationProductivityProject ManagementProjectsTask ManagementTasksWorkflowArazzoWorkflows

Provider

asana

Workflows

refresh-project-status-update
Read the latest project status update and post a new one.
Reads the status updates on a project, then posts a fresh status update.
2 steps inputs: projectGid, statusText, statusTitle, statusType outputs: projectGid, statusUpdateGid
1
readLatestStatus
getStatusUpdatesForObject
Read the existing status updates on the project.
2
postFreshStatus
createStatusUpdateForObject
Post a fresh status update on the project.

Source API Descriptions

Arazzo Workflow Specification

asana-refresh-project-status-update-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Asana Refresh a Project's Status Update
  summary: Read the most recent status update on a project, then post a fresh one.
  description: >-
    A recurring-reporting flow. The workflow reads the existing status updates on
    a project to capture the latest one for reference and then posts a fresh
    status update. Each request is written inline so the refresh can be read and
    executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: statusUpdatesApi
  url: ../openapi/asana-status-updates-api-openapi.yml
  type: openapi
workflows:
- workflowId: refresh-project-status-update
  summary: Read the latest project status update and post a new one.
  description: >-
    Reads the status updates on a project, then posts a fresh status update.
  inputs:
    type: object
    required:
    - projectGid
    - statusType
    - statusTitle
    - statusText
    properties:
      projectGid:
        type: string
        description: Project gid to read and post status updates for.
      statusType:
        type: string
        description: Status type, one of on_track, at_risk, off_track, on_hold, complete.
      statusTitle:
        type: string
        description: Title of the new status update.
      statusText:
        type: string
        description: Body text of the new status update.
  steps:
  - stepId: readLatestStatus
    description: Read the existing status updates on the project.
    operationId: getStatusUpdatesForObject
    parameters:
    - name: parent
      in: query
      value: $inputs.projectGid
    - name: limit
      in: query
      value: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      latestStatusGid: $response.body#/data/0/gid
  - stepId: postFreshStatus
    description: Post a fresh status update on the project.
    operationId: createStatusUpdateForObject
    requestBody:
      contentType: application/json
      payload:
        data:
          parent: $inputs.projectGid
          status_type: $inputs.statusType
          title: $inputs.statusTitle
          text: $inputs.statusText
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      statusUpdateGid: $response.body#/data/gid
  outputs:
    projectGid: $inputs.projectGid
    statusUpdateGid: $steps.postFreshStatus.outputs.statusUpdateGid