A real-time transcription bot that integrates Recall.ai with AssemblyAI to provide live transcription of Zoom meetings.
Quickstart
# 1. Clone and install
git clone https://github.com/AssemblyAI/assemblyai-recallai-zoom-bot.git
cd assemblyai-recallai-zoom-bot
npm install
# 2. Run ngrok and copy the ngrok URL
# ngrok http 8000
# 3. Configure your .env file and edit it with your API keys and ngrok URL
cp .env.example .env
# 4a. Open a new terminal and run
# node webhook.js
# 4b. Open another terminal and run
# node zoomBot.js
Prerequisites
- Node.js (v14 or higher)
- ngrok - Installation guide
- Recall.ai API key with AssemblyAI configured
Step-by-step
Follow this step-by-step guide to set up and run the transcription bot.
Step 1: Get your API keys
1.1 Choose your Recall.ai region and get your API Key:
| Region | Dashboard | RECALL_REGION |
|---|---|---|
| US Pay-as-you-go | us-west-2.recall.ai | us-west-2 |
| US Monthly plan | us-east-1.recall.ai | us-east-1 |
| EU | eu-central-1.recall.ai | eu-central-1 |
| Japan | ap-northeast-1.recall.ai | ap-northeast-1 |
1.2 Configure AssemblyAI in your Recall.ai dashboard:
- Get an AssemblyAI API key from assemblyai.com
- In your Recall.ai dashboard (same region as step 1.1), navigate to the transcription providers section
- Add your AssemblyAI API key to enable AssemblyAI as a transcript provider
This step is required for the bot to work with AssemblyAI transcription!
Step 2: Clone the example repo and install dependencies
Open a new terminal and run the following commands:
git clone https://github.com/AssemblyAI/assemblyai-recallai-zoom-bot.git
cd assemblyai-recallai-zoom-bot
npm install
Step 3: Configure environment
Set up your environment variables using the example .env file in the repo:
cp .env.example .env
Edit .env with your Recall values.
RECALL_API_KEY=your_recall_api_key
RECALL_REGION=us-west-2
Set RECALL_REGION according to your Recall region in Step 1.1
Step 4: Start ngrok tunnel
In a new terminal, start ngrok to create a public URL for your webhook:
g ngrok http 8000
Step 5: Update Webhook URL
Edit your .env file and set WEBHOOK_URL to your ngrok URL:
WEBHOOK_URL=https://abc123.ngrok.io
Step 6: Start webhook server
In another terminal, start the webhook server (receives transcripts):
node webhook.js
Step 7: Start the bot CLI
In another terminal, start the bot CLI (manages meeting connection):
node zoomBot.js
Step 8: Join meeting and start transcription
Enter your Zoom meeting URL when prompted:
What is your meeting URL?: https://zoom.us/j/123456789
Step 9: Stop transcription
To stop transcribing, type “STOP” to end transcription on your third terminal running node zoomBot.js:
Type "STOP" to end transcription: STOP
Troubleshooting
Environment Variable Errors
RECALL_API_KEY not found in .env file
Solution: Make sure you copied .env.example to .env and added your API key.
RECALL_REGION must be one of: us-west-2, us-east-1, eu-central-1, ap-northeast-1
Solution: Check your .env file and ensure RECALL_REGION matches where you got your API key.
Common network issues
Timeout connecting to Recall.ai
Solution:
- Check your internet connection
- Verify your
RECALL_REGIONis correct - Try again after a few seconds.