Back to Alchemy
Alchemy RecipeBeginnerautomation

Meeting recordings to searchable documentation with transcripts and action items

Your team finishes a two-hour strategy meeting. Someone promises to send notes. Three weeks later, those notes still haven't arrived, and nobody remembers what was actually decided. Two action items have fallen through the cracks. The decision about Q2 budget reallocation is now disputed because people remember it differently. This happens in thousands of organisations every week. Meetings generate value, but that value evaporates the moment people walk out of the room. Without a reliable system to capture, summarise, and track outcomes, meetings become noise rather than signal. You end up with duplicate conversations, missed deadlines, and the constant frustration of "I thought we agreed on this." The solution isn't to ban meetings or hire someone to take notes. It's to automate the entire process: record the meeting, transcribe it in real time, extract action items with owners and deadlines, and feed everything into your team's workflow system so nothing slips through. This post shows you how to build that system with three tools and zero manual handoffs.

The Automated Workflow

You'll wire together Freed AI (which transcribes and summarises recordings), Smmry (for additional summarisation and clarity), and NextStep (for converting action items into tracked tasks with due dates). The orchestration layer sits in n8n, which will coordinate the entire flow without requiring you to write complex code. Here's how the data moves: a meeting recording is captured, sent to Freed AI for transcription and initial summarisation, passed to Smmry for further condensing, then parsed by Claude Opus 4.6 (via n8n's OpenAI integration) to extract structured action items, and finally posted into NextStep as tracked workflows with assigned owners.

Setting up the recording trigger

The workflow begins when a meeting recording lands in your system. Most video conferencing tools (Zoom, Google Meet, Microsoft Teams) can automatically upload recordings to cloud storage or send webhooks. We'll assume you're using Zoom with cloud recording enabled. Create a Zapier or n8n trigger that watches for new files in your cloud storage folder. For n8n, you can poll a Google Drive folder every 15 minutes, or set up a webhook if your storage system supports push notifications.

GET /drive/v3/files?q=trashed=false and modifiedTime>'2026-03-15T00:00:00Z'&spaces=drive&pageSize=10

Alternatively, configure Zoom to send a webhook event when a recording finishes processing:

json
{ "event": "recording.completed", "payload": { "object": { "uuid": "meeting-uuid", "id": "meeting-id", "recording_files": [ { "id": "file-id", "download_url": "https://..." } ] } }
}

Sending to Freed AI

Once you have the recording file URL, send it to Freed AI's API. Freed AI is designed for healthcare documentation but works equally well for meeting transcription and summarisation.

POST /api/v1/transcribe
Content-Type: application/json { "file_url": "https://zoom.us/recording/...", "language": "en-GB", "include_timestamps": true, "return_summary": true
}

Freed AI returns a transcript with speaker identification, timestamps, and a summary. Store the transcript and summary in your n8n workflow state for the next step. You'll want to save the raw transcript to a database or document storage (Google Docs, Notion, or a shared folder) for reference.

Refining with Smmry

The Freed AI summary is useful, but Smmry can condense it further and highlight key insights. Some teams prefer a more aggressive summary for quick scanning.

POST /api/summarise
Content-Type: application/x-www-form-urlencoded sm_api_key=YOUR_API_KEY&sm_url=https://your-freed-ai-summary-url&sm_length=5

Smmry accepts either a URL or raw text. Pass the Freed AI summary as plain text:

POST /api/summarise
Content-Type: application/x-www-form-urlencoded sm_api_key=YOUR_API_KEY&sm_text=[Freed AI summary text]&sm_length=5

The sm_length parameter controls how aggressive the compression is (1 being most aggressive). Store the condensed summary as well.

Extracting action items with Claude

Now you need structure. You have a transcript and two summaries, but you need to extract: who is responsible, what exactly must be done, and when. This is where Claude Opus 4.6 comes in. It's better at structured reasoning than smaller models and handles edge cases (ambiguous language, implied owners, tentative decisions) more reliably. In n8n, add an OpenAI node pointing to Claude via the API gateway, or use Anthropic's native integration if available. Craft a clear system prompt:

You are an expert at extracting action items from meeting transcripts.
Your task is to identify all action items, decisions, and follow-ups. For each action item, provide:
- Description: what needs to be done (concrete and specific)
- Owner: who is responsible (use real names if mentioned, or "Unassigned" if unclear)
- Due date: when it must be done (infer from context: "by end of week" → Friday, "next sprint" → sprint end date, or "unclear" if not specified)
- Priority: High, Medium, or Low (based on language emphasis and dependency on other items) Format your response as JSON only:
[ { "description": "string", "owner": "string", "due_date": "YYYY-MM-DD", "priority": "High|Medium|Low" }
]

Pass the full transcript (or a condensed version if tokens are tight) to Claude:

POST /v1/messages
Host: api.anthropic.com
Content-Type: application/json { "model": "claude-opus-4.6", "max_tokens": 1024, "messages": [ { "role": "user", "content": "Here is a meeting transcript:\n\n[TRANSCRIPT]\n\nExtract all action items in JSON format." } ], "system": "You are an expert at extracting action items..."
}

Claude will return structured JSON. Parse this in n8n and store it as a variable.

Creating tasks in NextStep

NextStep is designed for exactly this: turning items into tracked workflows with due dates, owners, and real-time progress visibility.

POST /api/workflows
Content-Type: application/json
Authorization: Bearer YOUR_NEXTESTEP_TOKEN { "title": "Action items from Q1 planning meeting", "description": "Generated from meeting on 2026-03-15", "steps": [ { "title": "Finalise budget allocation", "assigned_to": "Sarah Chen", "due_date": "2026-03-22", "priority": "High", "description": "Complete Q2 budget breakdown and send to Finance by EOW" }, { "title": "Schedule user research interviews", "assigned_to": "Marcus Thompson", "due_date": "2026-04-05", "priority": "Medium", "description": "Book 5 customer interviews with product team" } ], "tags": ["meeting", "Q1-planning"]
}

In n8n, use a loop to iterate over the Claude-extracted action items and create one NextStep workflow per meeting, with each item as a step.

Storing the transcript and summary

Create a simple Google Docs or Notion entry for searchability. You can automate this too:

POST /v1/documents
Content-Type: application/json { "title": "Meeting notes: Q1 planning (2026-03-15)", "body": "**Attendees:** [list]\n\n

## Summary\n[Smmry condensed summary]\n\n

## Full Transcript\n[Freed AI transcript with timestamps]\n\n

## Action Items\n[Link to NextStep workflow]"
}

Alternatively, use n8n's Google Sheets node to append a row with the date, meeting title, summary, and link to NextStep. The entire workflow should execute in under 5 minutes from recording completion to tasks appearing in NextStep. No one has to touch anything manually.

The Manual Alternative

If you want more control or prefer to review summaries before action items are created, stop the automation after Freed AI returns the transcript and summary. Someone on the team reviews the content, corrects the transcript if needed, manually identifies action items in NextStep, and assigns owners. This takes 10-15 minutes per meeting but ensures nothing is misinterpreted. Alternatively, run the full automation but have Claude flag any ambiguous action items (where owner or due date is unclear) for human review before NextStep tasks are created. This adds a review gate without blocking clear, unambiguous items.

Pro Tips

Handle speaker identification carefully.

Freed AI uses speaker diarization to identify who spoke.

If your meeting has many participants with similar voices, or if people interrupt frequently, accuracy drops. Review the transcript and correct obvious speaker misattributions before extracting action items, otherwise Claude may assign tasks to the wrong person.

Set a standard meeting time for action item review.

Even with automation, have a 5-minute check-in the next morning where a team lead (or rotating person) skim the generated action items in NextStep. This catches misidentified owners and unrealistic due dates. Over time, Claude will get better at inferring your team's conventions.

Watch out for rate limits on Freed AI and Smmry.

If you process more than 10-15 meetings per day, you'll hit tier limits. Check pricing for high-volume plans, or batch processing at specific times (e.g. after business hours). n8n allows you to queue jobs and retry on rate limit errors.

Use Claude Opus 4.6 for extraction, not smaller models.

Smaller models (GPT-4o mini, Claude Haiku 4.5) occasionally miss implied action items or misassign owners. The extra cost (roughly £0.02 per transcript) is worth the accuracy, especially for decision-critical meetings. For internal, low-stakes standups, GPT-4o mini is fine.

Add a fallback for when Freed AI fails.

Meetings sometimes don't record, uploads fail, or API calls time out. Add error handling in n8n: if Freed AI times out after 3 retries, send a Slack message to the meeting organiser asking them to manually upload the recording to a folder. Someone can then process it manually or retry the automation.

Cost Breakdown

ToolPlan NeededMonthly CostNotes
Freed AIProfessional (healthcare compliance)£49–£99Includes transcription, summarisation, HIPAA compliance; adjust down if you only need transcription
SmmryFree or Premium£0–£20Free tier allows 100 requests/month; upgrade only if processing >10 meetings/day
NextStepProfessional or Team£29–£99Depends on number of team members and workflows; includes real-time tracking and reporting
n8nFree or Pro£0–£30Free tier sufficient for <100 executions/month; Pro for higher volume or additional integrations
OpenAI (Claude via API)Pay-as-you-go£0.50–£3/monthRoughly £0.02 per transcript extraction; scale with meeting volume
Google Workspace (storage)Business Standard£10–£18 per userIf you don't already use it; alternative to Drive is Dropbox (£10/month for individuals)
Zoom (recording storage)Pro or higher£10–£20/monthCloud recording storage is included; no extra cost if you already subscribe