Asana · Arazzo Workflow

Asana Provision a Workspace Project With a First Task

Version 1.0.0

Create a project directly in a workspace and seed it with a first task.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub CollaborationProductivityProject ManagementProjectsTask ManagementTasksWorkflowArazzoWorkflows

Provider

asana

Workflows

provision-workspace-project
Create a workspace project and seed it with a first task.
Creates a project in a workspace, then creates a first task in it.
2 steps inputs: projectName, taskName, workspaceGid outputs: projectGid, taskGid
1
createProject
createProjectForWorkspace
Create a project directly in the workspace.
2
createFirstTask
createTask
Create the first task inside the new project.

Source API Descriptions

Arazzo Workflow Specification

asana-provision-workspace-project-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Asana Provision a Workspace Project With a First Task
  summary: Create a project directly in a workspace and seed it with a first task.
  description: >-
    A lightweight project setup flow for organizations that file projects at the
    workspace level. The workflow creates a project in a workspace and then
    creates a first task inside it. Each request is written inline so the setup
    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: tasksApi
  url: ../openapi/asana-tasks-api-openapi.yml
  type: openapi
workflows:
- workflowId: provision-workspace-project
  summary: Create a workspace project and seed it with a first task.
  description: >-
    Creates a project in a workspace, then creates a first task in it.
  inputs:
    type: object
    required:
    - workspaceGid
    - projectName
    - taskName
    properties:
      workspaceGid:
        type: string
        description: Workspace gid the project and task belong to.
      projectName:
        type: string
        description: Name of the project to create.
      taskName:
        type: string
        description: Name of the first task to create in the project.
  steps:
  - stepId: createProject
    description: Create a project directly in the workspace.
    operationId: createProjectForWorkspace
    parameters:
    - name: workspace_gid
      in: path
      value: $inputs.workspaceGid
    requestBody:
      contentType: application/json
      payload:
        data:
          name: $inputs.projectName
          workspace: $inputs.workspaceGid
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      projectGid: $response.body#/data/gid
  - stepId: createFirstTask
    description: Create the first task inside the new project.
    operationId: createTask
    requestBody:
      contentType: application/json
      payload:
        data:
          name: $inputs.taskName
          workspace: $inputs.workspaceGid
          projects:
          - $steps.createProject.outputs.projectGid
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      taskGid: $response.body#/data/gid
  outputs:
    projectGid: $steps.createProject.outputs.projectGid
    taskGid: $steps.createFirstTask.outputs.taskGid