{"product_id":"summarize-meeting-transcripts-to-google-docs-claude-openrouter-n8n","title":"Summarize Meeting Transcripts to Google Docs (Claude\/OpenRouter) — n8n","description":"\u003ch3\u003eTurn meeting transcripts into structured notes in Google Docs—automatically\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow takes a plain-text meeting transcript uploaded via an n8n form, sends it to \u003cstrong\u003eClaude via OpenRouter\u003c\/strong\u003e to generate a structured summary and action items, then \u003cstrong\u003eprepends the results to your existing Google Doc\u003c\/strong\u003e in Google Drive.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCollects inputs\u003c\/strong\u003e: Receives a form submission containing a single \u003ccode\u003e.txt\u003c\/code\u003e transcript upload, plus optional meeting date and meeting title.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eValidates and cleans the transcript\u003c\/strong\u003e: Checks file type\/size, cleans the transcript text, and derives meeting date\/title. It also determines whether speaker labels match configured attendee names.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGenerates structured output with Claude (OpenRouter)\u003c\/strong\u003e: Sends the transcript and meeting context to Claude through the OpenRouter chat completions API, requesting strict \u003cstrong\u003eJSON\u003c\/strong\u003e including agenda\/topic bullets and action items.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eQuality checks before saving\u003c\/strong\u003e: Validates Claude’s JSON output (word limits, agenda\/topic consistency, action-item length, allowed owners, and valid due dates). If checks fail, the workflow stops.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eUpdates your Google Doc\u003c\/strong\u003e: Exports the existing Google Doc from \u003cstrong\u003eGoogle Drive\u003c\/strong\u003e as HTML, inserts the newly formatted meeting notes at the top (with older meetings below a divider), and uploads the updated HTML back to the same document.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eConfirms completion\u003c\/strong\u003e: Shows a completion page with a link to the updated Google Doc and a count of action items (including unassigned owners).\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eCapture weekly standups: upload transcripts and maintain an always-current meeting notes Google Doc.\u003c\/li\u003e\n  \u003cli\u003ePost formal meetings: generate agendas, topic bullets, and actionable follow-ups from raw text.\u003c\/li\u003e\n  \u003cli\u003eCentralize team action items: ensure due dates and owners are validated before updating documentation.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003en8n nodes\/logic\u003c\/strong\u003e: \u003ccode\u003eform\u003c\/code\u003e, form trigger, \u003ccode\u003eset\u003c\/code\u003e, \u003ccode\u003ecode\u003c\/code\u003e, and sticky note-style messaging.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eLLM integration\u003c\/strong\u003e: \u003cstrong\u003eClaude via OpenRouter\u003c\/strong\u003e using chat completions with strict JSON response handling.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGoogle Drive\u003c\/strong\u003e: Exports Google Doc as HTML, prepends new notes, then uploads the updated HTML using a Google Drive OAuth2 credential.\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":46192855679155,"sku":"N8N-20535","price":65.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/tqmDrDyBQePQxW5gYRX4Z_abqWxiuy.png?v=1791537444","url":"https:\/\/buyflowscripts.com\/products\/summarize-meeting-transcripts-to-google-docs-claude-openrouter-n8n","provider":"N8N Commerce","version":"1.0","type":"link"}