Skip to main content

How to save Google Meet transcripts into folk?

Updated today

How to save Google Meet transcripts on folk?

A/ Enable Google Meet Transcripts

  • Make sure your Google Workspace plan is Standard (transcripts aren’t included in the Starter plan).

  • Start a meeting in Google Meet.

  • Select “Record and take notes” → Google Meet will automatically generate a transcript saved in Google Drive as a Google Doc.


B/ Capture the Transcript with Zapier or Make

Step 1 – Trigger on New Transcript in Google Docs

  • App: Google Docs

  • Trigger: New Document in Folder

  • Setup: Select the dedicated folder where transcripts are stored.

  • Every new transcript dropped into this folder will start the Zap.


Step 2 – Summarize Transcript into Markdown

  • App: AI by Zapier (or OpenAI)

  • Action: Generate Text with Prompt

  • Goal: Summarize the transcript into a clean markdown note.

  • Prompt to use:

Summarize the provided transcript into a maximum of 40 lines. Your output must be in clean, semantic Markdown. Apply the following rules strictly: #CONSTRAINTS Output must be a single line string. Use the literal characters \n to represent line breaks (do not insert actual newlines). Do not include any double quotes ". Replace them with single quotes ' if present. Use appropriate Markdown formatting for headings (#, ##, etc.) and lists (-, 1.) to improve readability. Normalize spacing: collapse multiple spaces into one and remove leading/trailing spaces on each line. Output only the converted Markdown, with no commentary, explanations, or code fences. Do not exceed 40 lines total (counted as the number of \n separators + 1). #CHECKS (apply before finalizing output) ✅ Ensure the output is a single string (no actual newlines). ✅ Verify every line uses only ' for quotes, never ". ✅ Count the number of \n — it must not exceed 39 (so max 40 lines). ✅ Ensure no extra whitespace at the start or end of lines. ✅ Confirm there is no additional commentary, explanation, or formatting outside the Markdown. ##OUTPUT EXAMPLES # Note \n27 ago 2025 \n## Update Meeting \nInvitati: Partecipante A, Partecipante B, Partecipante C \n### Riepilogo \n- Partecipante B ha annunciato la costituzione di un nuovo fondo e discusso l'acquisizione di una quota minoritaria con un investitore esterno. \n- Partecipante C ha stimato l'investimento tra 300 e 400 milioni di euro. \n- Si è parlato di nuove opportunità di investimento in diverse aziende tecnologiche. \n### Dettagli \n- **Fondo di Investimento e Costituzione**: Creazione di un nuovo fondo, con accordi con partner finanziari. \n- **Acquisizione di Quota di Minoranza**: Interesse a cedere parte della partecipazione da parte dell'azionista di riferimento. \n- **Valutazione e Strategia di Investimento**: Investimento stimato tra 300 e 400 milioni per una partecipazione di minoranza. \n- **Nuove Opportunità di Investimento**: Aziende tecnologiche come fornitori strategici e potenziali target. \n### Passaggi successivi consigliati \nNessun passaggio successivo suggerito trovato per questa riunione. Input placeholder:

Step 3 – Convert Markdown to a Single Line

  • App: Code by Zapier

  • Action: Run Javascript

  • Setup:

    • Input: map the AI summary from Step 2.

    • Code:

  • Input: markdown_text: output from the previous step

// Input: markdown_text (string) function sanitizeAndSingleLine(text) { const safeText = String(text || ""); // 1) Normalize any existing literal \n into actual newlines const normalized = safeText.replace(/\\n/g, "\n"); // 2) Replace all double quotes with single quotes const noDoubleQuotes = normalized.replace(/"/g, "'"); // 3) Split on newlines, trim spaces, collapse multiple spaces, drop empties let lines = noDoubleQuotes .split(/\r?\n/) .map(l => l.trim().replace(/[ \t]+/g, " ")) .filter(l => l.length > 0); // 4) Join back into a single line string with literal \n const singleLine = lines.join("\\n"); return { single_line: singleLine.trim() }; } return sanitizeAndSingleLine(inputData.markdown_text);
  • Output: The summary, formatted as a single line (ready for Folk API).


Step 4 – Extract Email Addresses from Transcript

  • App: AI by Zapier (or OpenAI)

  • Action: Generate Text with Prompt

  • Goal: Extract all participant email addresses from the raw transcript text (HTML).

  • Prompt:

Extract and list email address from: and separate them by comas

Step 5 – Loop Through Each Attendee

  • App: Looping by Zapier

  • Action: Create Loop from Text

  • Setup:

    • Text: map the list of extracted emails from Step 4.

    • Delimiter: , (comma).

  • Optional: Exclude your own domain (so you don’t update yourself).


Step 6 – Find Contact in Folk

  • App: Webhooks by Zapier

  • Action: GET

  • URL:

https://api.folk.app/v1/people?filter[emails][eq]=
  • Headers:

    • Authorization: Bearer

  • Output: Person ID from Folk.


Step 7 – Add Note to Contact in Folk

  • App: Webhooks by Zapier

  • Action: Custom Request

  • Setup:

    • Method: POST

    • URL:

https://api.folk.app/v1/notes
  • Headers:

    • Authorization: Bearer

    • Content-Type: application/json

  • Body (example):

{"entity":{"id":""},"visibility":"public","content":""}

✅ End Result

Whenever a new transcript is added in your Google Docs folder:

  1. It’s summarized into a clean markdown note.

  2. Note is formatted into a single line.

  3. Attendees are extracted.

  4. Each attendee’s contact in Folk is updated with the meeting note.


🎯 Benefits

  • Respectful experience: no chatbot joining your calls.

  • Automatic & structured: every transcript is logged into Folk.

  • Cost-efficient: included in Google Workspace Standard, cheaper than chatbot notetakers.

Did this answer your question?