Skip to main content

Command Palette

Search for a command to run...

πŸš€ Claude AI + Zoom Automation: Building an AI Meeting Agent

Published
β€’2 min read
πŸš€ Claude AI + Zoom Automation: Building an AI Meeting Agent

TL;DR

I built a system that connects Claude AI with Zoom to automatically:

  • Summarize meetings

  • Extract action items

  • Trigger follow-ups


🧠 The Idea

Meetings create a lot of friction:

  • Notes get lost

  • Action items are forgotten

  • Follow-ups take time

So I built a system where AI handles the entire workflow.


βš™οΈ Architecture

Zoom β†’ Webhook β†’ Backend β†’ Claude β†’ Action Engine β†’ Tools

πŸ”Œ Zoom Webhook Example

import express from "express";

const app = express();
app.use(express.json());

app.post("/zoom/webhook", async (req, res) => {
  if (req.body.event === "recording.completed") {
    const url = req.body.payload.object.recording_files[0].download_url;
    await processMeeting(url);
  }
  res.sendStatus(200);
});

app.listen(3000);

🧠 Claude Processing

async function analyzeMeeting(transcript) {
  const res = await fetch("https://api.anthropic.com/v1/messages", {
    method: "POST",
    headers: {
      "x-api-key": process.env.CLAUDE_API_KEY,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      model: "claude-3-opus",
      messages: [{
        role: "user",
        content: `Summarize and extract action items:\n${transcript}`
      }]
    })
  });

  return res.json();
}

πŸ“Œ Structured Output

{
  "summary": "...",
  "decisions": ["..."],
  "actions": [
    { "task": "...", "owner": "..." }
  ]
}

πŸ“¬ Follow-Up Automation

async function sendFollowUp(summary, actions) {
  console.log(summary, actions);
}

πŸ€– Why This Matters

This is more than automation.

It’s the shift from: AI as a tool β†’ AI as an operator


πŸ”₯ Use Cases

  • Devs β†’ auto-create tickets

  • Teams β†’ auto-sync decisions

  • Founders β†’ scale across meetings


🧭 Future

AI agents that:

  • Join meetings

  • Make decisions

  • Execute tasks


πŸ’¬ Final Thought

The goal isn’t better meetings.

It’s meetings that do the work for you.