Most teams record meetings religiously but then let those recordings gather dust in a shared drive. Months later, someone asks, "Did we decide to use Stripe or PayPal?" and nobody can remember. You rewatch a one-hour call to find a two-minute answer. The worst part: action items vanish into Slack messages that nobody reads again. This is where automation makes a real difference. Instead of letting recordings become a liability, you can wire together a workflow that automatically transcribes meetings, extracts summaries, identifies action items, and makes everything searchable within hours of the call ending. The result feels like you've hired an executive assistant who never forgets anything. The good news is that the tools already exist. You don't need to write custom code or maintain complicated integrations yourself. The orchestration layer just needs to tie them together in the right sequence.
The Automated Workflow
The workflow runs in four stages. First, a meeting is recorded and uploaded. Second, the recording is transcribed and summarised. Third, action items are extracted and connected to owners. Fourth, everything lands in a searchable, organised location where your team can find it later. We'll use n8n as the orchestration engine because it handles webhooks, file operations, and conditional logic without requiring you to deploy servers. The workflow triggers when a meeting recording hits your productivity platform (we're using a tool with nested AI chats and reminders here). From there, n8n coordinates calls to MeetGeek and Cogram, then deposits the results into your knowledge base.
Trigger: Recording uploaded to your productivity platform
Most productivity platforms with AI support offer webhooks. When a user uploads a meeting recording, the webhook fires and sends a payload to your n8n instance. The payload contains the file URL, meeting title, attendees, and metadata. Set up a webhook receiver in n8n:
POST /webhook/meeting-recorded
Content-Type: application/json { "recording_id": "rec_abc123", "recording_url": "https://cdn.company.com/recordings/meeting_2026-03-15.mp4", "meeting_title": "Product roadmap Q2", "attendees": ["alice@company.com", "bob@company.com"], "meeting_date": "2026-03-15T10:00:00Z", "duration_seconds": 3600
}
Step 1: Send to MeetGeek for transcription and summary
MeetGeek's API accepts a recording URL and returns a transcription, summary, and key points. The request is straightforward.
POST https://api.meetgeek.ai/v1/transcribe
Content-Type: application/json
Authorization: Bearer YOUR_MEETGEEK_API_KEY { "recording_url": "https://cdn.company.com/recordings/meeting_2026-03-15.mp4", "meeting_title": "Product roadmap Q2", "language": "en"
}
MeetGeek returns a job ID immediately. You'll need to poll the status endpoint every 30 seconds until the transcription finishes. For a one-hour meeting, expect 5 to 15 minutes depending on load.
GET https://api.meetgeek.ai/v1/transcribe/{job_id}/status
Authorization: Bearer YOUR_MEETGEEK_API_KEY
In n8n, use a Poll node set to check every 30 seconds and timeout after 30 minutes. Once the status is "completed", extract the transcript and summary from the response.
Step 2: Extract action items with Cogram
Cogram specialises in identifying action items during meetings. Pass the transcript to Cogram's API, and it returns a structured list of tasks, owners, and deadlines.
POST https://api.cogram.com/v1/extract-actions
Content-Type: application/json
Authorization: Bearer YOUR_COGRAM_API_KEY { "transcript": "Alice: We need to set up the Stripe integration by end of week...", "meeting_title": "Product roadmap Q2", "attendees": ["alice@company.com", "bob@company.com"]
}
Cogram's response looks like this:
{ "actions": [ { "task": "Set up Stripe integration", "owner": "alice@company.com", "due_date": "2026-03-21", "priority": "high", "context": "Payment processing for new checkout flow" }, { "task": "Review payment gateway comparison", "owner": "bob@company.com", "due_date": "2026-03-18", "priority": "medium", "context": "Evaluate Stripe vs PayPal vs Square" } ]
}
In n8n, map each action item to your productivity platform's reminder system. Most tools expose an API to create tasks with due dates and assignees.
Step 3: Summarise with Claude for extra polish
The summaries from MeetGeek are solid, but you can enhance them by passing the transcript through Claude Sonnet 4.6 for a customised summary that matches your company's style. This is optional but recommended if you want consistent tone across all meeting notes.
POST https://api.anthropic.com/v1/messages
Content-Type: application/json
Authorization: Bearer YOUR_ANTHROPIC_API_KEY { "model": "claude-sonnet-4-6", "max_tokens": 500, "messages": [ { "role": "user", "content": "Summarise this meeting transcript in 150 words, focusing on decisions and outcomes:\n\n[TRANSCRIPT HERE]" } ]
}
Step 4: Store everything searchable
The final step deposits the transcript, summary, action items, and metadata into a searchable location. Options include Notion, Confluence, a shared Google Doc, or a custom database. For Notion, use the Notion API:
POST https://api.notion.com/v1/pages
Content-Type: application/json
Authorization: Bearer YOUR_NOTION_API_KEY { "parent": { "database_id": "your_database_id" }, "properties": { "Meeting Title": { "title": [{"text": {"content": "Product roadmap Q2"}}] }, "Date": { "date": {"start": "2026-03-15"} }, "Attendees": { "multi_select": [ {"name": "alice@company.com"}, {"name": "bob@company.com"} ] }, "Summary": { "rich_text": [{"text": {"content": "The team discussed..."}}] }, "Action Items": { "rich_text": [{"text": {"content": "- Set up Stripe integration (Alice, due 2026-03-21)"}}] }, "Recording Link": { "url": "https://cdn.company.com/recordings/meeting_2026-03-15.mp4" } }, "children": [ { "object": "block", "type": "paragraph", "paragraph": { "rich_text": [{"text": {"content": "[Full transcript here]"}}] } } ]
}
In n8n, the complete workflow looks like this: 1. Webhook receives meeting upload 2. HTTP Request to MeetGeek transcription endpoint 3. Poll node waits for transcription to complete 4. Extract summary and transcript from MeetGeek response 5. HTTP Request to Cogram with transcript 6. Parallel request to Claude Sonnet 4.6 for enhanced summary (optional) 7. HTTP Request to your task management tool to create reminders for each action item 8. HTTP Request to Notion to create a meeting notes page 9. Conditional error handling: if any step fails, send Slack notification The entire workflow runs without human intervention. By the time your team finishes lunch, the meeting is transcribed, summarised, action items are assigned with due dates, and everyone has a searchable record to reference.
The Manual Alternative
If you prefer tighter control, you can skip the full automation and use MeetGeek and Cogram's web interfaces directly. Upload the recording, review their suggestions, manually edit action items, then copy everything into your knowledge base. It takes 10 to 15 minutes per meeting but gives you a chance to catch edge cases where the AI misidentifies owners or deadlines. The trade-off is obvious: it scales poorly once you're running more than three or four meetings per week.
Pro Tips Watch your rate limits with polling.
MeetGeek's transcription API can take 30 minutes for longer recordings. Polling every 10 seconds will burn through your API quota unnecessarily. Set the polling interval to 60 seconds and accept that results arrive within a 30-minute window. Fallback gracefully when speaker identification fails. Cogram sometimes struggles to map voices to names, especially in large meetings or poor audio. Build a fallback into n8n: if confidence is below 70%, flag the action item for manual review rather than assigning it to the wrong person. Use conditional branching for different meeting types. Not every call needs action items extracted. For all-hands announcements or passive listening sessions, skip Cogram and Cogram and route directly to Notion with just the transcript and summary. This cuts API costs by 30 to 40 percent. Archive old recordings after 90 days to save storage costs. MeetGeek stores files indefinitely, but your recording storage (S3, Google Cloud, or your productivity platform) does not. Build a cleanup workflow that deletes the original recording file 90 days after the meeting, keeping only the transcript and summary in your knowledge base. Test with a test recording first. Before deploying to your whole team, run the workflow with a 15-minute sample recording. Verify that each API call succeeds, that action items route to the correct owners, and that the Notion page formats correctly. Small mistakes in API payloads often surface only after the first real run.
Cost Breakdown
| Tool | Plan Needed | Monthly Cost | Notes |
|---|---|---|---|
| MeetGeek | Pro | £30 | Unlimited transcriptions and summaries. Free tier allows 5 per month. |
| Cogram | Teams | £25 | Supports 20 team members and unlimited meeting analysis. Standalone option. |
| Claude Sonnet 4.6 | Pay-as-you-go | £5–£15 | Only if you add the optional Claude enhancement. Roughly £0.01–£0.02 per meeting. |
| n8n | Cloud Pro | £20 | Includes webhooks, polling, and 100,000 executions per month. Self-hosted option is free. |
| Notion | Plus | £8 | Unlimited pages and API calls. Standard plan (£4) works if you don't need API access. |
| Your productivity platform | Varies | Varies | Check whether webhooks and reminders require a paid upgrade. |