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
x-realizes-capability-ids:
- BC-900.30
x-capability-derivation:
method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
min_confidence: 0.7
sources:
- capability_id: BC-900.30
capability_name: Project Management
spec: asana-projects-api-openapi.yml
confidence: 0.85
model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.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: createStatusForObject
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
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.