This project implements a webhook handler for Zoom's transcript-ready notifications. It receives webhook events from Zoom when a meeting transcript is ready, processes the information, and logs the download URL for the transcript.
- Handles Zoom webhook validation challenges
- Processes 'recording.transcript_completed' events from Zoom
- Extracts and logs transcript download URLs
- Dockerized for easy deployment
- Includes a test script to simulate Zoom webhook events
- Docker
- Make (optional, for using Makefile commands)
- Zoom account with webhook functionality enabled
- Python 3.10 or higher (for local development and testing)
-
Clone this repository:
git clone https://github.com/ttulttul/zoom-webhook-handler.git cd zoom-webhook-handler
-
Create a
.env
file in the project root and add your Zoom Webhook Secret Token and other secrets:ZOOM_WEBHOOK_SECRET_TOKEN=your_zoom_webhook_secret_token_here TRANSCRIPT_FORWARD_URL=your_zapier_webhook_url_here TEST_TRANSCRIPT_URL=url_of_a_zoom_transcript_for_testing TEST_TRANSCRIPT_BEARER=zoom_bearer_token_for_testing CLAUDE_MODEL=anthropic_claude_model_name ANTHROPIC_API_KEY=your_anthropic_key
-
Build the Docker image:
make build
-
Start the application:
make run
-
The webhook handler will be available at
http://localhost:8000/zoom/transcript-ready
-
Configure your Zoom app to send webhook events to this URL, using something like
ngrok
to route to a public URL if desired -
To view logs:
make logs
-
To stop the application:
make down
You can send a test webhook event using the provided script:
make test-webhook
This will send a simulated Zoom transcript-ready event to your local webhook handler.
make build
: Build the Docker imagemake run
: Run the Docker containermake stop
: Stop the Docker containermake down
: Stop and remove the Docker containermake rebuild
: Rebuild and restart the Docker containermake logs
: View container logsmake test-webhook
: Send a test webhook eventmake test-local
: Run tests in a local venvmake test-local-verbose
: Same astest-local
but with debug loggingmake clean
: Remove all Docker artifacts related to this project
zoom-transcript-webhook-handler/
├── app/
│ └── main.py
├── .env
├── .gitignore
├── Dockerfile
├── Makefile
├── README.md
├── requirements.txt
└── test_webhook.sh
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.