This is a sample app that demonstrates how to create a bot that extracts action items from Zoom meetings using Recall.ai and OpenAI.
git clone https://github.com/recallai/meeting-action-items-bot
cd meeting-action-items-bot/client
npm install
Create a .env
file for the frontend. All you need to do here is specify the URL of the backend server. For local development, you can just copy the .env.example
file and rename it to .env
if your backend is running on port 3000.
npm run dev
By default, the frontend will be running on port 5173.
Create a new terminal window so that you can run the backend in a separate process. Most of the action happens on the backend, so the setup here is a little more involved.
cd meeting-action-items-bot/server
npm install
Create a .env
file for the backend. There's a .env.example
file to get you started. Also, the server is designed to check for the appropriate environment variables when it starts up and will throw an error if any are missing. Your .env
should contain the following:
RECALL_API_KEY=[recall_api_key]
RECALL_REGION=[recall_region]
OPENAI_API_KEY=[openai_api_key]
If you haven't already, you'll need to sign up for a Recall.ai account and create an API key from the Dashboard.
Double Check Your
RECALL_REGION
:Recall.ai has different subdomains for different regions.
- If you're an individual developer, you should use the
us-west-2
region.- If you're an enterprise on a trial with Recall.ai, you should use the
us-east-1
region.
Zoom App Credentials are used to authenticate the bot with Zoom. Recall.ai has a guide on how to set this up here.
Sign up for an OpenAI account and create an API key from the API Keys page.
Since this app uses webhooks to get the status of the bot in real time, we need a way to forward webhook requests to localhost. Ngrok is the easiest way to do this. Check out Recall's documentation to get set up. Our Express server will be running on port 3000 by default, so run the following command in a new terminal window:
ngrok http --domain {YOUR_STATIC_DOMAIN} 3000
Now head to the Recall.ai webhook dashboard and click Add Endpoint. The endpoint URL should look like this:
{YOUR_NGROK_STATIC_DOMAIN}/webhook/status_change
npm run dev
To test the bot, start a Zoom meeting in your personal meeting room and invite the bot to the meeting using your link. The bot will then ask you for permission to start recording and send you a message with your action items when the meeting has finished.
If the bot isn't transcribing your meeting, check this link for some common issues with Zoom transcription.