Record Zoom, Google Meet, and Teams Calls from the Command Line
Source: Dev.to
Installation
macOS / Linux
brew install nylas/nylas-cli/nylasWindows PowerShell
irm https://cli.nylas.com/install.ps1 | iexNew to the CLI? The getting‑started guide takes under a minute.
Sending a Notetaker Bot
nylas notetaker send --meeting-link "https://zoom.us/j/123456789"
# => Notetaker bot joining meeting...
# => Notetaker ID: nt_abc123A bot joins the call, records audio/video, and generates a transcript when the meeting ends.
Supported Platforms
Zoom
nylas notetaker send --meeting-link "https://zoom.us/j/123456789"Google Meet
nylas notetaker send --meeting-link "https://meet.google.com/abc-defg-hij"Microsoft Teams
nylas notetaker send --meeting-link "https://teams.microsoft.com/l/meetup-join/..."Retrieving Results
Check Status
nylas notetaker status nt_abc123Get the Transcript
nylas notetaker transcript nt_abc123
# => [00:01:23] Alice: Let's discuss the Q2 roadmap.
# => [00:01:45] Bob: I think we should prioritize the API redesign...Get Transcript as JSON
nylas notetaker transcript nt_abc123 --jsonThe JSON output includes timestamps, speaker labels, and confidence scores—ready for piping into jq, Python, or an LLM.
Calendar Integration
List today’s events with meeting links
nylas calendar list --from "today" --to "tomorrow" --json |
jq -r '.[] | select(.conferencing != null) | .conferencing.details.url'Record all meetings on your calendar today
nylas calendar list --from "today" --to "tomorrow" --json |
jq -r '.[] | select(.conferencing != null) | .conferencing.details.url' |
while read url; do
nylas notetaker send --meeting-link "$url"
doneProvider‑specific calendar guides
- Manage Google Calendar from the CLI
- Manage Outlook Calendar from the CLI
- Manage Exchange Calendar from the CLI
Using Transcripts with AI
import subprocess, json
# Get transcript as JSON
result = subprocess.run(
["nylas", "notetaker", "transcript", "nt_abc123", "--json"],
capture_output=True, text=True
)
transcript = json.loads(result.stdout)
# Build a prompt for an LLM
prompt = "Extract action items from this meeting transcript:\n\n"
for segment in transcript:
prompt += f"[{segment['speaker']}]: {segment['text']}\n"
# Send `prompt` to your preferred LLM clientFor a full example of building AI agents that process email and meeting data, see Build an LLM Agent with Email Tools.
Emailing the Transcript
# Get attendee emails from the calendar event
ATTENDEES=$(nylas calendar get evt_xyz --json |
jq -r '.participants[].email' | tr '\n' ',')
# Email the transcript
nylas email send \
--to "$ATTENDEES" \
--subject "Meeting notes: Q2 Roadmap" \
--body "$(nylas notetaker transcript nt_abc123)" \
--yesFull email‑sending guide: Send Email from the Command Line.
AI Agents via MCP
nylas mcp install --assistant claude-codeYour agent can then record meetings, retrieve transcripts, and send follow‑ups—autonomously. See Give Your AI Agent an Email Address for full setup.
Feature Comparison
| Feature | Otter.ai | Fireflies.ai | Nylas CLI |
|---|---|---|---|
| CLI interface | No | No | Yes |
| JSON output | No | API only | Built‑in |
| Calendar integration | Separate | Separate | Same tool |
| Email follow‑ups | No | No | Same tool |
| AI agent (MCP) | No | No | Built‑in |
| Self‑hosted option | No | No | Yes |
| Zoom + Meet + Teams support | Yes | Yes | Yes |
For a broader comparison: Nylas CLI vs Recall.ai for AI Agent Email.
Additional Guides
- Connect Voice Agents to Email and Calendar (the notetaker pairs with voice frameworks like LiveKit and Vapi)
- Record Zoom, Meet, and Teams from the CLI (full guide with scheduling, speaker identification, and storage options)
- Manage Calendar from the Terminal
- Build an AI Email Triage Agent
- AI Agent Audit Logs
- Why AI Agents Need Email
- Email as Memory for AI Agents
- Best CLI Email Tools Compared
All guides: