Skip to content
Skip to main content

Meeting notetaker API guide

Last updated:

You want recordings and transcripts of your users’ Zoom, Google Meet, and Microsoft Teams calls. Building that in-house means writing a separate meeting bot for each platform, handling three different join flows and media-capture paths, then wiring up speech-to-text on top. The Notetaker API replaces all three integrations with one endpoint: you send a bot to a meeting link, it joins the call, and it returns the recording, transcript, summary, and action items. You write the integration once and it works across every supported platform.

The Notetaker API sends a bot that joins an online meeting as a participant, records the audio and video, and transcribes the conversation. After the meeting ends, it produces four outputs: an MP4 recording, a JSON transcript with speaker labels, an AI-generated summary, and a list of action items. One endpoint covers all 3 supported platforms: Zoom, Google Meet, and Microsoft Teams.

You toggle each output through the meeting_settings object, where transcription requires recording on, and summary and action_items each require transcription. See Using Notetaker for the full settings reference.

Notetaker joins meetings on Zoom, Google Meet, and Microsoft Teams using the join URL you pass in meeting_link. The bot always joins as a non-signed-in guest, so each of the 3 platforms handles admission differently. If a meeting restricts entry and nobody admits the bot within 10 minutes, the join times out with a failed_entry status and you get no recording.

The table below shows the join URL format and lobby behavior for each platform.

PlatformJoin URL exampleAdmit/lobby behaviorNotes
Google Meethttps://meet.google.com/abc-defg-hijSet “Anyone with the link can join” or admit the bot from the lobby.Records the participant grid and shared screen.
Zoomhttps://us05web.zoom.us/j/12345?pwd=...Disable the waiting room, or have the host admit the bot.Records the full meeting window.
Microsoft Teamshttps://teams.microsoft.com/l/meetup-join/...Allow anonymous users to join, or admit the bot from the lobby.Records the main meeting area.

For the platform-specific recipes, see Transcribe a Zoom meeting, Transcribe a Google Meet meeting, and Transcribe a Teams meeting.

The Notetaker flow runs from a single create request to a media download, with webhooks signaling each transition. You don’t poll for status; you subscribe to the 5 Notetaker triggers and react when media becomes available. The media download URLs expire 3,600 seconds (60 minutes) after they’re generated, so download promptly or regenerate them. Here’s the end-to-end sequence:

  1. Create the bot with a POST /v3/grants/{grant_id}/notetakers request (or the standalone POST /v3/notetakers) containing the meeting_link.
  2. The bot joins the call and starts recording, emitting notetaker.meeting_state webhooks as it connects.
  3. The meeting ends or the bot leaves, and Nylas processes the recording and transcript.
  4. A notetaker.media webhook fires once each file is ready for download.
  5. Fetch the output with GET /v3/grants/{grant_id}/notetakers/{id}/media.
  6. Download each file within the 3,600-second window, or call the media endpoint again for fresh URLs.

For the full create-to-download walkthrough, see Record and transcribe meetings. For media formats and storage, see Handling Notetaker media files.

Each recipe below covers one task end-to-end with runnable requests, building on the 6 core endpoints: create, list, get by ID, get media, cancel, and leave. The 3 platform recipes share the same flow but differ in lobby setup, so start with the one that matches your meeting provider. Use the cross-cutting recipes for media retrieval, webhooks, and scheduling.

The pages below cover the API reference, media handling, and the underlying endpoints in depth. The reference documents all 6 grant-based endpoints plus their standalone variants at /v3/notetakers. Start with the Notetaker overview for settings and webhook triggers, then use the media guide when you build your download pipeline.