This repository demonstrates how to retrieve transcripts from a Microsoft Teams meeting using Recall.ai. To do this, you’ll need to send a bot to the meeting.
Clone the repository and follow the steps below.
Watch the video below to see the setup in action.
--
- Send meeting bot into Microsoft Teams meeting
- Real-time transcription begins
- When the meeting ends, Recall.ai returns
recording.doneand async transcription can begin - Async transcription begins, Recall.ai returns
transcription.donewhen transcript URL is ready
- Recall.ai's Meeting Bot API
- Ngrok
- Real-time transcription
- Async transcription
Async transcription is generated and accessible once the meeting ends, while real-time transcription is generated during the meeting.
git clone https://github.com/recallai/teams-transcript.git
cd teams-transcript- Get your Recall.ai API key
Rename the .example.env file to .env and replace the following
RECALL_API_KEY=your_recall_api_key
RECALL_REGION=your_api_base_when_you_signup
PUBLIC_BASE_URL=ngrok_link // you'll configure this in step 5
RECALL_API_BASE is the base URL for your Recall region and is determined when you sign up for Recall.ai
where_you_signed_up -> url -> RECALL_REGION
US West 2 -> https://www.us-west-2.recall.ai -> us-west-2
US East 1 -> https://www.us-east-1.recall.ai -> us-east-1
EU -> https://www.eu-central-1.recall.ai -> eu-central-1
Asia -> https://www.ap-northeast-1.recall.ai -> ap-northeast-1
In your terminal, run:
npm installRecall.ai requires a public webhook endpoint, so we expose the backend with ngrok.
First make sure you add the authtoken on ngrok:
ngrok config add-authtoken <token>Open a new terminal in your root directory, run:
ngrok http 3000You will receive a URL similar to:
https://abc123.ngrok-free.app // this is YOUR_NGROK_URL
Remember to add it to .env
PUBLIC_BASE_URL=ngrok_link
Login to Recall.ai and it will take you to your dashboard, then configure the webhook URL under the Webhooks section.
Add the following endpoint:
https://YOUR_NGROK_URL/webhooks/recall
Example:
https://abc123.ngrok-free.app/webhooks/recall
Add events such as:
recording.donetranscript.done
Configure bot.json file
- Replace YOUR_TEAMS_MEETING_LINK with the Microsoft Teams meeting link you want to send your meeting bot to.
- Replace YOUR_REGION_HERE with your region (RECALL_REGION)
- Replace YOUR_API_KEY_HERE with your API key from Recall.ai (RECALL_API_KEY)
Run the cURL command in the terminal, a bot will appear in your Teams meeting that will start async transcription once the meeting ends.
Configure curl.json file
- Replace YOUR_TEAMS_MEETING_LINK with the Microsoft Teams meeting link you want to send your meeting bot to.
- Replace YOUR_NGROK_LINK with your ngrok link (PUBLIC_BASE_URL)
- Replace YOUR_REGION_HERE with your region (RECALL_REGION)
- Replace YOUR_API_KEY_HERE with your API key from Recall.ai (RECALL_API_KEY)

In your terminal, run:
node backend.js
Open a new terminal, copy everything in curl.json, and run the curl command in the terminal.
Let the bot into the meeting. Both real-time and async transcription are now available to you.
