Artificial IntelligenceAnthropicProjects

Build an Automated Meeting Notes Summariser with Claude

TT
TopicTrick
Build an Automated Meeting Notes Summariser with Claude

What Does This Meeting Notes Summariser Do?

This project builds a meeting notes summariser that accepts a raw text transcript and outputs a structured JSON summary containing: a one-paragraph executive summary, categorised key discussion points, all decisions made, and a list of action items — each with a task description, owner name, deadline, and priority. The same structured output is also formatted as readable Markdown. Every meeting gets consistent, complete documentation automatically.

Every company runs meetings. Most meetings produce some kind of notes, but those notes are rarely consistent — some are detailed while others are sparse, some capture action items while others do not, and finding agreed decisions from three weeks ago can take longer than it should. An automated meeting notes summariser solves all of these problems at once.

This project builds a system that takes a meeting transcript — from a Zoom, Teams, or Google Meet recording transcription, or from your own notes — and produces a standardised structured summary: the meeting purpose, key discussion points, decisions made, action items with owners and deadlines, and a brief executive summary. Every meeting gets the same quality of documentation automatically.


What We Are Building

The summariser processes a meeting transcript and produces:

  1. Executive summary: 3-4 sentences describing what the meeting was about and the main outcomes
  2. Key discussion points: The substantive topics covered, with important context
  3. Decisions made: Explicit agreements or directions decided in the meeting
  4. Action items: Specific tasks, each with an owner (where identifiable) and deadline (where stated)
  5. Open questions: Issues raised but not resolved, requiring follow-up

Prerequisites

  • Python 3.9 or later
  • pip install anthropic
  • For audio transcription: pip install openai-whisper (or use any transcription service that outputs text)
  • An Anthropic API key set as ANTHROPIC_API_KEY

Complete Implementation

python

Chunk Long Transcripts for Very Long Meetings

For meetings over 2 hours, the transcript can exceed 50,000 tokens. Process these in two passes: first, split the transcript into 30-minute segments and summarise each segment independently. Then use a second Claude call to merge the segment summaries into a final consolidated summary. This two-pass approach keeps each Claude call well within context limits and produces better coherence than trying to process an extremely long transcript in one shot.


    Extending the Project

    • Audio integration: Use OpenAI Whisper or AssemblyAI to transcribe audio/video files before summarisation, creating a fully automated pipeline from recording to structured notes
    • Slack/Teams integration: Post the action items into a Slack channel automatically after each meeting, with owners tagged and items formatted as checkboxes
    • Calendar integration: Extract the next meeting date and create a calendar event automatically using Google Calendar or Microsoft Graph APIs
    • CRM integration: For sales meetings, automatically log the key discussion points and next steps into your CRM against the relevant account

    Summary

    The meeting summariser demonstrates structured extraction at scale. The key design decisions that make it work:

    • Tool use with tool_choice guarantees the output schema — every summary has the same structure regardless of meeting type
    • Granular sub-schemas for action items (task, owner, deadline, priority) enforce the data quality that makes summaries usable downstream
    • Markdown formatting makes summaries immediately readable in email, Slack, Notion, or Confluence
    • JSON output enables downstream automation — feed action items into project management tools, ownership assignments into CRM, and decisions into a searchable archive

    Next project: Project: Build a Code Review Assistant for GitHub PRs.

    For the structured output concepts behind this project, see Claude Structured Outputs and JSON and Claude Tool Use Explained. For handling large audio file transcripts via the Files API, see Claude Files API Tutorial.

    External Resources

    • OpenAI Whisper API — speech-to-text transcription to convert audio recordings into text before summarisation.
    • AssemblyAI documentation — an alternative transcription API with speaker diarisation (identifies who said what) — highly useful for multi-participant meeting notes.

    This post is part of the Anthropic AI Tutorial Series. Previous post: Project: Build a Customer Support Chatbot with Claude API.