Use Asana with AI Agents

Tool to help teams organize, track, and manage their work.
🔗 Connect and Use Asana
1. 🔑 Connect your Asana account
2. ✅ Select an action
3. 🚀 Go live with the agent
What do you want to do?
Actions
Allocations
Attachments
Audit log API
Batch API
Custom field settings
Custom fields
Events
Goal relationships
Goals
Jobs
Memberships
Organization exports
Portfolio memberships
Portfolios
Project briefs
Project memberships
Project statuses
Project templates
Projects
Rules
Sections
Status updates
Stories
Tags
Task templates
Tasks
Team memberships
Teams
Time periods
Time tracking entries
Typeahead
User task lists
Users
Webhooks
Workspace memberships
Workspaces

API actions for Asana for AI assitants/agents

Language
JS
PYTHON

Sections

Add Task To Section

Add a task to a section, removing it from elsewhere in the project. It's placed at the top unless specified. Not applicable to section separators.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_ADD_TASK_TO_SECTION])

Move Or Insert Sections

Move sections relative to each other. One of `before_section` or `after_section` is required. Sections cannot be moved between projects. Returns an empty data block.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_MOVE_OR_INSERT_SECTIONS])

Status updates

Get A Status Update

Returns the complete record for a single status update.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_A_STATUS_UPDATE])

Delete A Status Update

Deletes a specific, existing status update. Returns an empty data record.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_DELETE_A_STATUS_UPDATE])

Get Status Updates From An Object

Returns the compact status update records for all updates on the object.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_STATUS_UPDATES_FROM_AN_OBJECT])

Create A Status Update

Creates a new status update on an object. Returns the full record of the newly created status update.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_CREATE_A_STATUS_UPDATE])

Stories

Get A Story

Returns the full record for a single story.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_A_STORY])

Update A Story

Updates the story and returns the full record for the updated story. Only comment stories can have their text updated, and only comment stories and attachment stories can be pinned. Only one o
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_UPDATE_A_STORY])

Delete A Story

Deletes a story. A user can only delete stories they have created. Returns an empty data record.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_DELETE_A_STORY])

Get Stories From A Task

Returns the compact records for all stories on the task.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_STORIES_FROM_A_TASK])

Create A Story On A Task

This endpoint allows users to add a comment story to a task, which is authored and timestamped by the user upon server receipt, and returns the new story's full record.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_CREATE_A_STORY_ON_A_TASK])

Tags

Get Multiple Tags

Returns the compact tag records for some filtered set of tags. Use one or more of the parameters provided to filter the tags returned.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_MULTIPLE_TAGS])

Create A Tag

A new tag must be created within a specific workspace or organization, unchangeable post-creation. The 'workspace' parameter is usable regardless of organization status. The creation returns t
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_CREATE_A_TAG])

Get A Tag

Returns the complete tag record for a single tag.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_A_TAG])

Update A Tag

Updates specified fields of a tag, leaving unspecified fields unchanged, to avoid overwriting concurrent user changes. Returns the updated tag record.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_UPDATE_A_TAG])

Delete A Tag

A specific, existing tag can be deleted by making a DELETE request on the URL for that tag. Returns an empty data record.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_DELETE_A_TAG])

Get A Task S Tags

Get a compact representation of all of the tags the task has.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_A_TASK_S_TAGS])

Get Tags In A Workspace

Returns the compact tag records for some filtered set of tags. Use one or more of the parameters provided to filter the tags returned.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_TAGS_IN_A_WORKSPACE])

Create A Tag In A Workspace

New tags must be created in a specific workspace or organization and cannot be altered post-creation. The workspace parameter works for both types. A full record of the created tag is returned
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_CREATE_A_TAG_IN_A_WORKSPACE])

Task templates

Get Multiple Task Templates

Returns the compact task template records for some filtered set of task templates. You must specify a `project`
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_MULTIPLE_TASK_TEMPLATES])

Get A Task Template

Returns the complete task template record for a single task template.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_A_TASK_TEMPLATE])

Delete A Task Template

A specific, existing task template can be deleted by making a DELETE request on the URL for that task template. Returns an empty data record.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_DELETE_A_TASK_TEMPLATE])

Instantiate A Task From A Task Template

Creates and returns a job that will asynchronously handle the task instantiation.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_INSTANTIATE_A_TASK_FROM_A_TASK_TEMPLATE])

