Asana · Arazzo Workflow

Asana Add an Existing Task to a Project Section

Version 1.0.0

Confirm a task exists, add it to a project section, and note the move with a comment.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub CollaborationProductivityProject ManagementProjectTask ManagementTaskWorkflowsArazzoWorkflows

Provider

asana

Workflows

add-existing-task-to-project
Add a task to a project section and note the move with a comment.
Reads a task, adds it to a project section, then posts a comment noting the move.
3 steps inputs: noteText, projectGid, sectionGid, taskGid outputs: projectGid, storyGid, taskGid
1
readTask
Read the task to confirm it exists before moving it.
2
addToProject
Add the task to the project and place it in the section.
3
postNote
Post a comment noting the move.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Asana Add an Existing Task to a Project Section
  summary: Confirm a task exists, add it to a project section, and note the move with a comment.
  description: >-
    A cross-project sharing flow. The workflow reads an existing task to confirm
    it exists, adds it to a project and drops it straight into a chosen section
    so the same task can live on multiple boards, and then posts a comment noting
    the move. Each request is written inline so the flow can be read and executed
    without opening the underlying OpenAPI description. These endpoints live in
    the full Asana description, so every step is addressed through that single
    source.
  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-tasks-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: storiesApi
  url: ../openapi/asana-stories-api-openapi.yml
  type: openapi
- name: tasksApi
  url: ../openapi/asana-tasks-api-openapi.yml
  type: openapi
workflows:
- workflowId: add-existing-task-to-project
  summary: Add a task to a project section and note the move with a comment.
  description: >-
    Reads a task, adds it to a project section, then posts a comment noting the
    move.
  inputs:
    type: object
    required:
    - taskGid
    - projectGid
    - sectionGid
    properties:
      taskGid:
        type: string
        description: Gid of the existing task to add.
      projectGid:
        type: string
        description: Project gid to add the task to.
      sectionGid:
        type: string
        description: Section gid within the project to place the task in.
      noteText:
        type: string
        description: Comment to post noting the move.
  steps:
  - stepId: readTask
    description: Read the task to confirm it exists before moving it.
    operationId: $sourceDescriptions.tasksApi.getTask
    parameters:
    - name: task_gid
      in: path
      value: $inputs.taskGid
    - name: opt_fields
      in: query
      value: name
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      taskName: $response.body#/data/name
  - stepId: addToProject
    description: Add the task to the project and place it in the section.
    operationId: $sourceDescriptions.tasksApi.addProjectForTask
    parameters:
    - name: task_gid
      in: path
      value: $inputs.taskGid
    requestBody:
      contentType: application/json
      payload:
        data:
          project: $inputs.projectGid
          section: $inputs.sectionGid
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      result: $response.body#/data
  - stepId: postNote
    description: Post a comment noting the move.
    operationId: $sourceDescriptions.storiesApi.createStoryForTask
    parameters:
    - name: task_gid
      in: path
      value: $inputs.taskGid
    requestBody:
      contentType: application/json
      payload:
        data:
          text: $inputs.noteText
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      storyGid: $response.body#/data/gid
  outputs:
    taskGid: $inputs.taskGid
    projectGid: $inputs.projectGid
    storyGid: $steps.postNote.outputs.storyGid

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/asana-add-existing-task-to-project-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

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.

A second provider on the same verified email joins the account you already have.