Cross-Provider Workflow

Asana Project Kickoff Multi-Create

Version 1.0.0

Create an Asana project, section, and first task, then announce on Slack.

1 workflow 4 source APIs 2 providers
View Spec View on GitHub ArazzoWorkflowsCross-Provider

Providers Orchestrated

asana slack

Workflows

project-kickoff
Create an Asana project, section, and task, then notify Slack.
Creates an Asana project in a workspace, adds an initial section, creates the first task in the project, and posts a Slack kickoff announcement.
4 steps inputs: firstTaskName, projectName, sectionName, slackChannel, workspaceId outputs: messageTs, projectId, sectionId, taskId
1
create-project
$sourceDescriptions.asanaProjectsApi.createProjectForWorkspace
Create the Asana project in the workspace.
2
create-section
$sourceDescriptions.asanaSectionsApi.createSectionForProject
Add an initial section to the new project.
3
create-task
$sourceDescriptions.asanaTasksApi.createTask
Create the first task in the new project.
4
announce-kickoff
$sourceDescriptions.slackChatApi.postChatPostmessage
Announce the project kickoff in Slack.

Source API Descriptions

Arazzo Workflow Specification

prod-project-kickoff-multi-create-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Asana Project Kickoff Multi-Create
  summary: Create an Asana project, section, and first task, then announce on Slack.
  description: >-
    A productivity and internal-ops workflow that kicks off a new initiative by
    creating an Asana project, adding a section to it, creating the first task,
    and announcing the kickoff in a Slack channel. Demonstrates orchestrating
    multiple create operations across a task-management provider and a messaging
    provider in a single Arazzo workflow.
  version: 1.0.0
sourceDescriptions:
  - name: asanaProjectsApi
    url: https://raw.githubusercontent.com/api-evangelist/asana/refs/heads/main/openapi/asana-projects-api-openapi.yml
    type: openapi
  - name: asanaSectionsApi
    url: https://raw.githubusercontent.com/api-evangelist/asana/refs/heads/main/openapi/asana-sections-api-openapi.yml
    type: openapi
  - name: asanaTasksApi
    url: https://raw.githubusercontent.com/api-evangelist/asana/refs/heads/main/openapi/asana-tasks-api-openapi.yml
    type: openapi
  - name: slackChatApi
    url: https://raw.githubusercontent.com/api-evangelist/slack/refs/heads/main/openapi/slack-chat-api-openapi.yml
    type: openapi
workflows:
  - workflowId: project-kickoff
    summary: Create an Asana project, section, and task, then notify Slack.
    description: >-
      Creates an Asana project in a workspace, adds an initial section, creates
      the first task in the project, and posts a Slack kickoff announcement.
    inputs:
      type: object
      properties:
        workspaceId:
          type: string
        projectName:
          type: string
        sectionName:
          type: string
        firstTaskName:
          type: string
        slackChannel:
          type: string
    steps:
      - stepId: create-project
        description: Create the Asana project in the workspace.
        operationId: $sourceDescriptions.asanaProjectsApi.createProjectForWorkspace
        parameters:
          - name: workspace_gid
            in: path
            value: $inputs.workspaceId
        requestBody:
          contentType: application/json
          payload:
            data:
              name: $inputs.projectName
        successCriteria:
          - condition: $statusCode == 201
        outputs:
          projectId: $response.body#/data/gid
      - stepId: create-section
        description: Add an initial section to the new project.
        operationId: $sourceDescriptions.asanaSectionsApi.createSectionForProject
        parameters:
          - name: project_gid
            in: path
            value: $steps.create-project.outputs.projectId
        requestBody:
          contentType: application/json
          payload:
            data:
              name: $inputs.sectionName
        successCriteria:
          - condition: $statusCode == 201
        outputs:
          sectionId: $response.body#/data/gid
      - stepId: create-task
        description: Create the first task in the new project.
        operationId: $sourceDescriptions.asanaTasksApi.createTask
        requestBody:
          contentType: application/json
          payload:
            data:
              name: $inputs.firstTaskName
              projects:
                - $steps.create-project.outputs.projectId
        successCriteria:
          - condition: $statusCode == 201
        outputs:
          taskId: $response.body#/data/gid
      - stepId: announce-kickoff
        description: Announce the project kickoff in Slack.
        operationId: $sourceDescriptions.slackChatApi.postChatPostmessage
        requestBody:
          contentType: application/json
          payload:
            channel: $inputs.slackChannel
            text: $inputs.projectName
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          messageTs: $response.body#/ts
    outputs:
      projectId: $steps.create-project.outputs.projectId
      sectionId: $steps.create-section.outputs.sectionId
      taskId: $steps.create-task.outputs.taskId
      messageTs: $steps.announce-kickoff.outputs.messageTs

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/prod-project-kickoff-multi-create-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.