Tasks

Get Multiple Tasks

Retrieves a concise set of tasks based on certain filters. Specify a `project`, `tag`, or `assignee` and `workspace` to get results. For advanced searches, use the provided URL.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_MULTIPLE_TASKS])

Create A Task

Creating a task requires a POST request to `/tasks` with data fields; defaults fill unspecified fields. Tasks must be in a fixed workspace, inferred if `projects` or `parent` is provided.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_CREATE_A_TASK])

Get A Task

Returns the complete task record for a single task.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_A_TASK])

Update A Task

To update a task, make a PUT request with changes in the `data` block to the task's URL. Only specified fields will change; others stay the same. Be cautious to avoid overwriting others' edits
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_UPDATE_A_TASK])

Delete A Task

DELETE requests on a task's URL will move it to the user's trash, where it can be restored within 30 days. After that, it's permanently removed. This action returns an empty data record.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_DELETE_A_TASK])

Duplicate A Task

Creates and returns a job that will asynchronously handle the duplication.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_DUPLICATE_A_TASK])

Get Tasks From A Project

Returns the compact task records for all tasks within the given project, ordered by their priority within the project. Tasks can exist in more than one project at a time.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_TASKS_FROM_A_PROJECT])

Get Tasks From A Section

*Board view only*: Returns the compact section records for all tasks within the given section.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_TASKS_FROM_A_SECTION])

Get Tasks From A Tag

Returns the compact task records for all tasks with the given tag. Tasks can have more than one tag at a time.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_TASKS_FROM_A_TAG])

Get Tasks From A User Task List

The API endpoint displays a user's comprehensive Asana task list, with privacy filters and options to show only incomplete tasks.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_TASKS_FROM_A_USER_TASK_LIST])

Get Subtasks From A Task

Returns a compact representation of all of the subtasks of a task.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_SUBTASKS_FROM_A_TASK])

Create A Subtask

Creates a new subtask and adds it to the parent task. Returns the full record for the newly created subtask.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_CREATE_A_SUBTASK])

Set The Parent Of A Task

parent, or no parent task at all. Returns an empty data block. When using `insert_before` and `insert_after`, at most one of those two options can be specified, and they must already be subtas
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_SET_THE_PARENT_OF_A_TASK])

Get Dependencies From A Task

Returns the compact representations of all of the dependencies of a task.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_DEPENDENCIES_FROM_A_TASK])

Set Dependencies For A Task

Marks a set of tasks as dependencies of this task, if they are not already dependencies. *A task can have at most 30 dependents and dependencies combined*.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_SET_DEPENDENCIES_FOR_A_TASK])

Get Dependents From A Task

Returns the compact representations of all of the dependents of a task.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_DEPENDENTS_FROM_A_TASK])

Set Dependents For A Task

Marks a set of tasks as dependents of this task, if they are not already dependents. *A task can have at most 30 dependents and dependencies combined*.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_SET_DEPENDENTS_FOR_A_TASK])

Add A Project To A Task

Adds a task to a project at the end or specified location. Use `insert_before`, `insert_after`, or `section` for ordering. Only one of these options can be used. Returns an empty data block.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_ADD_A_PROJECT_TO_A_TASK])

Remove A Project From A Task

Removes the task from the specified project. The task will still exist in the system, but it will not be in the project anymore. Returns an empty data block.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_REMOVE_A_PROJECT_FROM_A_TASK])

Add A Tag To A Task

Adds a tag to a task. Returns an empty data block.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_ADD_A_TAG_TO_A_TASK])

Remove A Tag From A Task

Removes a tag from a task. Returns an empty data block.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_REMOVE_A_TAG_FROM_A_TASK])

Add Followers To A Task

Adds followers to a task. Returns an empty data block. Each task can be associated with zero or more followers in the system. Requests to add/remove followers, if successful, will return the c
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_ADD_FOLLOWERS_TO_A_TASK])

Remove Followers From A Task

Removes each of the specified followers from the task if they are following. Returns the complete, updated record for the affected task.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_REMOVE_FOLLOWERS_FROM_A_TASK])

Get A Task For A Given Custom Id

Returns a task given a custom ID shortcode.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_A_TASK_FOR_A_GIVEN_CUSTOM_ID])

Search Tasks In A Workspace

