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

Team memberships

Get A Team Membership

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

Get Team Memberships

Returns compact team membership records.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_TEAM_MEMBERSHIPS])

Get Memberships From A Team

Returns the compact team memberships for the team.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_MEMBERSHIPS_FROM_A_TEAM])

Get Memberships From A User

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

Teams

Create A Team

Creates a team within the current workspace.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_CREATE_A_TEAM])

Get A Team

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

Update A Team

Updates a team within the current workspace.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_UPDATE_A_TEAM])

Get Teams In A Workspace

Returns the compact records for all teams in the workspace visible to the authorized user.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_TEAMS_IN_A_WORKSPACE])

Get Teams For A User

Returns the compact records for all teams to which the given user is assigned.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_TEAMS_FOR_A_USER])

Add A User To A Team

The user making this call must be a member of the team in order to add others. The user being added must exist in the same organization as the team. Returns the complete team membership record
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_ADD_A_USER_TO_A_TEAM])

Remove A User From A Team

The user making this call must be a member of the team in order to remove themselves or others.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_REMOVE_A_USER_FROM_A_TEAM])

Time periods

Get A Time Period

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

Get Time Periods

Returns compact time period records.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_TIME_PERIODS])

Time tracking entries

Get Time Tracking Entries For A Task

Returns time tracking entries for a given task.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_TIME_TRACKING_ENTRIES_FOR_A_TASK])

Create A Time Tracking Entry

Creates a time tracking entry on a given task. Returns the record of the newly created time tracking entry.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_CREATE_A_TIME_TRACKING_ENTRY])

Get A Time Tracking Entry

Returns the complete time tracking entry record for a single time tracking entry.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_A_TIME_TRACKING_ENTRY])

Update A Time Tracking Entry

Update a time tracking entry by sending a `PUT` request with desired changes to its URL. Unspecified fields won't change to avoid overwriting others' updates. The response includes the updated
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_UPDATE_A_TIME_TRACKING_ENTRY])

Delete A Time Tracking Entry

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

Typeahead

Get Objects Via Typeahead

The Typeahead API offers fast search results in a workspace, emphasizing frequent contacts and recent projects, with basic info and customizable fields. Limited to one-page results.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_OBJECTS_VIA_TYPEAHEAD])

User task lists

Get A User Task List

Returns the full record for a user task list.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_A_USER_TASK_LIST])

Get A User S Task List

Returns the full record for a user's task list.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_A_USER_S_TASK_LIST])

Users

Get Multiple Users

Returns the user records for all users in all workspaces and organizations accessible to the authenticated user. Accepts an optional workspace ID parameter. Results are sorted by user ID.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_MULTIPLE_USERS])

Get A User

Returns the full user record for the single user with the provided ID.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_A_USER])

Get A User S Favorites

Returns all of a user's favorites in the given workspace, of the given type. Results are given in order (The same order as Asana's sidebar).
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_A_USER_S_FAVORITES])

Get Users In A Team

Returns the compact records for all users that are members of the team. Results are sorted alphabetically and limited to 2000. For more results use the `/users` endpoint.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_USERS_IN_A_TEAM])

Get Users In A Workspace Or Organization

Returns the compact records for all users in the specified workspace or organization. Results are sorted alphabetically and limited to 2000. For more results use the `/users` endpoint.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_USERS_IN_A_WORKSPACE_OR_ORGANIZATION])

Webhooks

Get Multiple Webhooks

Get the compact representation of all webhooks your app has registered for the authenticated user in the given workspace.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_MULTIPLE_WEBHOOKS])

Establish A Webhook

Webhook creation involves an HTTP POST, a handshake with an `X-Hook-Secret` header for confirmation, and an asynchronous server. Localhost is not allowed. If the handshake fails, so does the s
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_ESTABLISH_A_WEBHOOK])

Get A Webhook

Returns the full record for the given webhook.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_A_WEBHOOK])

Update A Webhook

An existing webhook's filters can be updated by making a PUT request on the URL for that webhook. Note that the webhook's previous `filters` array will be completely overwritten by the `filter
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_UPDATE_A_WEBHOOK])

Delete A Webhook

This method *permanently* removes a webhook. Note that it may be possible to receive a request that was already in flight after deleting the webhook, but no further requests will be issued.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_DELETE_A_WEBHOOK])

Workspace memberships

Get A Workspace Membership

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

Get Workspace Memberships For A User

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

Get The Workspace Memberships For A Workspace

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

Workspaces

Get Multiple Workspaces

Returns the compact records for all workspaces visible to the authorized user.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_GET_MULTIPLE_WORKSPACES])

Get A Workspace

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

Update A Workspace

Update an existing workspace's name via a PUT request to its URL. Only specified fields in the data block change; others stay as-is. The response is the full updated workspace record.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_UPDATE_A_WORKSPACE])

Add A User To A Workspace Or Organization

Add a user to a workspace or organization. The user can be referenced by their globally unique user ID or their email address. Returns the full user record for the invited user.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_ADD_A_USER_TO_A_WORKSPACE_OR_ORGANIZATION])

Remove A User From A Workspace Or Organization

Remove a user from a workspace or organization. The user making this call must be an admin in the workspace. The user can be referenced by their globally unique user ID or their email address.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.ASANA_REMOVE_A_USER_FROM_A_WORKSPACE_OR_ORGANIZATION])

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🧪