Copying Large Projects

We use Asana for managing large project/events that happen every year. The struggle for us is the process of “copying” the project from last year to the current year. If a project has 300 tasks, we have to manually change those dates. Does anyone know of a way to change dates in a big push – like maybe 365 days from the current date?

1 Like

The way we do it is via API calls using a custom application. We have implemented this for our on-boarding and off-boarding checklist.

  1. Each checklist has a project template.
  2. Each task follows the naming convention “taskname [no.days]” e.g. “Read project handbook [5]”
  3. The application essentially copies the template, sets the due dates based on a key date
  • (on-boarding) due date = key date + no.days
  • (off-boarding) due date = key date - no.days
1 Like

Would you be willing to make free your application

It’s coded in Java, and in the end can be triggered via command prompt. (no time to create some UI for it :smile: ) Anyway, I can provide the source code, but I will have to clean it up first, since it contains some confidential info.

That is so nice @jallensantos! Sounds like a super helpful workaround. I’m early in my time here at Asana, but I can certainly see something like that being useful with longer-term projects that need repeating.

You can find it here: asana-master.rar - Google Drive

Also, I followed the instructions here:

And with much tinkering, was able to create the app. :smiley:

Woah, so great @jallensantos! Thank you for sharing!

@jallensantos Could you explain how to use after clicking your first URL. This is the screen that I get

Ahh, I forgot to mention. That is the source code of the application. You will still have to download and modify it such that it points to the correct workspace and projects, and that it knows the rules for the assignment of tasks. Lastly, you will then have to compile it using Java+Maven. Only then will you be able to use/run it.

I have the same issue. We manage a large event every year and pretty much mirror the tasks every year. At the moment we have to manually amend all the dates. It would be good if it could update automatically, especially if it kept the same days i.e. using Friday week 34 rather than the actual date so to avoid the tasks shifting a day falling on the weekend. Allen, your solution is amazing but I have no idea how to implement. We are a team of computer illiterate event oppies :slight_smile:


It would be so helpful if when I copied a large project I could just select “transfer due dates to new year.” We have several large project with hundreds of tasks that I would prefer to not have to manually uncheck and reassign due dates. Thank You! Is there a chance that could happen at some point @LenSantos?

I should have probably tagged @Alexis and @James_Carl. Please refer to my previous statement.

Hey Trent! At this point we’re unable to confirm upcoming features, but if this is something you’d like to see, feel free to add a post to the #productfeedback category. :slight_smile:

1 Like

Hi Allen,
Sorry that I’m new to Java and even the API. I’m trying to use your java maven zip to try to connect to our organization.
I’ve created the new maven project, changed the domain and get the personal access token.
What else do i need to make it work ?!
Client ? Workspace and List parameters ?!


What I’m trying to do is to download all the attachment inside my team as I checked with Asana support that my paid version (50 users) is not support. It only support in Enterprises version.

Hi KL1,

I’m very sorry for getting back to you just now ! I’ve been busy with work and have been away from the community for the longest time.

Were you able to make it work?

I’m using Eclipse since it’s easy to use.

  1. Download the RAR file and extract it somewhere in your filesystem.
  2. In Eclipse, go to File > Import
  3. In the Import Wizard, choose Maven > Existing Maven Projects
  4. Then select the folder asana-master
  5. Replace the domain to reflect your organization’s
  6. Either set up the system environment ASANA_API_KEY, or just replace it with the access token

The next steps depend on what you really intend to do. An example is in the createRollInChecklist method. This tries to find the project named Roll-In Checklist - Template v5. Then it retrieves all the tasks in this project, creates a new project, and then creates new tasks for each task found in the template. Most details are retained - tags, notes, task name, etc.

1 Like

Hi Allen,
Appreciate your help, I just login to check message, let me try first!
Thank you again !
KEvin Lau

we would also benefit from this feature. how can we get turned on?