// build it in 30 minutesby 5 min read

Auto-Generated Client Recap Emails (30-Minute Build)

Client call ends. Recap email lands in your drafts before you stand up. Numbers, decisions, action items, and a clean tone. Edit in 60 seconds and send.

The build: client call ends with a recording. Within 5 minutes, a recap email sits in your drafts addressed to the right people with decisions, action items, and a clean professional tone. You spend 60 seconds editing. Send.

Total build time: 30 minutes.

What you'll need

  • Recording tool that auto-generates a transcript (Fathom, Otter, Fireflies, Read.ai, or Zoom's built-in)
  • n8n
  • Your email tool (Gmail API or Resend)
  • AI API key

Step 1: Trigger on transcript completion (5 min)

Most transcription tools have a webhook or API. Fathom and Fireflies both notify when a transcript is ready.

n8n Webhook trigger waiting for the notification.

Step 2: Pull transcript and metadata (5 min)

Use the transcription tool's API to fetch:

  • The full transcript text
  • Meeting title
  • Attendees (with email addresses)
  • Duration
  • Date/time

Step 3: AI recap (10 min)

Add an AI node. Prompt:

Generate a client recap email from a meeting transcript.

Transcript: {{ transcript }}
Attendees: {{ attendees }}
Meeting title: {{ title }}

Return JSON:
{
  "subject_line": "<specific, not 'Following up on our call'>",
  "to_addresses": [<emails of external attendees only, not me>],
  "body": "<the recap, 4 sections>"
}

Body format:
- Opening: 1 sentence that references something specific from the call
- Decisions: 2-5 bullets of decisions made (omit section if none)
- Action items: 3-7 bullets formatted as "[Owner] — [Task] — [Deadline if mentioned]"
- Next step: 1-2 sentences on what happens next

Voice: direct, professional, peer-to-peer. NOT salesy. NOT over-apologetic. NOT corporate.

Length: 200-400 words total.

Banned phrases: "thank you so much for your time", "I sincerely appreciate", "I hope this email finds you well", "circling back", "touching base".

Sign as: Josh

Step 4: Create email draft (5 min)

Add a Gmail node (or your email tool). Action: create draft. NOT send.

Map fields:

  • To: the to_addresses from AI
  • Subject: subject_line from AI
  • Body: body from AI

Step 5: Slack notification (3 min)

Slack notification: "Recap drafted for {meeting_title}. Review at {gmail_draft_link}."

Step 6: Test (2 min)

Record a test call. Verify the draft lands in your Gmail drafts folder.

Common gotchas

  • Make sure the AI doesn't auto-include YOU in the to_addresses. Filter on email before adding.
  • Some transcription tools rate-limit their webhook fires. If you have multiple calls back-to-back, queue them.
  • The recap draft can occasionally invent specifics. NEVER auto-send. Always human review.

What I do with this

Call ends. I close the laptop. By the time I'm walking back from coffee the draft is in my inbox.

I read the draft. I edit 1-2 sentences. I add anything the transcript missed. I send.

Time per recap before: 12-18 minutes. Time per recap after: 60-90 seconds.

For a 6-call day that's an hour back.

What to add next

  • Different templates for different meeting types (sales call vs client status vs internal)
  • Auto-tag the recap with the client name in your project management tool
  • Track who actually opens the recap (Boomerang, Streak, etc.)
  • Generate a private internal summary alongside the client-facing recap

Build the basic version first. Multi-template is the next step, not the first.

client communicationemailautomationmeetings30 min build
// go deeper

Worked steps, FAQs and resources on this topic.

read the guide
// the_list

Get the next one.

Field notes from real deployments, written the way this one was. No schedule promised and nothing sold to you. Unsubscribe whenever.

// keep reading

Related posts

// ready to ship?

Let's build yours.

Reading is the easy part. We do the work. Tell us what's broken and we'll tell you straight up whether we can help.