arazzo: 1.0.1 info: title: Asana Post a Project Status Update summary: Read a project's task counts, then post a status update summarizing progress. description: >- A reporting flow. The workflow reads the task counts for a project to gather progress numbers and then posts a status update on that project with the supplied status type and text. Each request is written inline so the reporting sequence can be read and executed without opening the underlying OpenAPI description. version: 1.0.0 sourceDescriptions: - name: projectsApi url: ../openapi/asana-projects-api-openapi.yml type: openapi - name: statusUpdatesApi url: ../openapi/asana-status-updates-api-openapi.yml type: openapi workflows: - workflowId: post-project-status-update summary: Read project task counts and post a status update. description: >- Reads task counts for a project, then posts a status update summarizing progress. inputs: type: object required: - projectGid - statusType - statusTitle - statusText properties: projectGid: type: string description: Gid of the project to report on. statusType: type: string description: Status type, one of on_track, at_risk, off_track, on_hold, complete. statusTitle: type: string description: Title of the status update. statusText: type: string description: Body text of the status update. steps: - stepId: readTaskCounts description: Read the project's task counts to gather progress numbers. operationId: getTaskCountsForProject parameters: - name: project_gid in: path value: $inputs.projectGid successCriteria: - condition: $statusCode == 200 outputs: numTasks: $response.body#/data/num_tasks numCompleted: $response.body#/data/num_completed_tasks - stepId: postStatusUpdate description: Post a 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.postStatusUpdate.outputs.statusUpdateGid numTasks: $steps.readTaskCounts.outputs.numTasks