Skills & Plugins Productivity Skills Apple Calendar macOS

OpenClaw Apple Calendar: AI-Powered Scheduling for Mac Users

Connect OpenClaw to Apple Calendar via EventKit or CalDAV and get full AI-driven scheduling that syncs across every Apple device. This guide covers both local and iCloud setups with every config option explained.

RN
R. Nakamura
Skills & Automation Specialist · aiagentsguides.com
Feb 11, 2025 14 min read 7.8k views
Updated Mar 1, 2025
Key Takeaways
  • Two connection modes: EventKit (local macOS only) and CalDAV (works remotely via iCloud).
  • macOS requires explicit privacy permission — without it, the skill returns empty data silently.
  • iCloud CalDAV needs an app-specific password, not your Apple ID password.
  • Events, reminders, and attendees are all supported across all connected Apple devices.
  • As of early 2025, the skill handles Handoff-compatible events that appear across macOS, iOS, and watchOS.

Apple Calendar is the calendar most Mac users actually keep up to date — because it's built in, syncs instantly, and connects to every Apple device they own. That makes it the highest-value target for scheduling automation. Get OpenClaw talking to it, and you've automated the calendar that actually runs your day.

EventKit vs CalDAV — Which Mode Should You Use?

The OpenClaw Apple Calendar skill offers two fundamentally different connection modes. Choosing the wrong one causes hours of debugging. Here's what each does:

EventKit mode uses macOS's native calendar framework. It reads and writes events directly on your Mac, with no network calls to iCloud — the OS handles sync automatically. Fast, private, and simple. Limitation: OpenClaw must run on the same Mac. No remote server setups.

CalDAV mode connects directly to iCloud's calendar server using the standard CalDAV protocol. Works from any machine where OpenClaw runs — a Linux server, a VPS, or a Docker container. Requires an app-specific password. Slightly more setup, significantly more flexible.

The mistake most people make is starting with CalDAV when EventKit would work fine. If you're running OpenClaw on your Mac and just want AI-assisted scheduling, use EventKit. Save yourself the iCloud credential setup.

💡
Start With EventKit

If OpenClaw runs on your Mac, EventKit is faster and simpler. Switch to CalDAV only if you need remote access or run OpenClaw on a server.

Install the Apple Calendar Skill

# Install the Apple Calendar skill
openclaw skills install apple-calendar

# Confirm it's available
openclaw skills list | grep apple-calendar
# → apple-calendar  v1.1.4  productivity  enabled

On macOS, the install also registers a background helper that manages EventKit permissions. Don't skip the post-install step it prompts you to run.

Grant macOS Privacy Permissions

This is the step that trips up 80% of first-time setups. macOS requires explicit calendar access permission for every app. OpenClaw is no different.

Step 01
Open System Settings

Go to Apple menu → System Settings → Privacy & Security → Calendars. You'll see a list of apps that have requested access.

Step 02
Enable OpenClaw Access

Toggle the switch next to OpenClaw (or the openclaw CLI, depending on your install method) to the On position. If OpenClaw isn't listed, run a skill test command first to trigger the permission request dialog.

Step 03
Trigger Permission Request

If OpenClaw doesn't appear in the list, run openclaw skills test apple-calendar from Terminal. macOS will display a permission dialog. Click Allow. Then check System Settings again — it should now be listed.

⚠️
Silent Failure Without Permission

If calendar permission is denied or not granted, EventKit mode returns empty event lists with no error. The skill appears to work but returns nothing. Always verify permission is on before debugging anything else.

iCloud CalDAV Setup

For CalDAV mode, you need an app-specific password from Apple. Your regular Apple ID password is deliberately blocked from CalDAV access.

# Generate app-specific password at appleid.apple.com
# Under Security → App-Specific Passwords → Generate

# Configure CalDAV in OpenClaw
openclaw skills configure apple-calendar \
  --mode caldav \
  --caldav-url "https://caldav.icloud.com" \
  --username "your@icloud.com" \
  --password-env APPLE_CALDAV_PASSWORD

# Set the env variable (never hardcode passwords)
export APPLE_CALDAV_PASSWORD="xxxx-xxxx-xxxx-xxxx"

