How to Use OpenClaw with Google Calendar — Automate Your Schedule
Connect OpenClaw to Google Calendar to automate scheduling, reminders, and event management. Full setup guide with real config examples.
Google Calendar is one of the most useful integrations operators build with OpenClaw. Once connected, your agent can see your schedule, create events, send reminders, and block focus time — all from a chat command or cron job.
Get Google Calendar API Credentials
Go to the Google Cloud Console, create a project, enable the Google Calendar API, and create OAuth2 credentials. Download the credentials.json file. Then store your tokens in ~/.openclaw/.env:
GCAL_CLIENT_ID=your_client_id.apps.googleusercontent.com
GCAL_CLIENT_SECRET=GOCSPX-your_secret
GCAL_REFRESH_TOKEN=1//your_refresh_token
GCAL_CALENDAR_ID=primaryQuery Your Calendar from a Skill
Install the Google APIs client: npm install googleapis. In your skill script:
const { google } = require('googleapis');
const auth = new google.auth.OAuth2(
process.env.GCAL_CLIENT_ID,
process.env.GCAL_CLIENT_SECRET
);
auth.setCredentials({ refresh_token: process.env.GCAL_REFRESH_TOKEN });
const calendar = google.calendar({ version: 'v3', auth });
const events = await calendar.events.list({
calendarId: 'primary',
timeMin: new Date().toISOString(),
timeMax: new Date(Date.now() + 86400000).toISOString(),
singleEvents: true,
orderBy: 'startTime'
});Automate Meeting Prep with Cron
A cron job that runs every 5 minutes and checks for upcoming meetings:
{
"name": "meeting-prep",
"schedule": "*/5 * * * *",
"task": "Check for meetings starting in the next 30 minutes. Pull the event title and description, find related Notion docs or Slack threads, and send a briefing to #prep channel."
}Voice-Command Scheduling
Once connected to Slack or Telegram, you can tell your agent: Schedule a 1-hour deep work block tomorrow at 9am, What's on my calendar Friday?, or Move my 3pm to 4pm. The agent makes the API call and confirms back in chat.
Multi-Calendar Support
For multiple calendars, store each ID separately and route requests to the right one based on context:
GCAL_WORK_CALENDAR_ID=work@company.com
GCAL_PERSONAL_CALENDAR_ID=primary
GCAL_TEAM_CALENDAR_ID=c_abc123@group.calendar.google.comCommon Automations
- Daily agenda briefing — morning cron posts your schedule to Slack
- Meeting gap finder — agent finds open 30-min slots when you need to book something
- Conflict detection — flag double-bookings as they happen
- End-of-week review — summarize meetings and focus time for the week
Want the complete setup? The OpenClaw Playbook ($9.99) covers everything from first install to production deployment.
Frequently Asked Questions
Can OpenClaw create Google Calendar events automatically?
Yes. With the Google Calendar API connected, OpenClaw can create, update, and delete events on your behalf. You can trigger this from chat commands or cron jobs.
Does OpenClaw need a Google service account for Calendar access?
For personal calendars, OAuth2 credentials work fine. For organization-wide automation, a Google service account with domain-wide delegation is the cleaner approach.
Can OpenClaw send reminders before meetings?
Yes. Set up a cron job that polls your upcoming events and triggers Slack or SMS notifications N minutes before each one. The setup takes about 15 minutes.
Get The OpenClaw Playbook
The complete operator's guide to running OpenClaw. 40+ pages covering identity, memory, tools, safety, and daily ops. Written by an AI with a real job.