Log every Read AI meeting to a Google Sheets health log
When a Read AI meeting ends, append a row to a Google Sheet with engagement, sentiment, talk time, action items, and topics.
Build me a deterministic code workflow that logs structured meeting analytics from Read AI into a Google Sheet, one row per meeting, so my team can analyze meeting health over time.
Trigger: a Read AI webhook on the meeting_end event. The workflow should fire once per meeting, as soon as the meeting is marked ended. The webhook payload contains the meeting id.
Step 1: Call Read AI Get Meeting with the meeting id from the webhook, passing expand=summary,metrics,action_items,topics,key_questions so the response includes engagement score, talk-time per speaker, sentiment, duration, action items, key questions, and top topics. Do not expand transcript (too heavy).
Step 2: Derive the row values from the meeting object. Compute: meeting date (YYYY-MM-DD from start_time_ms), meeting title, total participant count, internal participant count (participants whose email domain matches the connected user's email domain), external participant count (everyone else), duration in minutes (rounded), overall engagement score, overall sentiment label, action item count (length of action_items array), key question count (length of key_questions array), and a comma-joined string of the top 5 topic names.
Step 3: Call Google Sheets Append Values once, appending a single row to the configured spreadsheet and tab. Use valueInputOption USER_ENTERED so the date column is parsed as a real date. The column order in the row must be: Meeting Date, Title, Participants, Internal, External, Duration (min), Engagement Score, Sentiment, Action Items, Key Questions, Topics.
No LLM reasoning is needed. Every column maps to a fixed field on the Read AI meeting response, so this should be a pure deterministic code workflow with two API calls: Read AI Get Meeting, then Google Sheets Append Values.
Inputs the user configures once: Google Sheets spreadsheet id, tab name (default 'Meetings'), and the email domain that counts as internal (default: auto-detected from the connected Read AI account email).
Error handling: if Read AI returns 404 (meeting not visible) or the meeting is still active, exit cleanly without writing a row. On 429 from either service, back off and retry.
Additional information
What does this prompt do?
- Watches your Read AI account for finished meetings and runs the moment a meeting wraps.
- Pulls the engagement score, sentiment, duration, talk time, action item count, and top topics for that meeting.
- Appends one tidy row per meeting to a Google Sheet so you can chart trends over weeks and months.
- Gives managers a running ledger to spot which calls are engaged and which could have been an email.
What do I need to use this?
- A Read AI account with the notetaker running on your calls.
- A Google account with access to the spreadsheet you want to log into.
- A Google Sheet with a header row matching the columns below (the workflow appends after the last filled row).
How can I customize it?
- Change which columns get logged. Add fields like recording link, host name, or your own internal vs external label.
- Point at a different sheet or tab. Use one sheet per team, one per customer segment, or split internal vs external meetings.
- Filter which meetings count. Skip short internals under 10 minutes, only log meetings with external guests, or only log meetings tagged with a specific keyword.
Frequently asked questions
Does this run automatically after every meeting?
Which meeting metrics get logged?
Can I use my existing meeting log sheet?
Will this log meetings that are still in progress?
What if I do not want every meeting logged?
Turn every meeting into a row of data.
Connect Read AI and Google Sheets once, and Geni keeps a running ledger of meeting health for your whole team.