Consolidate portfolio Status updates into a single report, for specific information?

We use an Objective and Key Result (OKR) system. We have one giant portfolio with all the work, and then nested portfolios with the OKR tree:

  • Main Portfolio
    • Portfolio (Objective)
      • Portfolio (KR)
        • Projects

Every month, KR owners provide a status update along the lines of:

  • Metrics update
  • Summary of progress
  • Risks
  • Lessons
  • Next steps

After all of the updates are in, we roll these up into a Google Doc to make it easier for the leadership team to consume and comment without jumping around portfolios. Currently, this is an extremely manual process of copy-paste. Since Asana doesn’t support templates for Status updates, the formatting can vary from update to update, and even the content can have slight variations even though the prompts are provided.

Because it is a manual process, there is often a risk of the data being copied incorrectly, or being out of date, etc. It would be great if there was an automated way to scrape the data, and only specific parts of it.

For example, maybe this is the update:

  • Metrics update
    • 5% of 40% goal reached
  • Summary of progress
    • We’re making good progress. We need help.
  • Risks
    • Tom, Dick, and Harry are on vacation, so output is reduced.
  • Lessons
    • Customers prefer the new way! Especially if we incentivize them.
  • Next steps
    • We’re doing an A/B test on functionality.

Then, the consolidated copy paste version is…

  • Metrics update
    • 5% of 40% goal reached
  • Risks
    • Tom, Dick, and Harry are on vacation, so output is reduced.

…for each portfolio. As we have 30-50 portfolios at any given time, you can see how it takes a while just to consolidate them!

Is there a way (AI? API?) to automate this? Alternatively, is there a more effective way to set up the Portfolio/Project structure in the first place, to make it easier to consume status updates within Asana itself?