An AI-powered bot that automatically generates and shares summaries of Zoom meeting transcripts via Slack. Built with the AI SDK by Vercel.
- Automatically captures Zoom meeting transcripts via webhook
- Generates structured summaries using GPT-4o
- Sends private summaries to meeting hosts via Slack
- Includes:
- Meeting topic
- Overview
- Key takeaways
- Action items
- Time in EST
- Clean transcript formatting
- Automatic timezone conversion (GMT to EST)
- Node.js 18+ installed
- Slack workspace
- Zoom account with dev privileges
- OpenAI API key
- A server or hosting platform (e.g., Vercel) to deploy the bot
npm install
# or
pnpm install- Go to https://api.slack.com/apps and click "Create New App"
- Choose "From scratch" and give your app a name
- Select your workspace
- Under "App Credentials", note down your "Signing Secret"
-
Add the following Bot Token Scopes:
chat:writeusers:readusers:read.email
-
Install the app to your workspace and note down the "Bot User OAuth Token"
Create a .env file in the root of your project with the following:
# Slack Credentials
SLACK_BOT_TOKEN=xoxb-your-bot-token
SLACK_SIGNING_SECRET=your-signing-secret
# OpenAI Credentials
OPENAI_API_KEY=your-openai-api-key
# Zoom Webhook Secret
ZOOM_WEBHOOK_SECRET_TOKEN=your-zoom-webhook-secret
# Zoom API Credentials (for fetching verified participant emails)
ZOOM_ACCOUNT_ID=your-zoom-account-id
ZOOM_CLIENT_ID=your-zoom-client-id
ZOOM_CLIENT_SECRET=your-zoom-client-secret
Replace the placeholder values with your actual tokens.
- Go to the Zoom App Marketplace
- Create a new Server-to-Server OAuth app:
- App Name: Your App Name
- App Type: Server-to-Server OAuth
- Scopes needed:
recording:read,meeting:read:past_meeting - Note down your Account ID, Client ID, and Client Secret
- Configure Webhook in the same app:
- Event Subscriptions enabled
- Add the following event:
recording.transcript_completed - Set the endpoint URL to:
https://your-app.vercel.app/api/notification - Save your webhook secret token
Deploy to Vercel:
- Push your code to a GitHub repository
- Create New Project in Vercel
- Import your GitHub repository
- Add your environment variables
- Deploy
- When a Zoom meeting recording is processed, Zoom sends a webhook to your endpoint
- The bot downloads the transcript
- The transcript is cleaned and formatted
- GPT-4o generates a structured summary
- The summary is sent privately to the meeting host via Slack
- The host can then share the summary with their team
Each summary includes:
Topic: [Meeting Topic]
Overview: [1-2 sentence summary]
Takeaways: [3-5 bullet points]
Action Items: [1-10 specific action items]
Use the Vercel CLI to test locally:
pnpm i -g vercel
pnpm vercel dev --listen 3000 --yesFor testing webhooks locally, you can use a service like ngrok.
MIT