Skip to content
All Skills

Meeting Notes to Gmail Summary

Converts meeting notes or transcripts into structured summary emails and creates Gmail drafts addressed to all attendees. Prerequisites: gcloud, curl, jq, base64.

Email & Communication|v1|Updated 5/18/2026
MCP get_skill({ skillId: "meeting-notes-to-gmail-summary-52a9269b" })

Use this skill with your agent

Create a free account and connect via MCP

Get Started Free
# Meeting Notes to Gmail Summary

Convert raw meeting notes or transcripts into a structured summary email, then create a Gmail draft addressed to all attendees.

## When to Use

- "Send meeting notes from today's standup to the team"
- "Summarize this meeting transcript and email it to attendees"
- "Create a follow-up email with action items from our meeting"

## Requirements

- **Google Cloud CLI** (`gcloud`) authenticated with Gmail API
- OAuth2 scopes: `gmail.compose`
- `jq` for JSON parsing
- Meeting notes as text file, clipboard paste, or transcript

## Workflow

### Step 1 — Collect Meeting Input

Accept input in any of these formats:
1. **File path** — Read markdown/text file from workspace
2. **Pasted text** — User pastes transcript directly
3. **Audio transcript** — If using Whisper or similar, read the output file

```bash
# If user provides a file path
cat {MEETING_NOTES_FILE}
```

### Step 2 — Extract Structured Data

Parse the raw notes to identify:

1. **Meeting title** — from header or first line
2. **Date/time** — from metadata or context
3. **Attendees** — names and email addresses (ask user if not in notes)
4. **Key discussion points** — main topics covered
5. **Decisions made** — explicit decisions or agreements
6. **Action items** — WHO does WHAT by WHEN
7. **Open questions** — unresolved items needing follow-up

### Step 3 — Format the Summary Email

Structure as:

```
Subject: Meeting Summary — {TITLE} ({DATE})

Hi team,

Here's a summary of our {TITLE} meeting on {DATE}.

## Key Points
- {Point 1}
- {Point 2}

## Decisions
- {Decision 1}
- {Decision 2}

## Action Items
| Owner | Task | Due |
|-------|------|-----|
| {Name} | {Task} | {Date} |

## Open Questions
- {Question 1} — assigned to {Name} to research

Let me know if I missed anything.

{SIGN_OFF}
```

### Step 4 — Present for Review

Show the formatted email to the user. Ask:
- Are the action items correct?
- Any attendees to add/remove from recipients?
- Any corrections to decisions or key points?

### Step 5 — Create Gmail Draft

```bash
ACCESS_TOKEN=$(gcloud auth print-access-token)

# Build recipient list
TO="attendee1@company.com, attendee2@company.com"

# Create the draft
ENCODED=$(echo -n "From: me\nTo: ${TO}\nSubject: Meeting Summary — {TITLE} ({DATE})\nContent-Type: text/plain; charset=utf-8\n\n{FORMATTED_BODY}" | base64 -w 0 | tr '+/' '-_' | tr -d '=')

curl -s -X POST -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d "{\"message\": {\"raw\": \"$ENCODED\"}}" \
  "https://gmail.googleapis.com/gmail/v1/users/me/drafts"
```

### Step 6 — Save to Workspace

Save the summary to `outputs/meetings/YYYY-MM-DD-{title}.md` for reference.

## Important Rules

- Never send the email — only create a draft for review
- Always ask user to confirm action items and attendees before drafting
- Don't attribute quotes to individuals unless explicitly stated in notes
- Strip any confidential markers and handle sensitive content carefully

## Example Prompts

- "Summarize meeting-notes.md and email the team"
- "Turn this transcript into a meeting summary email for all attendees"
- "Create action items email from today's sprint planning"
#gmail#meetings#notes#google-cligcloudcurljqbase64