MODULE 03 · COURSE 02: GOING DEEPER
Module 3: Connecting Google Calendar
Calendar access turns your agent into something that actually understands your day. Once it knows your schedule, it can give you context-aware help instead of generic answers.
What you get
- "What does my week look like?"
- "I need to schedule a 1-hour call with someone in London — when do I have availability?"
- "Block Thursday afternoon for deep work."
- Morning briefings that include your actual schedule
- Proactive heads-ups: "Your 2pm is in 30 minutes and you're in the middle of something."
Setup
If you already connected Gmail in the last module, you're halfway there — you already have a Google Cloud project and OAuth credentials set up. The Calendar API uses the same OAuth flow.
Step 1: Enable the Calendar API
- Go to your Google Cloud project at console.cloud.google.com
- APIs & Services → Library
- Search Google Calendar API → Enable it
Step 2: Connect via your agent
"I want you to connect to my Google Calendar using the same OAuth credentials you use for Gmail. Can you set that up?"
If you're connecting Calendar without Gmail, follow the same OAuth setup steps from Module 2, just enabling the Calendar API instead of (or in addition to) Gmail.
What you can actually do with it
Check your schedule
"What do I have today?"
"Am I free Tuesday afternoon?"
"When's my next meeting with [name]?"
Create events
"Add a reminder Thursday at 3pm to review the proposal."
"Block my calendar Friday morning — I'm traveling."
"Schedule a 1-hour focus block every day this week at 9am."
Get smart briefings
"Every Sunday evening at 7pm, send me a preview of the week ahead. Include all my meetings, any conflicts, and flag days that look overloaded."
Connect it to email
Once you have both Gmail and Calendar connected, the real power kicks in:"When you see a meeting invite in my email, check my calendar for conflicts and tell me before I accept."
"When I get a flight confirmation email, add the flight details to my calendar automatically."
The scheduling assistant pattern
This is one of the most useful setups for people who do a lot of external meetings:
"When someone asks to schedule a meeting with me, I want you to check my calendar and suggest 3 available slots in [my timezone]. Keep my mornings before 10am clear and don't book anything on Fridays."
Save those preferences in your SOUL.md:
## Scheduling Preferences
- Mornings before 10am Pacific are protected — no meetings
- Friday is a no-meeting day
- Prefer afternoon slots (1-5pm) for external calls
- Always leave 15 minutes between back-to-back meetings
Now when you ask your agent to help schedule something, it already knows the rules.
Multiple calendars
If you use multiple Google Calendars (work, personal, a shared team calendar), your agent can see all of them once connected. Tell it which ones to use:
"I have three calendars: Personal, Work, and Jeremy's Family. For scheduling purposes, check all three. When creating events, default to Work unless I say otherwise."
Privacy note
Your agent reads calendar data to answer questions and build briefings. It keeps this in conversation context — it doesn't write your calendar contents to a permanent file unless you explicitly tell it to. If you want a weekly record of your schedule, tell it to keep one. If you don't, it reads-and-responds without persisting anything.