Import meetings automatically

6 min readUpdated Nov 5, 2026

Connect Google Meet once, and every call that Google transcribes or takes notes for becomes a page in your workspace's Meetings folder by itself, about 15 minutes after it ends.

It works with a small Google Apps Script that runs in your own Google account. Markdrop writes the script for you; you paste it into Google once. You can still import meetings manually at the same time.

Before you start

#
  • You're a member of the workspace (not a viewer).
  • Google Meet saves a transcript (Transcripts on in the call) or Gemini's notes (Take notes for me) to your Drive. They're saved to the Drive of the person who turned them on, usually the organizer.
  • You're signed in to Google with that account.

Connect Google Meet

#
  1. Open the workspace's Meetings page (select Ask meetings in the Meetings folder) and select Connect Google Meet. It sits next to Import meeting.

  2. Under Also import past meetings from your Drive, choose how far back to go: No, only new meetings, or the Last 7, 30 (the default) or 90 days. See Past meetings.

  3. Optionally switch on Only the people in each meeting can open its page. See Restricted meetings.

  4. Select Make my script. Markdrop shows a manifest and a script, each with a Copy button, and the four steps below. The script holds a token that only works for importing meetings into this workspace. It's shown this once.

Then, in Google:

  1. Open Apps Script. Go to script.google.com and create a New project.
  2. Paste the manifest. In Project Settings (the gear), tick Show "appsscript.json" manifest file in editor. Back in the Editor, open appsscript.json and replace everything in it with the manifest you copied.
  3. Paste the script. Open Code.gs, replace everything in it with the script you copied, and press Save.
  4. Run setup once and allow. Pick setup next to Run and press Run. Google asks you to allow the script. Because it's your own script, Google shows Google hasn't verified this app: select Advanced, then Go to … (unsafe), then Allow.

setup imports the meetings of the last 48 hours straight away, starts on the past meetings you chose, and schedules itself every 15 minutes. Back in Markdrop, the Meetings page shows Google Meet connected, when it last imported and how many meetings it brought in.

What the script can see and do

#
  • It reads only meeting Docs. It looks at Google Docs in your Drive whose title looks like a Meet transcript ("Meeting name (date) - Transcript") or Gemini's notes ("Notes by Gemini", "… - Notes"), created in the last 48 hours. Other files are never opened.
  • Only Docs you own. Docs a teammate shared with you are left out, so each person connects for the calls they record. Set INCLUDE_SHARED to true at the top of the script to include shared ones.
  • Read-only. Google grants it read-only Drive access (drive.readonly), permission to call Markdrop (script.external_request) and to schedule itself (script.scriptapp). It never edits, moves or deletes anything in your Drive.
  • Its own token. The token in the script can only send meetings to this workspace's inbox. It can't read your documents, act as you anywhere else, or be used with the API or MCP. It isn't listed with your API tokens, and the meetings it imports are yours, as if you had imported them.
  • It waits for Google to finish. A Doc that changed in the last 10 minutes is sent on the next run, so notes Gemini is still writing aren't imported half done.

Past meetings

#

When you connect, the script can also bring in the meetings already in your Drive: the last 7, 30 or 90 days.

  • Oldest first, 20 Docs a run, so a long history takes a few runs (15 minutes apart). The script's log in Apps Script says Backfill finished when it's done.
  • Nobody is notified. A past meeting's action items still name their owners, and the @mentions are links, but no one gets a notification or an email about a call that's long over. Meetings from the last 48 hours notify as usual.
  • Dated by the call, not by the import: the date in Google's title, or when Google made the Doc. The Meetings page lists them by date.
  • No duplicates. Meetings already in the workspace, imported by hand or by an earlier run, are skipped.

To go further back later, open the script, pick backfill next to Run and press Run. It goes back BACKFILL_DAYS days (set at the top of the script; 30 when it's 0). To choose another number, change BACKFILL_DAYS first.

Notes and transcript become one meeting

#

Google often saves the notes and the transcript of a call as two Docs, a few minutes apart. Whichever arrives first makes the meeting; the other is added to it when it arrives, by the meeting's name, date and start time. The page and its summary are updated with it.

There are no duplicates with manual import either: a Doc you already imported by hand, or a call that's already in the workspace, isn't imported again. See No duplicates.

Disconnect

#

On the Meetings page, select Disconnect next to Google Meet connected. The script's token stops working at once; on its next run the script sees that and removes its own schedule. Meetings it already imported stay. You can also delete the project at script.google.com.

Each person has one connection. New script (or connecting in another workspace) replaces it, and the old script stops working.

If you leave the workspace, or become a viewer in it, the script stops importing: Markdrop turns its Docs away until you connect again.

Troubleshooting

#
Google says "Google hasn't verified this app"

That's expected for a script you wrote yourself: only apps published to other people are verified. Select Advanced, then Go to … (unsafe). The permissions it asks for are the three listed above.

Nothing shows up
  • Check that the Docs are in the Drive of the Google account you ran setup with, and that you own them.
  • Check the title: Google's own names ("… - Transcript", "Notes by Gemini") are what the script looks for. A renamed Doc is skipped; import it manually instead.
  • In Apps Script, open Executions to see each run's log: what it sent and what Markdrop answered.
  • A Doc without a transcript or notes in it (an empty one, or a shopping list called "… - Notes") is skipped and counted as ignored.
Import older meetings

Set var BACKFILL_DAYS at the top of the script to how many days to go back, for example 180 (up to 366), pick backfill and press Run. It continues on its own, 20 Docs every 15 minutes, until Backfill finished shows in the log. Meetings already in the workspace aren't imported twice, and nobody is notified about past ones. See Past meetings.

Google's quotas

Google limits how long scripts run each day (about 90 minutes for a personal account, 6 hours for Google Workspace) and how many calls they make. A run takes a few seconds, so a busy calendar stays far below them. Markdrop takes up to 30 Docs a minute and 600 a day from one script; more wait for the next run.

It stopped after I disconnected or connected again

Each script works until its token is replaced or revoked. Make a new script with Connect Google Meet, paste it over the old Code.gs, and run setup again.

#
Did this page help?