
Get time tracking entries for a task Returns compact representation by default. For full details, set opt_fields to: 'gid,name,due_date,assignee.name,completed,memberships.project.name,custom_fields'.
Generate MCP URLOverview: Get time tracking entries for a task Returns compact representation by default. For full details, set opt_fields to: 'gid,name,due_date,assignee.name,completed,memberships.project.name,custom_fields' through Asana.
Benefits:
Common Use Cases:
1. Automated Task Triage & Assignment
AI agents analyze incoming Asana tasks, auto-assign them to the right team members based on workload, skills, and priority, and set due dates accordingly.
2. Project Status Reporting
AI agents pull task completion data, milestones, and blockers from Asana to generate automated weekly status reports for stakeholders.
3. Cross-Tool Workflow Sync
Automatically sync Asana tasks with Slack, email, and calendar tools to keep project updates flowing across your entire tech stack.
4. Workload Balancing & Capacity Planning
AI agents monitor team workloads in Asana, flag overloaded members, and recommend task redistribution to keep projects on track.
5. Deadline & Dependency Monitoring
AI agents track task dependencies and upcoming deadlines in Asana, sending proactive alerts when delays risk cascading across the project timeline.

Update a custom field Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Remove followers from a project Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Reject an access request Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get a section Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Delete a project Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Update a goal Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Update a rate Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get time periods Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Establish a webhook Advanced: webhooks require a stable public URL and careful secret handling.

Get events on a resource Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Create a goal metric Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Update a user Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get parent goals from a goal Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Lists stories on a task filtered to comments (resource_subtype comment) on the client response. Returns story GIDs and text. For all activity types use the generic stories API tool.

Get projects a task is in Returns compact representation by default. For full details, set opt_fields to: 'gid,name,due_date,assignee.name,completed,memberships.project.name,custom_fields'.

Add a user to a workspace or organization Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get a workspace membership Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Delete a status update Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Delete a project brief Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get a team membership Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Delete an attachment Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Lists tasks in a single project. Returns compact or expanded tasks per opt_fields. Use instead of ASANA_GET_MY_TASKS when scope is one project. Returns compact representation by default. For full details, set opt_fields to: 'gid,name,due_date,assignee.name,completed,memberships.project.name,custom_fields'.

Update a section Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get a time tracking entry Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get a budget Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Delete a rate Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Delete a portfolio Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Lists tasks in a board/list section. Returns tasks ordered in that section. Use after you have a section GID from project sections. Returns compact representation by default. For full details, set opt_fields to: 'gid,name,due_date,assignee.name,completed,memberships.project.name,custom_fields'.

Creates an organization export via POST /organization_exports and polls the job (up to 120s). Enterprise/service account. Returns full job payload including export metadata when succeeded.

Get a team Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Creates a goal. Returns new goal GID. Use ASANA_UPDATE_GOAL_PROGRESS to update metric current value.

Get attachments from an object Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get reactions with an emoji base on an object. Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get details on an org export request Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get all custom types associated with an object Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get a time period Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Update a time tracking entry Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Add a collaborator to a goal Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Create a project template from a project Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Delete a task Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Create an allocation Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Delete a project template Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get multiple users Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get memberships from a user Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Updates an existing comment story text. Returns updated story. Use ASANA_DELETE_COMMENT to remove.

Create a project in a team Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get goals Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get a team's custom fields Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Instantiates a project template and polls until the job completes (60s max). Returns new project. Advanced async helper.

Create a tag Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Update a tag Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Remove a portfolio item Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Add a custom field to a goal Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Remove a custom field from a project Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get a custom type Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Create a section in a project Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Create a membership Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get memberships from a project Returns compact representation by default. For full details, set opt_fields to: 'gid,name,archived,color,due_date,owner.name,team.name,status'.

Creates a subtask under a parent task. Returns the new subtask GID. Use ASANA_CREATE_TASK with parent set for alternate flows.

