The Scenario
It's the final week of Q4. A strategy analyst needs to pull all active Asana goals — names, owners, current progress percentages, statuses, and linked supporting projects — into a Google Sheet for the quarterly OKR dashboard. The exec team reviews it Friday morning.
Last quarter, someone built the dashboard by clicking through each goal in Asana, reading the numbers, and typing them into the sheet. It took three hours. The analyst inherited this task six weeks ago and has been quietly dreading it ever since.
The bad version:
- Navigate to the Goals section in Asana, find the first goal, open it, note the owner, read the progress bar percentage (which isn't always shown as a number), record the status, scroll down to see the supporting projects.
- Switch to the sheet, type all of that in, go back to Asana, find the next goal.
- Discover on goal 8 that the "progress" field represents different things depending on whether the goal is metric-based or percentage-based — so some of your earlier entries are wrong.
OKR reviews exist to give leadership a clear picture. A dashboard built from manual data entry introduces exactly the kind of noise it's supposed to eliminate.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent inside your Google Sheet. It reads the workspace and time period from your prompt, queries all Asana goals for that period, and writes the structured data directly into your sheet.
Fetch all goals for Asana workspace [ID] in time period [ID], and for each goal write its name, owner, current progress, status, and list of supporting project names into this sheet.
What You Get
- One row per active goal in the specified time period
- Columns: goal name, owner email, current progress (numeric), status, and supporting project names as a comma-separated list
- Goals with no supporting projects show an empty cell rather than an error
What If the Data Is Not Quite Ready
You need goal relationships (which goals support which parent goals) in addition to project links
Pull all Asana goals from workspace [ID] and their goal relationships into this sheet — columns: goal name, goal owner email, supporting item name, supporting item type (goal or project), relationship type.
You want to filter to only goals owned by specific team members listed in your sheet
Fetch all goals for Asana workspace [ID] in time period [ID]. Only include goals where the owner's email matches one of the emails listed in column A of the 'TeamFilter' sheet. Write goal name, owner, progress, and status into the 'Goals' sheet.
Progress is measured differently across goals and you want a normalized view
Pull all goals for Asana workspace [ID] in time period [ID]. For each goal, write the name, owner, raw progress value, progress unit (percent or numeric), status, and a normalized 0-100% progress value (divide raw by target if numeric, use as-is if percentage). Write into this sheet.
Pull goals, flag any below 50% progress with status "On Track", and write a leadership summary in one prompt
Fetch all goals for Asana workspace [ID] in time period [ID]. Write goal name, owner, progress, and status into the 'Goals' sheet. For any goal where progress is below 50% and status is "On Track", write "At Risk" in a new column F. Then write a two-sentence executive summary of the goal portfolio health to cell A1 of the 'Summary' sheet.
One prompt that populates the data, applies the risk flag logic, and drafts the summary your leadership is expecting.
Try It
Get the 7-day free trial of SheetXAI and open your OKR dashboard sheet — ask SheetXAI to pull all goal data from Asana before your quarterly review. You can also explore how to export project status updates for the same deck, or see the full Asana workflow list in the hub overview.
