Listing All Asana Workspace Tasks

The Asana API provides access to data stored in Asana workspaces. What's the best way to get a list of all the tasks in the workspace?

You can find a list of projects and users associated with a workspace. Then collect all the tasks of each individual project and all tasks assigned to a specific assignee. Combining all the sets will result in a set of tasks available to the user, represented by the API token used.

If all API requests are sent sequentially - 2+ user + project requests - this operation is quite long for large workspaces. If API requests are sent in parallel, then there may be up to concurrent user + project requests. What level of concurrency of the Asana API endpoint will still be happy? Or what is the recommended approach?

+3


source to share


2 answers


thanks for your question.

Taking a complete dump of all tasks in a workspace can potentially generate a lot of data (this will be very easy to manage when you are just starting out, but not once when you have been actively working in the workspace for a while). We think this is an extended use case, and there are significant considerations to make it work and scale well, so the API does not yet provide a good mechanism for this (as of 4/11/2012).



I think the main reason you might need this ability is because you want to export data to some other tool or sync it up with another database. We really want to support our developers in getting their data where they need it, and are exploring how to best serve you in this way. Providing an export function is one way to do this, but there are other features we are considering, such as WebHooks or the sync API, that can prove to be much more useful and flexible over time.

In the meantime, while we support a lot of concurrent requests (like any respectable REST API), we can enforce rate limiting, and the performance you are likely to see at this point can make this approach incomprehensible. It might work for you now, but I don't recommend it. :) We will prioritize this need for other API requests, of course, and will keep you posted as we make progress.

+4


source


Consider a more appropriate use case for displaying all tasks for Today across all workspaces.

User journey is all about updating all tasks in workspaces, then completing tasks without having to work across multiple workspaces, and then updating as the day progresses.



Is it possible?

+1


source







All Articles