Forty projects, and no way to ask one question of them

Teams planning work in Asana who have reached the point of exporting projects to a spreadsheet every month, because the question they need answering spans projects and Asana answers it one board at a time.

  • One Asana project becomes one table, one row per top-level task
  • Name, Notes, Assignee, Section, Completed, Due, Start, Created, Modified, Tags and a Link back to Asana
  • Section is the board column the task sits in, so a board arrives as a groupable field
  • Every row keeps a permalink, so a task is always one click from the original
  • An automation can file a task back into an Asana project
  • Subtasks are not imported, and the import says so rather than leaving you to notice
Start free 30 days free · no credit card
WHAT IT DOES

Exactly what connecting Asana gives you

Brings data in

Pull Asana into RowFold tables you own — filter them, report on them, link them to everything else in the workspace.

And it stays current: importing again updates the same tables, adding new records and updating changed ones, so links from your other tables hold. Keep in sync does that for you hourly or daily.

Writes back

Automation steps that act on Asana when something happens in RowFold:

  • Create an Asana task Adds a task to an Asana project. Returns the new task's link, or its id, which the step can save onto the record or pass to the next step.

What it doesn't do: It has no say in what a booking page offers. An import only reads: nothing is written back to Asana, a record deleted there stays here, and a sync runs hourly at most rather than the moment something changes. Anything else you have read about Asana and RowFold, this page is the authority: it is generated from the connector's own code.

HOW TO DO IT

The jobs people connect Asana for

I want to bring a bunch of projects across from Asana

Each project you pick becomes its own table, one row per top-level task, with the same eleven columns every time. That last part is what makes bringing several across worth doing: the tables arrive the same shape, so they can be compared, combined or linked afterwards without any tidying up.

  1. Connect Asana under Manage workspace, then Integrations Sign in with the account that can see the projects you want. Asana's consent screen says the app has unrestricted access, which is how Asana describes a full-permissions app rather than anything specific RowFold asked for.
  2. Press Import data and look through the project list Every non-archived project in every Asana workspace you belong to is offered, grouped by workspace. Archived projects are deliberately not listed, so archive the finished ones in Asana first and the list gets much shorter.
  3. Import the projects one at a time Each import is queued and runs in the background, so you can start the next without waiting. Imports pace themselves for Asana's free-plan rate limit of 150 requests a minute, which means a large project takes a few minutes rather than failing halfway.
  4. Read the warnings the import reports when it finishes This is where it tells you that subtasks were not brought across, only the project's top-level tasks. A team that nests heavily will see fewer rows than they expected, and it is much better to learn that here than to conclude tasks went missing.
  5. Decide whether you wanted several tables or one Several tables suits projects that are genuinely different kinds of work. One table with a Project column suits the same work repeated per client, and is what makes a single question answerable across all of them.

You'll know it worked: Open one of the new tables and compare the row count against the same project in Asana with subtasks hidden. Those two numbers should match. If yours is lower, the difference is nested subtasks, not a failed import.

I want to ask one question across all my projects

This is the thing Asana structurally cannot do and the reason most people arrive here. Once the projects are tables, the question is an ordinary filter — but only if the tasks from different projects can be told apart, which takes one column.

  1. Bring every project you care about across first A question spanning projects can only be as complete as the projects you imported. Half a portfolio produces a confident answer about half a portfolio.
  2. Add a Project field and fill it per table before combining anything Once rows from several projects sit together, nothing in the task itself says where it came from. The Link column points back to Asana but is not something you can group by.
  3. Group by Assignee or by Section to see the shape of the work Section is the board column the task was in, so the grouping you already use in Asana survives the move and is available across every project at once.
  4. Save it as a report rather than as a view you re-derive A report keeps its filters and its period where somebody else can read them, which is the difference between a number the team trusts and one they re-litigate monthly.

You'll know it worked: Filter to incomplete tasks with a Due date in the past and check the count against what you would have got by opening each board and counting. The first time, do it for two projects by hand: if they agree, the rest will.

I want an Asana task created when something happens here

