so what’s the status of this issue?
Nothing indicates Asana will ever do it. We might have a few things here and there so that subtasks are easier to use, but I doubt subtasks will ever be truly part of the project. That’s only my opinion.
It’s too bad, because it’s literally the #1 complaint I hear from clients when they come to me for help with Asana.
It’s to the point where, it’s hard to get them off the topic, because they’re so honed in on the subtask confusion.
![]()
![]()
![]()
What is exactly the issue, what’s the thing they ask for? They want the project name to appear in My Tasks? Or they want more?
Yes, exactly. They want the project name to appear in My Tasks.
@RD_Creative - Asana is actually working on this right now! If you look at the features they have in development, there’s a feedback request specifically about showing projects on My Tasks:
OMG OMG!!
![]()
Thanks so much for drawing this to my attention. I didn’t even know there was an ‘In Development’ section.
Well, a lot of people will be delighted with this fix.
THANK YOU ASANA!! ![]()
It looks like this issue was “fixed” for the My Tasks view but didn’t actually solve the root cause of the request - which is to add subtasks to the project. If you click into a subtask, you still don’t see the Project Title. This means that in other views, namely Search, you still don’t see the project the subtask is associated with.
Any update on this request? It’s been six years! I literally cannot manage my team’s priorities as a resource manager as it stands now without manually assigning 100s of subtasks to their intended project. That’s insane.
Dashboards and Workload do include subtasks, @Nina_Perrine what’s your request exactly?
They dont sadly.
Only after I add the subtask manual to the project, the subtask is visible in the board
Yes that’s intended behaviour at that point indeed. Make sure to upvote the post
Hi ASANA, any reaction from your side on this 6 years old topic?
I’ve tried to scrolling through thousands of threads and I cannot believe that we still have this issue? How can I get an overview of my team’s tasks from other projects without subtasks?
Simple: use an Advanced search or a dashboard where you can click the chart ![]()
Hello Asana team,
I’m relatively new to using Asana and it took me about an hour today to figure out why subtasks weren’t available in ‘Highlights’ to pull in to Status Updates. I’ve reviewed some of the above posts but at 374 posts it’s too much to review everything. At this point I don’t think I necessarily need subtasks to be assigned to a project directly, but one way or another, I’m very much looking for subtasks to be available in Highlights. It’s strange to me that such an otherwise mature and powerful tool doesn’t facilitate this.
I’ve given an upvote to this request/thread but please let me know if there’s a more appropriate place for this request. TY!
Hi @Matt_AC and welcome to the forum,
No, by posting here and especially by voting, you’ve done the right thing!
I have found a workaround to this issue by using an Asana rule that executes a script (all within Asana’s standard functionality, no external applications needed). Any time you create a new subtask it takes a few seconds after which all projects from its parent are added.
Script
async function run() {
try {
const subtask = await tasksApiInstance.getTask(task_gid, { opt_fields: ‘name,parent’ });if (!subtask.data.parent) { log(`⚠️ Task "${subtask.data.name}" (GID: ${task_gid}) is NOT a subtask. Script stops here.`); return; } const parentGid = subtask.data.parent.gid; const parentTask = await tasksApiInstance.getTask(parentGid, { opt_fields: 'name,projects' }); const parentProjects = parentTask.data.projects || []; if (parentProjects.length === 0) { log(`ℹ️ Parent task "${parentTask.data.name}" (GID: ${parentGid}) has no projects.`); return; } const projectGids = parentProjects.map(p => p.gid); log(`📌 Projects of parent task "${parentTask.data.name}" (GID: ${parentGid}): ${projectGids.join(', ')}`); const subtaskDetails = await tasksApiInstance.getTask(task_gid, { opt_fields: 'projects,name' }); if (!subtaskDetails.data || !subtaskDetails.data.projects) { log(`⚠️ Could not retrieve projects for subtask "${subtaskDetails?.data?.name || 'unknown'}" (GID: ${task_gid}).`); return; } const subtaskProjects = subtaskDetails.data.projects.map(p => p.gid); for (const projectGid of projectGids) { if (!subtaskProjects.includes(projectGid)) { try { const body = { data: { project: projectGid } }; await tasksApiInstance.addProjectForTask(body, task_gid); log(`➕ Subtask "${subtaskDetails.data.name}" (GID: ${task_gid}) added to project ${projectGid}`); } catch (addError) { log(`❌ Error adding subtask (GID: ${task_gid}) to project ${projectGid}:`, addError.message || JSON.stringify(addError)); } } else { log(`✅ Subtask "${subtaskDetails.data.name}" (GID: ${task_gid}) is already in project ${projectGid}`); } }} catch (error) {
log(“Error running script:”, error.message || JSON.stringify(error));
}
}run();
Essentially what it does is:
- It fetches the task details of the triggered task using its ID, specifically retrieving its name and parent information.
- It checks if the task has a parent (i.e., if it’s a subtask). If not, it logs a message and stops execution.
- If the task has a parent, it retrieves the parent task’s details, including its name and associated projects.
- It checks if the parent task has any projects assigned. If there are none, it logs this information and stops.
- It extracts the project IDs from the parent task’s projects.
- It logs the list of projects associated with the parent task.
- It fetches the current projects linked to the subtask.
- It iterates over each project from the parent task and checks if the subtask is already associated with that project.
- If the subtask is not yet linked to a project, it adds the subtask to that project using the appropriate API call.
- It logs success messages when the subtask is added or notes if the subtask is already part of the project.
- Any errors encountered during the process are caught and logged for debugging.
How to set this up:
- Add Asana custom rule
- Trigger: When task is added to this project (or any trigger, such as a field edit)
- Action: External actions > External services > Execute Script. Paste the following:
Hope this helps until Asana figures this out themselves.
Thanks for that great addition, @BremanIMIT.
I want to ensure that everyone is aware that script actions are only available to Enterprise plans. (Maybe you could consider editing your post just to make mention of that?)
Thanks,
Larry
I don’t see scripts as an option in External Actions. Does that mean I’m not on an Enterprise Plan?
Since Asana doesn’t seem capable of implementing this very necessary and requested function, how about all plans get 1 script, so we can use the community created functionality?
Or literally just make this functionality available in the Rules creation.

