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 <your OpenRouter API key>, 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.