Your agent needs call recordings to extract action items, summarize discussions, follow up on commitments, and keep a searchable record of meetings. The Nylas Notetaker API sends a bot to Zoom, Microsoft Teams, or Google Meet calls to record audio, video, and generate transcripts — all accessible via simple API calls.
Prerequisites
Section titled “Prerequisites”You need a Nylas API key and grant ID. If not set up yet, follow the AI agents quickstart first.
nylas auth whoami --jsonExport your credentials for the curl examples below:
export NYLAS_API_KEY=$(nylas auth token)export NYLAS_GRANT_ID=$(nylas auth whoami --json | jq -r '.grant_id')Send a notetaker to a meeting
Section titled “Send a notetaker to a meeting”Give it any Zoom, Teams, or Meet link and it joins within seconds.
curl --request POST \ --url "https://api.us.nylas.com/v3/grants/$NYLAS_GRANT_ID/notetakers" \ --header "Authorization: Bearer $NYLAS_API_KEY" \ --header "Content-Type: application/json" \ --data '{ "meeting_link": "https://zoom.us/j/123456789", "name": "Meeting Notes" }'Save the id from the response — you’ll need it to retrieve the recording.
Get the transcript and recording
Section titled “Get the transcript and recording”After the meeting ends, retrieve the media files. The response includes download URLs for the video, audio, and transcript.
curl --request GET \ --url "https://api.us.nylas.com/v3/grants/$NYLAS_GRANT_ID/notetakers/<NOTETAKER_ID>/media" \ --header "Authorization: Bearer $NYLAS_API_KEY"The transcript is available as a JSON file with timestamps and speaker labels — structured data your agent can parse, summarize, or search.
Auto-record all meetings
Section titled “Auto-record all meetings”Instead of sending a notetaker to each meeting manually, configure it to automatically join every meeting on a user’s calendar.
curl --request PUT \ --url "https://api.us.nylas.com/v3/grants/$NYLAS_GRANT_ID/calendars/primary" \ --header "Authorization: Bearer $NYLAS_API_KEY" \ --header "Content-Type: application/json" \ --data '{ "notetaker": { "name": "Meeting Notes", "meeting_settings": { "video_recording": true, "audio_recording": true, "transcription": true }, "rules": { "event_selection": ["all"] } } }'Once enabled, Notetaker automatically joins any meeting on that calendar that has a video conferencing link.
Check notetaker status
Section titled “Check notetaker status”List all notetakers to see which are waiting, recording, or finished.
curl --request GET \ --url "https://api.us.nylas.com/v3/grants/$NYLAS_GRANT_ID/notetakers" \ --header "Authorization: Bearer $NYLAS_API_KEY"Example: meeting follow-up workflow
Section titled “Example: meeting follow-up workflow”Here’s a realistic pattern for an agent that processes meeting recordings:
# 1. List today's calendar events to find meetings that happenednylas calendar events list --days 1 --json
# 2. Check which notetakers have finished recordingcurl -s --request GET \ --url "https://api.us.nylas.com/v3/grants/$NYLAS_GRANT_ID/notetakers" \ --header "Authorization: Bearer $NYLAS_API_KEY" \ | jq '.data[] | select(.status == "completed")'
# 3. Get the transcriptcurl -s --request GET \ --url "https://api.us.nylas.com/v3/grants/$NYLAS_GRANT_ID/notetakers/<NOTETAKER_ID>/media" \ --header "Authorization: Bearer $NYLAS_API_KEY"
# 4. (Agent processes the transcript with its LLM to extract# action items, decisions, and follow-ups)
# 5. Send follow-up email with meeting summarynylas email send \ --subject "Meeting notes: Q3 planning" \ --body "Here are the key decisions and action items from today..." \ --yesThis combines calendar (find meetings), notetaker (get transcripts), and email (send follow-ups) into a single agent workflow.
What’s next
Section titled “What’s next”- Give your agent email access — read, send, and search email
- Give your agent calendar access — manage events and check availability
- Notetaker API quickstart — full SDK examples for all languages
- Handling media files — downloading, storing, and processing recordings
- Calendar sync deep dive — event selection rules and filtering