The Asana API offers advanced task search similar to its web app exclusively for premium users, with eventual consistency, no pagination, rate limits, and supports complex filters through cust
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_SEARCH_TASKS_IN_A_WORKSPACE])

Frequently asked questions

What is Composio.dev?

Composio.dev is a platform for building AI applications, designed to make the process of developing AI solutions super easy and fun! It provides a comprehensive set of tools and libraries that simplify the process of developing AI solutions, allowing you to focus on the creative aspects of your project without getting bogged down by the technical details.

How does Composio.dev support Asana?

Composio.dev seamlessly integrates with Asana, allowing you to leverage its capabilities within the Composio.dev platform. You can utilize Asana to call functions across various platforms, including Google, GitHub, and others, making it a breeze to incorporate different services into your AI applications. Additionally, it supports user authentication via OAuth2 and can work in conjunction with other popular frameworks like LangChain and CrewAI, giving you the flexibility to build truly innovative AI solutions.

What models can I use with Asana?

With Asana, you have access to a wide range of state-of-the-art language models, including GPT-4o (OpenAI), GPT-3.5 (OpenAI), GPT-4 (OpenAI), Claude (Anthropic), PaLM (Google), LLaMA and LLaMA 2 (Meta), Gemini, and many others. This flexibility allows you to choose the model that best suits your specific use case, whether you're building a chatbot, a content creation tool, or any other AI-powered application. You can experiment with different models and find the one that delivers the best performance for your project.

How can I integrate Asana into my project?

Composio.dev provides a seamless integration for Asana, making it super easy to incorporate this powerful framework into your projects. You can leverage the Composio.dev API to call functions from Asana, allowing you to tap into its capabilities with just a few lines of code. The SDK is available in Python, JavaScript, and TypeScript, so you can work with your preferred programming language and integrate Asana into your projects seamlessly.

What is the pricing for Asana?

Asana is completely free to use, with a generous free tier that allows up to 1000 requests per month. This makes it accessible for developers and organizations of all sizes to explore and experiment with this powerful tool without any upfront costs. Whether you're a student working on a personal project or a startup building the next big thing, you can get started with Asana without worrying about breaking the bank.

What kind of authentication is supported for Asana?

Asana supports OAuth2 authentication, ensuring secure and authorized access to its functionalities. You can leverage the Composio.dev API to handle authentication and call functions from Asana seamlessly. The SDK is available in Python, JavaScript, and TypeScript for your convenience, making it easy to integrate authentication into your projects and keep your users' data safe and secure.

Can I add Asana to my project?

Absolutely! You can easily incorporate Asana into your project by utilizing the Composio.dev API. This API allows you to call functions from Asana, enabling you to leverage its capabilities within your application. The SDK is available in Python, JavaScript, and TypeScript to facilitate integration, so you can work with the language you're most comfortable with and add Asana to your project with ease.

What is the accuracy of Asana?

Asana is designed to provide highly accurate and reliable results, ensuring that your AI applications perform at their best. The integration with Composio.dev ensures precise function calls, enabling you to build robust and powerful AI applications with confidence. Asana's comprehensive framework and the ability to leverage state-of-the-art models ensure reliable and accurate outcomes for your AI development needs, whether you're working on a chatbot, a content creation tool, or any other AI-powered project.

What are some common use cases for Asana?

Asana can be used for a wide range of AI applications, making it a versatile tool for developers and creators alike. Some common use cases include natural language processing, text generation, question answering, sentiment analysis, and more. It's particularly useful for building chatbots, virtual assistants, content creation tools, and other AI-powered applications that can help you automate tasks, engage with users, and create compelling content. Whether you're working on a personal project or building a product for your startup, Asana can help you bring your ideas to life.

How does Asana handle data privacy and security?

Data privacy and security are crucial considerations when working with AI systems, and Asana takes these issues seriously. It follows industry best practices and adheres to strict data protection regulations, ensuring that your data is kept safe and secure. Asana provides robust security measures, such as encryption and access controls, to ensure the confidentiality and integrity of your data. You can rest assured that your sensitive information is protected when using Asana for your AI development needs.
+ Integrate seamlessly with your agentic frameworks
Composio Works with All Shapes and SizesComposio Works with All Shapes and SizesComposio Works with All Shapes and SizesComposio Works with All Shapes and SizesComposio Works with All Shapes and Sizes
Building for AI across continents🧪