The step wants the project's numeric ID rather than its name, which is the one thing that catches people out. Asana puts that ID in the URL of the project, and it never changes.

  1. Open the Asana project in a browser and take the number out of the URL It is a long numeric id, something like 1201234567890123. The project also settles which Asana workspace the task lands in, so there is no workspace field to fill in.
  2. Build the automation on whichever RowFold table holds the trigger A deal reaching Won, a ticket reaching a state that needs field work, a booking being taken. Trigger on the change that means it, not on every edit.
  3. Add the Create an Asana task step and give it a project, a name and notes Project and name are required and the task is refused without them. Notes is optional and is worth filling from the record, because a task called “Install” with no context is a task somebody has to come back and ask about.
  4. Save the task's link onto the record Choose a Url or Text field under Save the result to. The step stores the link Asana sends back for the new task. Nothing else connects the task to the record, so without it nobody can get from one to the other.

You'll know it worked: Trigger it once with a test record and check the task appears in the right project rather than merely reporting success. A green run with nothing in Asana almost always means the project ID was a name, or a number from the wrong project.

WHAT IT FIXES

The four things that actually go wrong

A project is a silo. Any single board is perfectly legible, and the question people actually ask — what is late across all forty, who is carrying too much, which client absorbs the most hours — needs all of them at once, which is exactly the shape Asana is not.

Imported projects are ordinary tables. Ask across them, group by assignee or section, total whatever you total, and keep the answer as a saved report rather than a spreadsheet somebody rebuilds each month.

The work is not attached to the thing the work is for. A project called “Harborline rollout” knows nothing about the Harborline contract, the invoice, the kit on site or the renewal date, so every cross-reference happens in somebody's head.

Link the imported tasks to your client, deal or asset records. Delivery and commercial finally sit in one place, which is the reason to do this at all rather than admiring a copy of your board.

Custom fields are per project and mostly per paid tier, so the field you need on every project either does not exist on half of them or is spelled differently on each.

Add the field once, to your own table, and it applies to everything in it. Nothing about it depends on which Asana plan the project was created under.

Reporting across projects means a monthly export, a pivot table, and a set of assumptions nobody wrote down. The number is stale the day it is produced and unreproducible the month after.

The report reads the tables directly and is current whenever it is opened. The assumptions live in the report's own filters, where somebody else can read and argue with them.

One automation worth building

When a deal is marked won…

  1. Create the delivery record in RowFold and link it to the deal
  2. Create an Asana task in the onboarding project so the delivery team sees it
  3. Notify the account manager with the customer name and the start date
QUESTIONS

Before you start

Does it bring subtasks across?

No, and the import tells you so in its warnings rather than leaving you to work it out. Only the project's top-level tasks become rows. A team that nests work heavily will see a smaller table than they expected, which is why the warning exists: a silently flattened hierarchy reads exactly like an import that dropped records, and the two want very different responses.

Why can't I see one of my projects in the list?

Almost always because it is archived. The list deliberately offers non-archived projects only, across every Asana workspace your account belongs to. If the project you want is genuinely active and still missing, check which workspace it lives in and that the account you connected is a member of that workspace rather than a guest on the project.

Does the table stay in step with Asana afterwards?

It can, one way. Importing the project again updates its table, matched on each task's Asana ID, and Keep in sync does that hourly or daily; nothing is ever written back to Asana. An edit made here to a column the import fills goes back to Asana's value on the next run, so the intended shape is that Asana keeps planning the work and RowFold holds everything the work connects to, in columns and tables of its own.

What happens to assignees?

The assignee arrives as their name in a text column, not as a link to a person in your workspace. That is deliberate: an Asana account and a RowFold member are different things, and matching them automatically on a name would be wrong exactly when two people share one. Converting the column to a People field afterwards is a normal thing to do once you have checked the names line up.

Will a big project hit Asana's rate limits?

The import paces itself for the free-plan limit of 150 requests a minute, because your plan is not knowable up front and being throttled mid-import is worse than being slightly slower. On a paid Asana plan the ceiling is ten times higher and the import simply finishes sooner. Either way it runs in the background, so a slow one does not hold a page open.

Should I be replacing Asana with this?

Probably not, and the page is not arguing for it. Asana is good at planning work and at the daily rhythm of a team working a board. What it cannot do is answer a question spanning forty projects, or connect a task to the contract, invoice and equipment it exists because of. That second half is the part worth moving.

Describe yours and watch it build

There is no template to wait for. Type a sentence about what you run and RowFold assembles the tables, links, views and dashboard around it — then you change whatever does not fit.

Start free Free for 30 days. Then $29/month per editor, with unlimited free read-only viewers.