# Test the connection
openclaw skills test apple-calendar
# → Connected. Found 4 calendars: Personal, Work, Family, Holidays

Configuration Reference

# ~/.openclaw/skills/apple-calendar/config.yaml
apple_calendar:
  mode: "eventkit"                    # eventkit | caldav
  caldav:
    url: "https://caldav.icloud.com"
    username: "your@icloud.com"
    password: "${APPLE_CALDAV_PASSWORD}"
  default_calendar: "Personal"       # calendar name (not ID)
  calendars:
    - name: "Personal"
      write: true
    - name: "Work"
      write: true
    - name: "Family"
      write: false
  timezone: "America/Los_Angeles"
  create_reminders: true
  default_alert_minutes: 15
  conflict_action: "prompt"

Real Automation Examples

Example 1: Voice-to-Calendar

Tell your OpenClaw agent "block tomorrow morning for deep work, 9 to noon, no interruptions." The agent creates the event, sets it as busy, and adds a reminder 10 minutes before. No app switching. No typing dates and times.

Example 2: Deadline Tracker

Your agent monitors a shared Notion database. When a new task is added with a due date, it creates a calendar event three days before the deadline labeled "Start: [task name]" and another on the actual due date. Your calendar becomes a live project tracker automatically.

Example 3: Weekly Time Blocking

Every Sunday at 8 PM, the agent reviews next week's meetings, calculates available deep work windows, and fills them with focus blocks. It adapts to changes — if a meeting moves, the focus blocks rebalance automatically.

💡
Pair With Reminders

Enable create_reminders: true to have the agent also add entries to the Apple Reminders app. This gives you task-style notifications alongside calendar events — particularly useful for deadline tracking.

Common Mistakes

Using the wrong calendar name. Apple Calendar uses display names, not IDs. If your calendar is named "Work Calendar" in the app, use exactly that string in the config. Case matters.

Running EventKit from a server. EventKit calls fail completely when OpenClaw isn't on a Mac with the Calendar app installed. The error message isn't always obvious. If you see EventKit errors on a Linux host, switch to CalDAV mode.

Not rotating app-specific passwords. Apple app-specific passwords don't expire automatically, but if you revoke and regenerate your Apple ID credentials, any existing app passwords stop working. Update the environment variable and test immediately after any Apple ID security change.

Frequently Asked Questions

Does the OpenClaw Apple Calendar skill work on iOS?

The skill connects to iCloud Calendar via CalDAV, so events sync to all Apple devices including iPhone and iPad automatically. The skill itself runs on your Mac or server, but calendar changes propagate instantly across your Apple ecosystem.

Can OpenClaw access iCloud-synced calendars?

Yes. Using the CalDAV connector, OpenClaw authenticates with iCloud and can read and write events across any calendar synced there. You need an app-specific password from Apple ID settings — your main Apple ID password won't work.

What is the difference between EventKit and CalDAV mode?

EventKit mode works directly on macOS without additional auth setup but requires the skill to run locally on your Mac. CalDAV mode connects to iCloud remotely, useful if OpenClaw runs on a server. EventKit is faster for local setups.

Does OpenClaw Apple Calendar support reminders?

Yes. The skill can create reminders alongside calendar events. Reminders sync to the Apple Reminders app. Specify reminder timing in your agent instructions — for example, '15 minutes before' or 'on the day of at 8 AM'.

How do I give OpenClaw calendar access on macOS?

macOS requires explicit privacy permission. Go to System Settings → Privacy & Security → Calendars and toggle OpenClaw on. Without this permission, the EventKit connector returns empty results with no error message, which is confusing.

Can I use this skill without an iCloud account?

Yes. If your calendars are local or synced via Google or Exchange, use CalDAV mode with those server URLs. The skill is not locked to iCloud — any CalDAV-compatible calendar server works including Nextcloud and Fastmail.

RN
R. Nakamura
Skills & Automation Specialist · aiagentsguides.com

R. Nakamura covers Apple ecosystem integrations for OpenClaw. He runs a fully automated scheduling setup across macOS, iOS, and iPadOS, and has debugged more EventKit permission issues than he cares to count.

Get new guides every week.

Join 50,000 AI agent builders. No spam, ever.