Tutorial

OpenClaw Calendar Scheduler: Automate Meeting Scheduling via Chat

Complete guide to scheduling meetings through OpenClaw with Google Calendar and Outlook integration, conflict detection, and automatic invites.

By OpenClaw Team ¡
Calendar Scheduler skill illustration with calendar cards, clock dials, and connected events.

Calendar Scheduler (#5, 860 stars) eliminates scheduling back-and-forth. Book meetings, check availability, and reschedule — all from chat. No more context switching between messaging apps and calendar tools. OpenClaw becomes your intelligent scheduling assistant, coordinating across multiple calendars, handling time zones automatically, and sending invites without ever opening a browser.

What Calendar Scheduler Does

The Calendar Scheduler skill transforms OpenClaw into a full-featured calendar management system:

  • Find available time slots across multiple calendars simultaneously
  • Create calendar events with automatic invitations to participants
  • Reschedule existing meetings with automatic notifications to all attendees
  • Handle time zones automatically when coordinating across regions
  • Support recurring meetings with flexible patterns (daily, weekly, monthly)
  • Detect scheduling conflicts and suggest alternative time slots
  • Query your schedule with natural language (“What’s on my calendar today?”)

This means you can coordinate complex meetings, manage your daily schedule, and handle last-minute changes — all without leaving your messaging app.

Supported Calendar Providers

Calendar Scheduler integrates with the major calendar platforms used in professional environments:

Google Calendar

The primary integration with the broadest feature support. Connects via Google Calendar API with OAuth 2.0 authentication. Supports all Calendar Scheduler features including recurring events, multiple calendars, and advanced conflict detection.

Outlook / Microsoft 365

Full support for Microsoft’s calendar ecosystem through Microsoft Graph API. Works with both personal Outlook.com accounts and enterprise Microsoft 365 deployments. OAuth flow similar to Google Calendar.

CalDAV Protocol

Connect to iCloud Calendar, Nextcloud, and other CalDAV-compatible services. Slightly limited features compared to Google/Outlook but covers core scheduling operations.

Provider Comparison

FeatureGoogle CalendarOutlook/M365CalDAV (iCloud)
Event CreationFull supportFull supportFull support
Recurring EventsAdvanced patternsAdvanced patternsBasic patterns
Conflict DetectionReal-timeReal-timeManual refresh
Multiple CalendarsUnlimitedUnlimitedLimited
Automatic InvitesYesYesLimited
Time Zone SupportAutomaticAutomaticManual
OAuth SecurityYesYesBasic auth

For most users, Google Calendar or Outlook provides the best experience. Choose based on which ecosystem you already use.

Google Calendar Setup (Detailed)

Setting up Google Calendar integration requires creating a Google Cloud project and configuring OAuth credentials. This sounds complex but the process takes about 10 minutes:

Step 1: Create Google Cloud Project

  1. Go to Google Cloud Console
  2. Click Select a project → New Project
  3. Name your project “OpenClaw Calendar” (or any name you prefer)
  4. Click Create and wait for the project to initialize
  5. Select your new project from the dropdown

Step 2: Enable Calendar API

  1. In the Cloud Console, navigate to APIs & Services → Library
  2. Search for “Google Calendar API”
  3. Click on “Google Calendar API” in the results
  4. Click Enable button
  5. Wait for the API to activate (usually instant)

Before creating credentials, you must configure the consent screen:

  1. Go to APIs & Services → OAuth consent screen
  2. Choose External user type (unless you have Google Workspace)
  3. Click Create
  4. Fill in required fields:
    • App name: “OpenClaw Calendar Access”
    • User support email: Your email address
    • Developer contact: Your email address
  5. Click Save and Continue
  6. On the Scopes page, click Add or Remove Scopes
  7. Search for and add these scopes:
    • .../auth/calendar.readonly
    • .../auth/calendar.events
  8. Click Update → Save and Continue
  9. Add yourself as a test user (your Gmail address)
  10. Click Save and Continue → Back to Dashboard

Step 4: Create OAuth 2.0 Credentials

  1. Navigate to APIs & Services → Credentials
  2. Click Create Credentials → OAuth client ID
  3. Select application type: Desktop app
  4. Name it: “OpenClaw Desktop Client”
  5. Click Create
  6. A popup shows your Client ID and Client Secret
  7. Click Download JSON to save the credentials file

Step 5: Configure OpenClaw OAuth Flow

Now connect OpenClaw to your Google Calendar:

# Install the Calendar Scheduler skill
openclaw config set skills.calendar true

# Run the Google Calendar setup wizard
openclaw setup google-calendar

The setup wizard will:

  1. Ask you to paste your Client ID and Client Secret (from the JSON file)
  2. Open your browser for OAuth authorization
  3. Show Google’s permission screen
  4. Ask you to allow calendar access
  5. Redirect back with a success message

If you downloaded the JSON credentials file, you can also point OpenClaw directly to it:

openclaw setup google-calendar --credentials ~/Downloads/client_secret_*.json

Step 6: Test the Connection

Verify everything works:

openclaw calendar test

You should see a response like:

✓ Google Calendar connected
✓ Found 3 calendars: Work, Personal, Family
✓ Read permission: OK
✓ Write permission: OK

Now send a test message to OpenClaw via your messaging app:

What's on my calendar tomorrow?

If you receive a list of your events, the integration is working correctly.

Outlook Setup (Brief)

Microsoft 365 and Outlook.com follow a similar OAuth flow:

Microsoft Graph API Setup

  1. Go to Azure Portal
  2. Navigate to Azure Active Directory → App registrations
  3. Click New registration
  4. Name: “OpenClaw Calendar”
  5. Supported account types: Choose based on your scenario
  6. Redirect URI: http://localhost:3000/callback
  7. Click Register
  8. Note the Application (client) ID
  9. Go to Certificates & secrets → New client secret
  10. Copy the secret value immediately (it won’t show again)
  11. Go to API permissions → Add a permission
  12. Choose Microsoft Graph → Delegated permissions
  13. Add: Calendars.ReadWrite, Calendars.ReadWrite.Shared
  14. Click Grant admin consent (if you have admin rights)

OpenClaw Configuration

openclaw setup microsoft-calendar

Paste your Application ID and Client Secret when prompted. The OAuth flow will open your browser to authorize the connection.

Differences from Google Calendar

Outlook integration behaves slightly differently:

  • Calendar selection: The “primary” calendar is your default Outlook calendar
  • Meeting types: Supports Teams meetings if you have Microsoft Teams
  • Availability: Can check free/busy status across your organization
  • Categories: Uses Outlook categories instead of Google Calendar colors

Configuration Options

Customize Calendar Scheduler behavior in your ~/.openclaw/config.yaml:

skills:
  calendar:
    # Calendar provider
    provider: google  # or 'microsoft', 'caldav'

    # Default meeting duration (minutes)
    default_duration: 30

    # Time zone handling
    timezone: auto  # or specify like 'America/New_York'

    # Working hours preferences
    working_hours:
      start: "09:00"
      end: "17:00"
      days: ["mon", "tue", "wed", "thu", "fri"]

    # Buffer time between meetings (minutes)
    buffer_time: 10

    # Default calendar for new events
    default_calendar: "Work"

    # Enable conflict warnings
    warn_conflicts: true

    # Recurring meeting defaults
    recurring:
      default_end_date: "+3 months"

    # Meeting preferences
    preferences:
      # Always add video conferencing link
      add_video_link: true
      # Default visibility
      visibility: "default"  # or 'public', 'private'
      # Send email invites
      send_invites: true

Apply changes:

openclaw config reload

Common Customizations

Extend working hours for night owls:

working_hours:
  start: "11:00"
  end: "19:00"

Reduce meeting buffer for packed schedules:

buffer_time: 5

Default to 60-minute meetings:

default_duration: 60

Natural Language Commands

Calendar Scheduler understands conversational requests. Here are real-world examples:

Finding Available Time

"Find a 30-minute slot with Alice next week"

OpenClaw will:

  1. Check your calendar next week
  2. Check Alice’s calendar (if shared)
  3. Find overlapping free time
  4. Respect working hours
  5. Account for buffer time
  6. Suggest 3-5 options
"When am I free tomorrow afternoon?"

Response shows all open slots between 12pm and 5pm.

Creating Events

"Schedule a team standup for Monday at 9am"

OpenClaw creates a calendar event, adds it to your default calendar, and confirms the booking.

"Book a 1-hour meeting with Sarah and Tom on Friday at 2pm about the Q1 review"

Creates the event with:

  • Title: “Q1 review”
  • Duration: 60 minutes
  • Attendees: Sarah, Tom, and you
  • Date/time: This Friday at 2pm
  • Calendar invites sent to all participants

Recurring Meetings

"Schedule a recurring standup every Monday at 9am"

OpenClaw asks: “For how long?” (or uses the default 3 months from config).

"Create a weekly 1-on-1 with Jamie every Thursday at 3pm for the next 6 months"

Sets up 26 recurring events with proper invitation handling.

Rescheduling

"Reschedule my 3pm to Friday and notify attendees"

OpenClaw:

  1. Finds your 3pm meeting today
  2. Checks if Friday 3pm is available
  3. Updates the event
  4. Sends update notifications to all attendees
"Move tomorrow's standup to 10am instead of 9am"

Updates the event and notifies the team.

Checking Your Schedule

"What's on my calendar today?"

Lists all events with times, titles, and attendees.

"Do I have any meetings this Friday afternoon?"

Shows only meetings between 12pm-5pm on Friday.

"What does my week look like?"

Provides a day-by-day summary of the upcoming week.

Canceling Events

"Cancel all meetings tomorrow afternoon"

OpenClaw finds all events after 12pm tomorrow and asks for confirmation before canceling.

"Cancel my 4pm meeting and notify everyone"

Deletes the event and sends cancellation notices to attendees.

Multi-Calendar Management

Most professionals juggle multiple calendars: personal, work, shared team calendars, and more. Calendar Scheduler handles this complexity gracefully.

Personal vs Work Calendars

Configure which calendar to use by default:

default_calendar: "Work"

Override per request:

"Schedule a dentist appointment on my personal calendar for Tuesday at 2pm"

Or:

"Add team retro to the Engineering calendar on Friday at 4pm"

Checking Across Multiple Calendars

When searching for availability, OpenClaw checks all connected calendars by default:

"Am I free Wednesday at 3pm?"

This checks:

  • Your work calendar
  • Your personal calendar
  • Any shared calendars you’ve added

To limit the search:

"Check only my work calendar for availability next week"

Setting Default Calendars for Event Types

You can create smart rules:

calendar_rules:
  - pattern: "dentist|doctor|personal"
    calendar: "Personal"
  - pattern: "standup|retro|sprint"
    calendar: "Work"
  - pattern: "interview"
    calendar: "Recruiting"

Now OpenClaw automatically chooses the right calendar based on event content.

Time Zone Handling

Global teams face time zone complexity daily. Calendar Scheduler eliminates the mental math.

Automatic Time Zone Detection

By default, OpenClaw uses your system time zone:

timezone: auto

All events display in your local time, and OpenClaw converts automatically when coordinating with others.

Cross-Timezone Meeting Scheduling

When scheduling with someone in a different time zone:

"Schedule a call with Alex (London) at 9am their time"

OpenClaw:

  1. Determines London = UTC+0 or UTC+1 (depending on DST)
  2. Converts 9am London time to your time zone
  3. Creates the event with proper time zone metadata
  4. Shows both participants the correct local time

If you’re in New York (EST), OpenClaw shows “9am GMT (4am EST)” and asks for confirmation.

Meeting Time Display Preferences

Configure how times display:

time_display:
  show_timezone: true
  format_24h: false

Example output:

Meeting: Q1 Planning
When: Thursday, Feb 27 at 2:00 PM EST (7:00 PM GMT)

Handling Daylight Saving Time

OpenClaw respects DST transitions. If you schedule a recurring meeting that spans a DST change, it maintains the “clock time” for each participant:

"Weekly sync every Tuesday at 10am starting March 1"

After DST kicks in (March 9 in US), the meeting stays at 10am for everyone, even though the UTC offset changed.

Conflict Detection & Resolution

Double-bookings waste time and damage credibility. Calendar Scheduler watches for conflicts and helps you resolve them.

Automatic Conflict Warnings

When you try to schedule over an existing event:

"Book a meeting with Diana tomorrow at 2pm"

If you already have something at 2pm, OpenClaw warns:

⚠️ Conflict detected:
You already have "Product Review" at 2:00 PM - 3:00 PM

Options:
1. Schedule anyway (double-book)
2. Find an alternative time
3. Reschedule existing meeting

Suggesting Alternative Times

Choose option 2 and OpenClaw searches for nearby availability:

Alternative slots tomorrow:
• 11:00 AM - 12:00 PM
• 1:00 PM - 2:00 PM
• 3:30 PM - 4:30 PM

Which slot works best?

Pick one and OpenClaw books it immediately.

Handling Double-Bookings Intentionally

Sometimes you need overlapping events (e.g., optional meetings where you’ll attend one):

"Schedule both meetings at 3pm, mark them as optional"

Or:

"I know there's a conflict, book it anyway"

OpenClaw respects your choice and creates the event.

Conflict Tolerance Settings

Configure how strict conflict checking should be:

conflict_handling:
  # Warn for overlaps of any duration
  strict: true

  # Ignore conflicts shorter than X minutes
  ignore_under: 0

  # Allow intentional double-booking
  allow_override: true

For executives with back-to-back meetings and some flexibility:

conflict_handling:
  strict: false
  ignore_under: 15  # Ignore if overlap is under 15 min

This accounts for meetings that might end early or start late.

FAQ

Can I schedule meetings with people who don’t use OpenClaw?

Absolutely. Calendar Scheduler works with standard calendar protocols. When you create a meeting with attendees:

"Schedule a product review with john@example.com and sarah@company.com on Wednesday at 3pm"

OpenClaw sends standard calendar invitations via email. Your attendees receive normal .ics invite files that work with any calendar app (Apple Calendar, Outlook, Google Calendar, etc.). They can accept, decline, or propose new times just like any other meeting invitation.

The only requirement is that you have calendar access (via OAuth) to send invites on your behalf.

Yes. When creating a meeting, specify the video conferencing provider:

"Schedule a Zoom call with the team on Friday at 10am"

If you have Zoom integration configured, OpenClaw automatically:

  1. Creates a new Zoom meeting
  2. Adds the Zoom link to the calendar event
  3. Includes dial-in numbers in the description

For Google Meet:

"Create a Google Meet with Alice tomorrow at 2pm"

Google Calendar events can have a “Add Google Meet” option that OpenClaw triggers automatically if configured:

calendar:
  google:
    auto_add_meet: true

For Microsoft Teams meetings via Outlook integration:

calendar:
  microsoft:
    auto_add_teams: true

You can also paste a meeting link manually:

"Schedule a standup Monday 9am with this Zoom link: https://zoom.us/j/123456789"

How are calendar permissions handled?

Calendar Scheduler uses OAuth 2.0, the industry-standard secure authorization framework. Here’s what happens:

During setup, you grant OpenClaw permission to:

  • Read your calendar events
  • Create, modify, and delete events
  • Send invitations on your behalf

What OpenClaw can do:

  • Access only the scopes you approved (calendar data, nothing else)
  • Operate only while you’re running the OpenClaw gateway
  • Use credentials stored locally on your machine

What OpenClaw cannot do:

  • Access your emails, files, or other Google/Microsoft services
  • Operate when your computer is off
  • Share your credentials with third parties
  • Access anyone else’s calendar without shared access

Shared calendars: If someone shares their calendar with you (view or edit rights), OpenClaw can see those calendars too and schedule on them if you have edit permissions.

Revoking access: You can revoke OpenClaw’s access anytime:

After revocation, OpenClaw can no longer access your calendar until you re-authorize.

Security best practices:

  • Don’t share your OAuth tokens with anyone
  • Run OpenClaw only on trusted computers
  • Use encrypted storage for your OpenClaw config directory
  • Review active OAuth grants periodically

Next Steps

Calendar Scheduler becomes even more powerful when combined with other OpenClaw skills:

Task Tracker — Sync action items from meetings into your task list automatically. After a meeting ends, ask OpenClaw: “Extract tasks from today’s Q1 planning meeting and add them to my task tracker.”

Notion Sync — Archive meeting notes to Notion. During or after a meeting: “Save these notes to Notion under the Sales Meeting Notes database.”

Linear Integration — Convert meeting decisions into Linear issues. “Create a Linear issue for the API refactor we discussed in today’s standup.”

Morning Manifesto — Start your day with a calendar briefing: “Run my morning manifesto” pulls today’s meetings and prompts you to set priorities around them.

Todoist Integration — Pre-meeting preparation reminders: “Add a task in Todoist to review the Q1 deck 30 minutes before tomorrow’s investor meeting.”

Slack/Discord Integration — Post meeting summaries to team channels: “Summarize today’s standup and post it to #engineering on Slack.”

With Calendar Scheduler, you transform OpenClaw from a chatbot into a fully-functional personal assistant that keeps your schedule organized, prevents conflicts, and ensures you never miss an important meeting — all through natural conversation in your favorite messaging app.


Ready to install? Run openclaw config set skills.calendar true and then openclaw setup google-calendar to get started. Join the OpenClaw Discord if you need help with setup or want to share your calendar automation workflows.

Ready to Get Started?

Install OpenClaw and build your own AI assistant today.

Related Articles