How to automatically assign tasks based on role in company


I work for an Event Management Agency and I am trying to pitch Asana to my team.

We currently use a static ‘Project Timelines’ Excel and Asana can open that up to a much more open workspace so I hope it can be really helpful in the future.

Our project timelines Excel template at the moment automatically assigns people tasks based on their role. I.e. an Event Administrator would always send out invitation letters for every project. I would say about 80% of our tasks are pre-assigned before the team members on that project have been decided. Is there any way in Asana to assign these tasks automatically when copying over a project template? It’s quite time consuming assigning tasks to individual team members every time when their tasks will remain the same for each project (over 100 in our project). Perhaps we could create roles within the project template and then once a team is assigned a role it will automatically pre-fill the tasks they need to complete. Is something like this already a feature?

Thanks for your help!



Hi @Dan2

This is an odd little quirk in Asana. If you save a project as a template, all users who create a project from that template will get a clean, unassigned version with no due dates, collaborators or project members. There’s no way to save those elements as part of the template.

However, if you just directly copy the project, you get the option to retain certain elements, including assignee:

If I were you, I’d set up a project with the title prefaced by (TEMPLATE), assign all the tasks to the relevant people, then copy that one directly each time. In your case, that’s a better option than using an actual template.

I hope that helps.


Hi Mark,

Thank you for your reply!

For each event the team is always made up of three roles (Event Manager, Event Coordinator and Event Administrator) and our project timelines pre-assign the tasks based on the role. However, there several EMs / ECs and EAs all in our company and we all work with each other on different projects. Consequently, I’m looking for a way to assign tasks to a role before assigning it to a person. That way, once we’ve decided what team is working on what project, we can assign them all the tasks related to that role for that project.

Would there be a way to work with the tags. I.e. each tag represents a role and then we can assign people everything with a certain tag?

1 Like

Ah! Sorry, Dan, I was thinking people rather than roles.

Yes, you could definitely use tags to associate certain tasks with certain roles. Or,even better, if you have a premium account you could use custom fields. Then you could go to the ‘Change view’ option at the top-right and sort the project by specific fields, and bulk-assign those tasks to individuals.

If you have a free account, however, tags should work too.


Thanks Mark that is most helpful!

Can you sort the project by tags and bulk assign tasks or is it only available in the premium version?

I think I’ve just found the answer on the help page.

Click the tag to see all tasks with that tag and then : Click + Shift + Click to choose the person to bulk assign.

1 Like

Aces! I hadn’t even realised you could do that.

Glad you got sorted out, Dan.

Thanks for bringing this up @Dan2 and I love the workaround @Mark_Hudson. Our office (nonprofit) is heavily event-based and while we don’t have roles as Dan’s office does, we do have committees that could probably benefit from this structure.

1 Like

Awesome workflow and suggestions!

Another tidbit to add- If you use custom fields for this in premium accounts, you could also sort the project by field to multi-select (click + shift + click) and assign each group straight from the project.

1 Like

@Kaitie side-topic but how do you get the drop-down carot for the sections as in your example? The only place I see those is in “My Task” but not individual projects.

1 Like

That is the view when you sort a project by field (screenshot below)

You would only be able to use this view if you are using Custom Fields in your projects.

1 Like

Can’t seem to get this Click+Shift+Click to work. Could you please be a bit more specific in how you execute this bulk assign.

Also to summarise the concept from what I gather:
You create roles as tags in Asana
You add the tags (i.e. roles) to the respective tasks in Asana
You then bulk assign via the above action

Is this right?

Also a separate solution approach to the one above. What do you think?

  1. Create an Excel “helper” file with the project details; i.e. task name, duration, start, finish date (calculated from start and duration), resource name (role not individual), dependencies
  2. The Excel helper file has a table to map roles to individuals (i.e. email addresses). This table gets updated every time we instantiate a new project from the Excel helper file
  3. The Excel helper file has an option to set the start date and with the calculations etc. in the Excel file the various dates are automatically created
  4. Ensure all individuals listed in point 2. are created in Asana
  5. Use the CSV importer to import this project to Asana

If everything works well this project should now appear properly in Asana with all users assigned and the correct dates and dependencies. Of course it requires you to maintain this Excel helper file but given roles are not yet implemented and no ability to automatically assign dates with dependencies in Asana yet this may be a feasible workaound.

Could this work?

I just want to chime in here to emphatically plead for a slight tweak to how the Roles feature works with templates.

Here is my “perfect world” vision:

  • I create a template project with a few defined roles (And, ideally, I can define those roles without assigning actual individual people to them in the template)
  • When I create a new project from that template, I manually assign individuals to each Role
  • Each Role’s tasks (defined either by tags with the role names, or better yet a ‘Role’ field) automatically assign themselves to the individual assigned to that Role

This seems like such a no-brainer, and I’ll admit I’m a little irritated that this isn’t already how this works—it makes the whole Roles feature feel half-baked.

Please, Asana, please! Like many others in here, I’m trying to foster org-wide buy-in to Asana, and the lack of this sort of ability makes that much harder.


Well stated, @Alex_Russell-Falla! This is one of the main reasons I prefer to use the import via CSV feature to build projects. There are only a few drawbacks with this approach: attachments, tags, collaborators, and rich-text descriptions aren’t currently supported!

I’d love to see a broader buildout of roles that makes the project creation from templates a more automated process.

1 Like

Hi there!

Thanks for sharing your feedback with us. I’m happy to share we’re rolling out Variable Assignees in Templates!

With Variable Assignees in Templates, you’ll be able to create a project role in your template and assign tasks to a project role, giving your team guidance when they use the template.

How does it work?
To add a project role in templates, convert a project into a template/edit an existing template and you’ll see “Project roles” in the left hand side bar to add different project roles.

When you’re ready to kick off your project, you’ll be prompted to set an assignee for each project role

This feature has already begun rolling out in stages!

1 Like

Hi Erfaan, once we have assigned the roles, can we then ensure that tasks are automatically allocated based on those roles? How is this done? Or is it only on a highlevel project roles basis that we can allocate people?

Hi @Tamsin_Gallick ,

Welcome to the forum! This functionality is available on project templates. In the assignee field, you have the option to hard-code in a user or use dynamic assignment based on project role (see below for where those options are located).

When you create a project from this template, it will prompt you to assign people to those project roles. If you do not, it will leave the assignee field empty.