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:
It’s summarized into a clean markdown note.
Note is formatted into a single line.
Attendees are extracted.
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.