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

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_REGION is correct
  • Try again after a few seconds.