Archive every Google Meet to a Notion meeting library

Every night, log yesterday's Google Meet calls into a searchable Notion database with attendees, recordings, and transcripts attached.

Deterministic Code
Google MeetNotionOperationsPersonal ProductivityMeeting WorkflowsData Sync
PromptCreate

Build me a deterministic compliance-archive workflow that keeps a Notion Meeting Library database in sync with my Google Meet history. No AI summarization, no branching logic, just a per-meeting upsert.

Trigger: cron, once a day at 23:00 in my local timezone.

Setup inputs the user provides once: (1) the Notion database ID of their Meeting Library, (2) confirmation that the database has been shared with the General Input Notion connection.

Main flow each run:

1. Call Google Meet List Conference Records, filtered to conferences whose startTime is within the last 24 hours. Page through all results.

2. For each conference record, fan out three calls in parallel: Google Meet List Participants, Google Meet List Recordings, and Google Meet List Transcripts. Page through each.

3. Before writing, call Notion Query a Data Source against the Meeting Library database with a filter on the Conference Record ID property equal to the current record's name (e.g. conferenceRecords/abc123). If any page is returned, skip this meeting; it's already logged.

4. Otherwise call Notion Create a Page in the Meeting Library database with these structured properties:

- Title: a human label like "Meeting on YYYY-MM-DD at HH:MM" (fallback when the space has no title).

- Conference Record ID (rich_text, unique key): the full resource name returned by Google Meet.

- Meeting Date (date): the date portion of startTime.

- Start Time and End Time (date with time): startTime and endTime from the conference record.

- Duration (number, minutes): endTime minus startTime, rounded.

- Attendee Names (multi_select or rich_text): displayName for each participant; fall back to signed-in user email prefix or anonymousUser label when displayName is absent.

- Attendee Emails (rich_text, comma-separated): signedInUser.email for each participant; omit anonymous and phone participants.

- Recording URL (url): driveDestination.exportUri of the first recording, or empty when none exists. If multiple recordings exist, write the first URL into Recording URL and list the rest in a Recording URLs (rich_text) field.

- Transcript URL (url): docsDestination.exportUri of the first transcript, or empty when none exists.

Tell the user the expected Notion schema in setup instructions so they can create the columns: Name (title), Conference Record ID (rich_text), Meeting Date (date), Start Time (date), End Time (date), Duration (number), Attendee Names (rich_text), Attendee Emails (rich_text), Recording URL (url), Transcript URL (url). The Conference Record ID column is the dedupe key.

Reliability rules: handle Google Meet pagination via pageToken until exhausted; handle Notion pagination via has_more and next_cursor; respect Notion 429 Retry-After. The 24-hour window plus the idempotency check is intentional: it covers recordings that Google publishes late, since the next run will re-evaluate the same conference and find the row already exists or fill in newly available recording or transcript URLs if missing.

Out of scope: AI summaries, attendee CRM matching, calendar event matching, follow-up generation. Keep it a pure deterministic per-meeting upsert.

What does this prompt do?

  • Runs once a day at 11pm and finds every Google Meet call that happened in the last 24 hours.
  • Adds a new row to your Notion meeting library for each call, with date, duration, attendee names and emails, and links to the recording and transcript.
  • Skips meetings that are already in the database, so re-runs and late-arriving recordings never create duplicates.
  • Gives you a single searchable home for who you met, when, and what was said, without digging through Drive.

What do I need to use this?

  • A Google account that hosts or joins your Meet calls.
  • A Notion workspace with an empty database to use as your meeting library.
  • Recording and transcription turned on in Google Meet for the calls you want logged.

How can I customize it?

  • Move the run time to a different hour, or run it more than once a day so recordings show up sooner.
  • Add or rename columns in your Notion database, such as meeting type, client, or follow-up status, and the workflow will fill the matching ones.
  • Filter the meetings that get logged, for example only calls longer than 10 minutes or only ones with external attendees.

FAQs

What if Google takes a while to finish a recording?
Google usually publishes recordings 5 to 15 minutes after a call ends, but it can be longer. Because the workflow runs at 11pm and skips meetings that are already logged, late recordings get picked up the next time the row is updated or on the following run.
Will it create duplicates if it runs twice?
No. Each Google Meet call has a unique ID, and the workflow uses it as the key in Notion. If a row with that ID already exists, the workflow skips that meeting.
Do I have to set up the Notion database myself?
Yes, once. Create an empty database in Notion called Meeting Library and share it with the General Input connection. When you start the workflow you paste in its ID, and the prompt tells the builder exactly which columns to use.
Does this need Google Workspace, or will a personal Gmail account work?
Meet recordings and transcripts are a Google Workspace feature, so the calls you want logged need to be hosted on a Workspace account. The workflow itself can connect with either kind of Google account.
Can it log meetings I was only a guest in?
It logs every meeting the connected Google account took part in and had access to read records for. If you only have guest access, the host's recording and transcript may not be visible to you.

Related templates

Artwork desk for the Notion posts still missing an image

Open one screen each Monday to see which upcoming posts still have no image, generate three on-brand options, and file the one you pick.

Ideogram
Notion
Google Drive
App
Share of voice dashboard for your brand and competitors

See how your brand's news coverage and sentiment stack up against four competitors, then let an assistant write the weekly report for you.

GDELT
Notion
Slack Bot
App
Influencer campaign roster board with AI creator briefs

Drag creators through Sourced to Wrapped on a board grouped by campaign, with audience stats on every card and a one-click brief for each creator.

HypeAuditor
Google Sheets
Notion
App
Smart home entity health cockpit for Home Assistant

Open one screen to find every unavailable, stale, or low-battery device in your smart home, see which hub is really at fault, and clear out the dead entries in bulk.

Home Assistant
Notion
App
Open model approval desk for your production AI stack

See every open model your teams run in production, who approved it, and whether a quiet license change means it needs another look.

Hugging Face
Notion
Slack Bot
App
Bid board that watches every procurement portal for you

Stop checking a dozen agency sites by hand. Open one board of live solicitations, each scored against what your team can actually bid on.

Hyperbrowser
Notion
Slack Bot
App

Stop hunting through Drive for last week's meeting.

Connect Google Meet and Notion once, and Geni quietly files every call into a searchable library each night.