Summarize meeting transcripts into Google Docs with Claude via OpenRouter
Go to WorkflowDescription
Quick Overview
This workflow collects a plain-text meeting transcript via an n8n form, sends it to Claude through OpenRouter to generate a structured summary and action items, then prepends the formatted notes to the top of an existing Google Doc stored in Google Drive.
How it works
Receives a form submission with a single .txt transcript upload plus optional meeting date and meeting title.
Validates the file type and size, cleans the transcript text, derives the meeting date and title, and determines whether speaker labels match the configured attendee names.
Sends the transcript and meeting context to Claude via the OpenRouter chat completions API and requests a strict JSON response containing agenda, topic bullets, and action items.
Validates Claude’s JSON output against word limits, agenda/topic consistency, action-item length, allowed owners, and valid due dates, and stops if any checks fail.
Exports the existing Google Doc from Google Drive as HTML, inserts the new meeting notes at the top (keeping older meetings below a divider), and uploads the updated HTML back to the same file.
Shows a completion page to the uploader with a link to the updated Google Doc and a count of action items (including unassigned owners).
Setup
Create a Google Doc to store meeting notes, copy its document ID, and paste it into the notesDocId field in the configuration step.
Add a Google Drive OAuth2 credential and select it in the Google Drive export and upload steps.
Add an OpenRouter HTTP Header Auth credential with header name Authorization and value Bearer , and select it in the OpenRouter request step.
Update the configuration values for organisation name, attendee names, meeting days, timezone, glossary terms, model slug, and transcript/summary limits to match your team.
Use the form’s Test URL while building, then activate the workflow and use the Production URL for day-to-day transcript uploads.