The Scenario
It's a Tuesday morning and your chief of staff just forwarded a thread asking why there's no single place to track what was decided across last month's executive meetings. You know the decisions exist — they're in Granola, one summary per meeting, clean and AI-generated. But they've never made it into the workbook everyone actually uses to run the business.
The bad version:
- Open Granola, click into the first meeting from last month, read the summary, and manually copy the attendee names one by one into column C of the 'Meeting Log' worksheet.
- Repeat for the next 23 meetings, cross-checking dates against the workbook's existing rows to avoid duplicates, re-formatting attendee names that came in as email addresses instead of display names.
- Come back the next day when you realize columns D and E — key decisions and open action items — are still blank for every row, and start the entire pass again just for those fields.
The problem isn't that this took three hours. The problem is that your chief of staff needed it yesterday, the board uses this workbook, and you're the one who owns it.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Excel workbook. It reads what's already in the workbook, connects to Granola through its built-in MCP integration, and writes the meeting data back into your structured columns — in one step.
List all Granola meetings from the past 30 days and write the title, date, attendee names, and AI summary into columns A–D of the 'Meeting Log' worksheet. Then for each meeting row, query Granola for action items and write them as a comma-separated list in column E.
What You Get
- Column A: meeting title exactly as it appears in Granola
- Column B: meeting date in YYYY-MM-DD format
- Column C: attendee display names as a comma-separated string
- Column D: the Granola AI-generated summary paragraph for that meeting
- Column E: open action items from the meeting, comma-separated — or "None" where Granola returned an empty list
- Rows written in date order, newest at the bottom
What If the Data Is Not Quite Ready
Attendees came in as email addresses instead of display names
Re-query Granola for all meetings in the 'Meeting Log' worksheet where column C contains an '@' symbol, resolve each email address to a display name using the Granola attendee record, and overwrite column C with the resolved names.
Some meetings are missing action items because Granola returned an empty field
For every row in 'Meeting Log' where column E is blank or 'None', re-fetch the Granola transcript for that meeting and extract any sentence that contains the words 'will', 'needs to', 'by', or 'action item', then write the results into column E.
You need to split a single 'Key Decisions' and 'Action Items' field that Granola returned merged together
For each row in 'Meeting Log', read column D (Summary) and separate any sentences that begin with 'Decision:' or 'Action:' — write Decision sentences into a new column F and Action sentences into column E, replacing the merged text.
Full cleanup + enrichment + log in one shot
Fetch all Granola meetings from the past 30 days. Write title, date, and attendee display names (not emails) into columns A, B, C of 'Meeting Log'. Parse the AI summary and separate key decisions into column D and open action items into column E. Flag any meeting where action items mention a person's name with 'Owner: [Name]' prepended to the action item text in column E. Write everything in ascending date order.
The pattern: describe the cleanup rule and the destination in one instruction — SheetXAI handles the conditional parsing and the write-back together.
Try It
Get the 7-day free trial of SheetXAI and open any Excel workbook where you track leadership or team meetings, then ask it to pull your last month of Granola summaries with attendees and action items into structured columns. For the transcript-extraction version of this workflow, see the keyword search spoke, or go back to the Granola MCP overview.
