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

Portfolios

Get A Portfolio

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

Update A Portfolio

An existing portfolio can be updated by making a PUT request on the URL for that portfolio. Only the fields provided in the `data` block will be updated; any unspecified fields will remain unc
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_UPDATE_A_PORTFOLIO])

Delete A Portfolio

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

Get Portfolio Items

Get a list of the items in compact form in a portfolio.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_PORTFOLIO_ITEMS])

Add A Portfolio Item

Add an item to a portfolio. Returns an empty data block.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_ADD_A_PORTFOLIO_ITEM])

Remove A Portfolio Item

Remove an item from a portfolio. Returns an empty data block.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_REMOVE_A_PORTFOLIO_ITEM])

Add A Custom Field To A Portfolio

Custom fields are associated with portfolios by way of custom field settings. This method creates a setting for the portfolio.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_ADD_A_CUSTOM_FIELD_TO_A_PORTFOLIO])

Remove A Custom Field From A Portfolio

Removes a custom field setting from a portfolio.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_REMOVE_A_CUSTOM_FIELD_FROM_A_PORTFOLIO])

Add Users To A Portfolio

Adds the specified list of users as members of the portfolio. Returns the updated portfolio record.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_ADD_USERS_TO_A_PORTFOLIO])

Remove Users From A Portfolio

Removes the specified list of users from members of the portfolio. Returns the updated portfolio record.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_REMOVE_USERS_FROM_A_PORTFOLIO])

Project briefs

Get A Project Brief

Get the full record for a project brief.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_A_PROJECT_BRIEF])

Update A Project Brief

Update an existing project brief by sending a PUT request with the `data` block fields to the project URL. Unchanged fields remain as is, and the full updated record is returned.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_UPDATE_A_PROJECT_BRIEF])

Delete A Project Brief

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

Create A Project Brief

Creates a new project brief. Returns the full record of the newly created project brief.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_CREATE_A_PROJECT_BRIEF])

Project memberships

Get A Project Membership

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

Get Memberships From A Project

Returns the compact project membership records for the project.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_MEMBERSHIPS_FROM_A_PROJECT])

Project statuses

Get A Project Status

*Deprecated: new integrations should prefer the `/status_updates/{status_gid}` route.* 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_PROJECT_STATUS])

Delete A Project Status

*Deprecated: new integrations should prefer the `/status_updates/{status_gid}` route.* Deletes a specific, existing project 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_PROJECT_STATUS])

Get Statuses From A Project

*Deprecated: new integrations should prefer the `/status_updates` route.* Returns the compact project status update records for all updates on the project.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_STATUSES_FROM_A_PROJECT])

Create A Project Status

*Deprecated: new integrations should prefer the `/status_updates` route.* Creates a new status update on the project. Returns the full record of the newly created project status update.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_CREATE_A_PROJECT_STATUS])

Project templates

Get A Project Template

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

Delete A Project Template

A specific, existing project template can be deleted by making a DELETE request on the URL for that project 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_PROJECT_TEMPLATE])

Get Multiple Project Templates

Returns the compact project template records for all project templates in the given team or workspace.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_MULTIPLE_PROJECT_TEMPLATES])

Get A Team S Project Templates

Returns the compact project template records for all project templates in the team.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_A_TEAM_S_PROJECT_TEMPLATES])

Instantiate A Project From A Project Template

A job is created to asynchronously instantiate a project. Obtain a `gid` by requesting a project template and use it in `requested_dates`. Body changes if the workspace is an organization, che
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_INSTANTIATE_A_PROJECT_FROM_A_PROJECT_TEMPLATE])

Projects

Get Multiple Projects

Returns the compact project records for some filtered set of projects. Use one or more of the parameters provided to filter the projects returned. *Note: This endpoint may timeout for large do
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_MULTIPLE_PROJECTS])

Create A Project

Create a project within a specific workspace or organization, which is unchangeable post-setup. If it's an organization, assign a team. You'll receive the full record of the new project.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_CREATE_A_PROJECT])

Get A Project

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

Update A Project

Update an existing project by making a PUT request with the `data` block to change specific fields. Unspecified fields won't be altered. Careful updates prevent overwriting others' changes. Th
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_UPDATE_A_PROJECT])

Delete A Project

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

Duplicate A Project

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_PROJECT])

Get Projects A Task Is In

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

Get A Team S Projects

Returns the compact project records for all projects in the team.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_A_TEAM_S_PROJECTS])

Create A Project In A Team

Creates a project shared with the given team. Returns the full record of the newly created project.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_CREATE_A_PROJECT_IN_A_TEAM])

Get All Projects In A Workspace

Returns the compact project records for all projects in the workspace. *Note: This endpoint may timeout for large domains. Prefer the `/teams/{team_gid}/projects` endpoint.*
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_ALL_PROJECTS_IN_A_WORKSPACE])

Create A Project In A Workspace

Creates a project in the workspace. If the workspace for your project is an organization, you must also supply a team to share the project with. Returns the full record of the newly created pr
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_CREATE_A_PROJECT_IN_A_WORKSPACE])

Add A Custom Field To A Project

Custom fields are associated with projects by way of custom field settings. This method creates a setting for the project.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_ADD_A_CUSTOM_FIELD_TO_A_PROJECT])

Remove A Custom Field From A Project

Removes a custom field setting from a project.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_REMOVE_A_CUSTOM_FIELD_FROM_A_PROJECT])

Get Task Count Of A Project

Retrieve task count data by opting in with `opt_fields`. By default, no fields are included. Note rate limits apply and fields impact cost limits. Milestones count as tasks in various totals.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_TASK_COUNT_OF_A_PROJECT])

Add Users To A Project

Adds users to a project as members and potentially followers based on their default notification settings. Updates and returns the project record.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_ADD_USERS_TO_A_PROJECT])

Remove Users From A Project

Removes the specified list of users from members of the project. Returns the updated project record.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_REMOVE_USERS_FROM_A_PROJECT])

Add Followers To A Project

The operation adds users as followers to a project, enabling them to receive "tasks added" notifications. Non-member users become members through this process, and an updated project record is
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_ADD_FOLLOWERS_TO_A_PROJECT])

Remove Followers From A Project

Removes the specified list of users from following the project, this will not affect project membership status. Returns the updated project record.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_REMOVE_FOLLOWERS_FROM_A_PROJECT])

Create A Project Template From A Project

New Asana API job creates project templates asynchronously; templates API-accessible but not in UI until Project Templates 2.0 release, details in forum post.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_CREATE_A_PROJECT_TEMPLATE_FROM_A_PROJECT])

Rules

Trigger A Rule

Trigger a rule which uses an ["incoming web request"](https://raw.githubusercontent.com) trigger.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_TRIGGER_A_RULE])

Sections

Get A Section

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

Update A Section

To update a section of a project, make a PUT request with the `data` block specifying only the `name` field or those you wish to change, to avoid overwriting others' updates. It returns the up
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_UPDATE_A_SECTION])

Delete A Section

A specific, existing section can be deleted by making a DELETE request on the URL for that section. Note that sections must be empty to be deleted. The last remaining section cannot be deleted
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_DELETE_A_SECTION])

Get Sections In A Project

Returns the compact records for all sections in the specified project.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_SECTIONS_IN_A_PROJECT])

Create A Section In A Project

Creates a new section in a project. Returns the full record of the newly created section.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_CREATE_A_SECTION_IN_A_PROJECT])

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🧪