Get sections in a project Returns compact representation by default. For full details, set opt_fields to: 'gid,name,archived,color,due_date,owner.name,team.name,status'.

Get multiple workspaces Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Fetches incomplete tasks assigned to the authenticated user across accessible workspaces. Returns task GIDs, names, due dates, projects, and completion status. Use for "what do I need to do today" queries. For tasks in one project use ASANA_GET_TASKS_IN_PROJECT; for a section use ASANA_GET_TASKS_IN_SECTION. Returns compact representation by default. For full details, set opt_fields to: 'gid,name,due_date,assignee.name,completed,memberships.project.name,custom_fields'.

Add users to a portfolio Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Add users to a project Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Create a status update Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get teams for a user Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Update a project Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Remove a project from a task Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Update an enum option Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get multiple projects Returns compact representation by default. For full details, set opt_fields to: 'gid,name,archived,color,due_date,owner.name,team.name,status'.

Starts an organization export job (async). Returns job GID; poll with ASANA_GET_JOB or use ASANA_CREATE_ORG_EXPORT_AND_WAIT. Enterprise/service account only.

Lists projects in a team. Returns compact representation by default. For full details, set opt_fields to: 'gid,name,archived,color,due_date,owner.name,team.name,status'.

Powerful full-text and filter-based task search across a workspace. Supports filtering by assignee, projects, completion, due dates, and sort. Use instead of listing all tasks when looking for specific work. Returns up to 100 results per call. Faster than iterating every project when you have filters.

Get team memberships Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Delete a membership Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get a project template Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get audit log events Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Adds a comment story on a task. Returns the new story. Use ASANA_UPDATE_COMMENT / ASANA_DELETE_COMMENT to edit or remove.

Create a project brief Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Create a tag in a workspace Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Create a subtask Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get a timesheet approval status Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Approve an access request Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Instantiate a task from a task template Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Add a tag to a task Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Remove a custom field from a portfolio Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Delete a task template Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Create a budget Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get a task Returns compact representation by default. For full details, set opt_fields to: 'gid,name,due_date,assignee.name,completed,memberships.project.name,custom_fields'.

Add task to section Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Lists incomplete tasks assigned to you (assignee.any=me) with due_on before today via workspace task search. Requires workspace GID. For simple project lists use ASANA_GET_TASKS_IN_PROJECT. Returns compact representation by default. For full details, set opt_fields to: 'gid,name,due_date,assignee.name,completed,memberships.project.name,custom_fields'.

Create an enum option Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get all budgets Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get a workspace's custom fields Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get status updates from an object Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get an attachment Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get a role Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get a membership Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Set the parent of a task Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.

Get a goal's custom fields Returns Asana JSON (usually a data envelope). On GET tools use opt_fields to trim the payload. Prefer a more specific tool in the same category when one matches your intent.
Do I need my own developer credentials to use Asana MCP with Adopt AI?
No, you can get started immediately using Adopt AI's built-in Asana integration. For production use, we recommend configuring your own API credentials for greater control and security.
Can I connect Asana with other apps through Adopt AI?
Yes! Adopt AI supports multi-app workflows, so your AI agents can seamlessly move data between Asana and CRMs, spreadsheets, messaging platforms, and more.
Is Adopt AI secure?
Absolutely. Adopt AI is SOC 2 Type 2 certified and ISO/IEC 27001 compliant, and adheres to EU GDPR, CCPA, and HIPAA standards. All data is encrypted in transit and at rest, ensuring the confidentiality, integrity, and availability of your data. Learn more here.
What happens if the Asana API changes?
Adopt AI maintains and updates all integrations automatically, so your agents always work with the latest API versions, no manual maintenance required.
Do I need coding skills to set up the Asana integration?
Not at all. Adopt AI's zero-shot API discovery means your agents understand Asana's schema on first contact. Setup takes minutes with no code required.
How do I set up custom Asana MCP in Adopt AI?
For a step-by-step guide on creating and configuring your own Asana API credentials with Adopt AI, see here.