InTouch Hub · Blue Isle Software

Meeting Notes Summarizer

Turn a raw meeting transcript into structured notes — action items with owners, decisions made, open questions, and key topics. Designed for the kinds of recordings Zoom, Teams, and OBS produce.

Meeting Notes Summarizer Skill

Drop in a raw meeting transcript, get back structured notes: decisions, action items with owners, open questions, and topics covered. The kind of notes you'd write yourself if you had time, and never do.

The Problem

Recording every meeting is now trivial. Watching the recording back to extract notes? Nobody does it. So decisions get forgotten, action items fall through the cracks, and the "we'll revisit next week" item never gets revisited because nobody remembers it existed. AI flips that — 2 minutes after the meeting ends, the team has structured notes in their inbox.

How It Works

  1. The meeting platform records the call and produces a transcript (Zoom, Teams, OBS, Otter.ai, etc.)
  2. A trigger-file or scheduled job picks up new transcripts from a folder
  3. The meeting-notes-summarizer skill produces structured markdown
  4. The email or message task delivers it to attendees and optionally appends to a meeting-log file

Setup

  1. Install this skill
  2. Configure your meeting platform to drop transcripts into a folder InTouch can read (most have an integration; otherwise periodic export)
  3. Create a trigger-file watching that folder
  4. Use the YAML below

Example YAML Job

name: meeting-notes-from-transcript
version: 1.0.0
description: Summarize a new meeting transcript and email the team

notifications:
  - userNames: [intouch]
    alertOnError: true

tasks:
  - name: read-transcript
    tool: runtimeenv
    properties:
      scriptContent: |
        #!/bin/bash
        FILE="${TRIGGER_FILE:-}"
        BASENAME=$(basename "$FILE" .txt)
        # Convention: filename "2026-05-15_Q3-Planning.txt" → date + title
        DATE=$(echo "$BASENAME" | grep -oE '^[0-9]{4}-[0-9]{2}-[0-9]{2}')
        TITLE=$(echo "$BASENAME" | sed -E 's/^[0-9]{4}-[0-9]{2}-[0-9]{2}_//' | tr '-' ' ')
        echo "meetingTitle: $TITLE"
        echo "meetingDate: $DATE"
        echo "transcript:"
        cat "$FILE"

  - name: summarize
    tool: skill
    properties:
      skillName: meeting-notes-summarizer
      input: "{{read-transcript.output}}"

  - name: email-team
    tool: email
    credentialName: smtp
    properties:
      operation: send
      to: "[email protected]"
      subject: "Meeting notes — {{read-transcript.output}}"
      body: "{{summarize.answer}}"
      bodyType: text

  - name: archive
    tool: runtimeenv
    properties:
      scriptContent: |
        #!/bin/bash
        ARCHIVE="${INTOUCH_HOME}/meetings/notes"
        mkdir -p "$ARCHIVE"
        BASENAME=$(basename "${TRIGGER_FILE}" .txt)
        cat > "${ARCHIVE}/${BASENAME}.md" <<'EOF'
        {{summarize.answer}}
        EOF
        mv "${TRIGGER_FILE}" "${INTOUCH_HOME}/meetings/transcripts/processed/"

Customization

Cost