A real-time transcription bot that integrates Recall.ai with AssemblyAI to provide live transcription of Zoom meetings.Documentation Index
Fetch the complete documentation index at: https://assemblyai.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
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 |
- 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
Step 2: Clone the example repo and install dependencies
Open a new terminal and run the following commands:Step 3: Configure environment
Set up your environment variables using the example.env file in the repo:
.env with your Recall values.
Set
RECALL_REGION to according to your Recall region in Step 1.1Step 4: Start ngrok tunnel
In a new terminal, start ngrok to create a public URL for your webhook:https://abc123.ngrok.io) - you’ll need this for the next step.
Step 5: Update Webhook URL
Edit your.env file and set WEBHOOK_URL to your ngrok URL:
Step 6: Start webhook server
In another terminal, start the webhook server (receives transcripts):Step 7: Start the bot CLI
In another terminal, start the bot CLI (manages meeting connection):Step 8: Join meeting and start transcription
Enter your Zoom meeting URL when prompted:webhook.js), you should see a meeting transcript of your participants:
Step 9: Stop transcription
To stop transcribing, type “STOP” to end transcription on your third terminal runningnode zoomBot.js:
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
Bot Creation Errors
AssemblyAI not configured
Webhook Issues
No transcripts appearing
- Verify
WEBHOOK_URLin.envmatches your ngrok URL exactly - Ensure ngrok is still running (it may timeout after inactivity)
- Check that the webhook server was started before the bot
ngrok connection refused
- Restart ngrok:
ngrok http 8000 - Update
WEBHOOK_URLin.envwith the new ngrok URL - Ensure port 8000 is available
Common network issues
Timeout connecting to Recall.ai
- Check your internet connection
- Verify your
RECALL_REGIONis correct - Try again after a few seconds
Bot appears to join but no transcripts
Solution:- Ensure people are speaking in the meeting
- Check that meeting participants have unmuted their microphones
- Verify AssemblyAI is properly configured in Recall.ai dashboard