Manage Google Calendar from the Command Line — No API Setup

Published: (April 2, 2026 at 01:06 PM EDT)
4 min read
Source: Dev.to

Source: Dev.to

Introduction

Managing Google Calendar via the API normally requires a GCP project, OAuth consent screens, token handling, and parsing nested JSON.
The Nylas CLI streamlines this: a single authentication step lets you create, list, update, and delete events directly from the terminal, check availability, and handle time‑zone complexities.

Installation & Authentication

brew install nylas/nylas-cli/nylas
nylas auth login
# => Browser opens for Google OAuth consent
nylas auth whoami
# => Authenticated as you@gmail.com (Google)

Listing Events

# Next 10 events
nylas calendar list --limit 10

# Today's events only
nylas calendar list --from "today" --to "tomorrow"

# This week (Monday‑Friday)
nylas calendar list --from "monday" --to "friday"

# JSON output for scripting
nylas calendar list --limit 5 --json | jq '.[].title'

Creating Events

# Quick event
nylas calendar create --title "Team standup" --when "tomorrow 10am" --duration 30m
# With location and description
nylas calendar create \
  --title "Product review" \
  --when "2026-04-10 14:00" \
  --duration 1h \
  --location "Conference Room B" \
  --description "Q2 roadmap review with stakeholders"
# Add participants
nylas calendar create \
  --title "1:1 with Alice" \
  --when "friday 3pm" \
  --duration 30m \
  --participants "alice@company.com,bob@company.com"
# Auto‑add Google Meet link
nylas calendar create \
  --title "Remote standup" \
  --when "tomorrow 9am" \
  --duration 15m \
  --conferencing google-meet

Checking Availability

# Your free/busy status
nylas calendar availability --from "tomorrow 9am" --to "tomorrow 5pm"
# Mutual availability with colleagues
nylas calendar availability \
  --emails "alice@company.com,bob@company.com" \
  --from "next monday" --to "next friday" \
  --duration 30m

Updating & Deleting Events

# Reschedule
nylas calendar update evt_abc123 --when "thursday 2pm"

# Change title
nylas calendar update evt_abc123 --title "Updated: Product review (moved)"

# Cancel
nylas calendar delete evt_abc123 --yes

Time‑zone & DST Handling

# Recurring meeting that crosses a DST boundary
nylas calendar create \
  --title "Weekly sync" \
  --when "next monday 10am" \
  --duration 1h \
  --timezone "America/New_York"

The CLI automatically adjusts for Daylight Saving Time transitions.

Scripting with jq

# Titles of today's meetings
nylas calendar list --from "today" --to "tomorrow" --json |
  jq -r '.[].title'
# Count meetings this week
nylas calendar list --from "monday" --to "friday" --json |
  jq length
# Find meetings with a specific participant
nylas calendar list --json |
  jq -r '.[] | select(.participants[]?.email == "alice@company.com") | .title'
# Export to CSV
nylas calendar list --from "today" --to "next friday" --json |
  jq -r '.[] | [.title, .when.start_time, .when.end_time] | @csv' > meetings.csv
# Auto‑record meetings that have a video link
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"
  done

Notifications & Email Integration

# Create event with participant notification
nylas calendar create \
  --title "Sprint planning" \
  --when "next tuesday 10am" \
  --duration 1h \
  --participants "team@company.com" \
  --notify
# Send a custom email with the invite details
nylas email send \
  --to "team@company.com" \
  --subject "Sprint Planning - Tuesday 10am" \
  --body "Calendar invite sent. See you there." \
  --yes

Multi‑Provider Support

The same commands work with Outlook, Exchange, Yahoo, and iCloud calendars—simply authenticate the desired account.

AI & Voice Agent Integration

nylas mcp install --assistant claude-code

After installing, Claude Code (or another AI assistant) can query availability, schedule meetings, and manage events on your behalf.

References

  • Full Nylas CLI guide:
  • Managing calendars from the terminal:
  • Automating email and calendar with PowerShell:
  • Building an AI email triage agent:
  • List Gmail emails from the command line:
  • Why the Gmail API breaks AI agents:
  • Email APIs for AI agents compared:
0 views
Back to Blog

Related posts

Read more »

New Rentgen Release v1.20.0 🚀

Release v1.20.0 🚀 - Project export / import main feature No accounts. No cloud. No data leaving your machine. Export your project → get a file → put it anywhe...

Why 'Optimize Your Images' Is Bad Advice

I think a lot of founders hear “optimize your images” and still don’t know what that means in practice. Usually it’s a mix of wrong format, wrong dimensions, du...