How to Download Google Meet Transcripts Via Event
I encountered this issue recently and decided to share a brief tutorial, as there isn't much information available on the forum regarding Google Meets. I hope this proves helpful to some!
This guide demonstrates how to retrieve transcripts from a Google Meets call using a Calendar Event. A potential use case is triggering an AI Agent workflow after a meeting concludes, utilizing the transcripts for specific actions.
Prerequisites
- Important! Your Google Meet must have been recorded, and transcripts must have been enabled during the call. Without meeting these criteria, none of the following steps will function.
- You might need to be the owner of the meeting and the Google Drive where the transcripts are stored due to elevated permission requirements. This process likely won't work for meetings organized by external parties.
Step 1. Get the Calendar Event
To locate the meeting transcripts associated with a calendar event, we first need to query for the calendar event ID.
- For this tutorial, we will use the Google Calendar Node to fetch our event details directly.
- In a production workflow, you would likely obtain the calendar event ID through a different trigger mechanism.
Step 2. Setup Google OAuth2 with Google Meets Scope
As there isn't a dedicated Google Meets node available at this moment, we will utilize the HTTP node to interact with the necessary Google APIs. Let's proceed by creating an OAuth2 credential for accessing the Google Meets APIs.
- Search for and establish a new Google OAuth2 Credential. This credential is not tied to any specific Google service.
- The configuration remains largely the same, with the key difference being the ability to define a scope. Set the scope to
https://www.googleapis.com/auth/meetings.space.readonly
.
Step 3. Call Google API to fetch “Conference Records”
Conference Records are generated by Google during a call for the event. We can retrieve these using the HTTP node with the OAuth2 credentials configured in the preceding step.
Note: Conference records are not always available. If you lack sufficient permissions, if the call did not occur, or if it wasn't recorded, this endpoint will return no records.
- Utilize an HTTP node and direct it to
https://meet.googleapis.com/v2/conferenceRecords
. - Define a query parameter named
filter
and set its value tospace.meeting_code=X
, where X represents the event ID.
Step 4. Call Google API to Fetch Transcript Location
Once we have the Conference Record ID, we need to make another HTTP request to obtain the location of the transcript file. This file is typically saved as a Google Doc in the meeting organizer's Google Drive.
- Use another HTTP node and point it to
https://meet.googleapis.com/v2/{{ $json.conferenceRecords[0].name }}/transcripts
. - Continue using the Google Meets OAuth2 credential that was created in step 2.
- No body or query parameters are necessary for this request.
Step 5. Download Transcript from Google Drive
Finally, after obtaining the document location of the transcript, we can use the Google Drive node to download the file.
- Utilize the Google Drive node for "File" and "Download." Under the "File" section, select the option to set via URL and input the document location of the transcript.
- Bonus tip: Leverage the Google file conversion options to automatically convert Google Docs into PDFs for simpler processing.
Conclusion
That concludes the process! You can now retrieve transcripts for any eligible Google Meet. While it may seem straightforward once understood, it can be challenging for beginners without guidance. Hopefully, this tutorial will assist others in the future. If you encounter any issues, they are most likely related to permissions, so please double-check those. Feel free to reach out if you get stuck.
Thanks for sharing!
Great work Jim! This is a really clear tutorial.
Great! I am also interested in the issue you mentioned. Thanks a lot!
Thanks for sharing! There's an API for that at vexa.ai, and it's open source. You can integrate meeting transcripts with just 2 API calls. callin.io nodes are available here n8n/googlemeetwithvexaAPI.json at main · Vexa-ai/n8n · GitHub