To connect Apple Reminders to OpenClaw on macOS, configure OpenClaw to execute AppleScript or JXA commands that control the Reminders app directly. No API key is required — OpenClaw uses macOS automation to create tasks, set due dates and priorities, mark items complete, and manage reminder lists. This is a macOS-only integration that works with the Reminders app pre-installed on every Mac, syncing changes to iPhone and iPad via iCloud.
Why Connect Apple Reminders to OpenClaw?
Apple Reminders is deeply integrated into the Apple ecosystem — tasks sync to iPhone and iPad instantly via iCloud, reminders trigger as push notifications at the right time and place, and Siri can read and create reminders by voice. For users who live in the Apple ecosystem, Reminders is often the fastest and most accessible task manager precisely because it is always there on every device.
Connecting OpenClaw to Apple Reminders brings AI-powered task management to your native task list. You can tell OpenClaw to create a reminder with a specific due date and priority, have it scan your Reminders lists for overdue tasks and surface them in a morning briefing, or trigger reminder creation at the end of a research session to follow up on action items. OpenClaw can also mark tasks complete on your behalf after confirming an action was taken, keeping your Reminders list clean without manual triage.
The integration uses macOS AppleScript, which is the same automation framework that Apple's own Shortcuts app uses to interact with Reminders. Changes made via AppleScript are indistinguishable from changes made through the Reminders app itself — they sync to all your Apple devices and trigger notifications exactly as expected. The main constraint is that this is macOS-only: OpenClaw must be running on a Mac, though the resulting reminders will be accessible on iPhone and iPad through iCloud.
Integration method
Apple Reminders has no public REST API. OpenClaw integrates with it on macOS using osascript to run AppleScript or JXA commands that control the Reminders app natively. OpenClaw can create reminders with due dates and priorities, mark tasks complete, search existing tasks, and manage lists. Changes sync instantly to iPhone and iPad via iCloud. This integration requires macOS and Automation permission — the same scripting framework used by Apple Notes, Calendar, and other macOS apps.
Prerequisites
- A Mac running macOS 12 (Monterey) or later with the Reminders app installed and set up
- OpenClaw installed on the same Mac
- macOS Automation permissions — Terminal or OpenClaw must be allowed to control the Reminders app in System Settings > Privacy & Security > Automation
- An iCloud account logged in on the Mac if you want reminders to sync to iPhone/iPad (optional — local Reminders work without iCloud)
- No API key or Apple Developer account required
Step-by-step guide
Grant Automation Permissions for Reminders
Grant Automation Permissions for Reminders
Apple's privacy framework requires explicit permission for any app to control another app via AppleScript. Before OpenClaw can access Reminders, you need to grant Automation permission for the osascript command (or OpenClaw directly) to control the Reminders app. The permission dialog appears automatically the first time an AppleScript tries to control Reminders. To trigger it intentionally, run the test command below from Terminal — macOS will show a dialog asking 'Terminal.app would like to control Reminders.app. Allowing control will provide access to documents and data in Reminders, and to perform actions within that app.' Click OK. After approving, verify the permission appears in System Settings > Privacy & Security > Automation, with 'Reminders' checked under Terminal. If OpenClaw runs as a standalone application (not via Terminal), it will need its own permission entry, which appears automatically the first time it tries to run an AppleScript targeting Reminders. On macOS 14 (Sonoma) and later, Apple added stricter controls — if Automation permission is denied, you may also need to check System Settings > Privacy & Security > App Management.
1# Trigger the Automation permission dialog from Terminal:2osascript -e 'tell application "Reminders" to get name of every list'3# A dialog appears: 'Terminal.app would like to control Reminders.app'4# Click 'OK' to grant permission56# Verify permission was granted — should return list names:7osascript -e 'tell application "Reminders" to get name of every list'8# Expected output: {"Reminders", "Work", "Personal"} or your custom list names910# Test creating a reminder to verify full write access:11osascript -e 'tell application "Reminders" to tell list "Reminders" to make new reminder with properties {name: "OpenClaw permission test"}'12# A new reminder should appear in your default Reminders listPro tip: After granting permission, immediately delete the test reminder to keep your Reminders list clean. Run: `osascript -e 'tell application "Reminders" to delete (every reminder whose name is "OpenClaw permission test")'`
Expected result: The Automation permission dialog appears and you approve it. Subsequent osascript commands targeting Reminders run without permission errors, and list names are returned successfully.
Configure Apple Reminders Integration in OpenClaw
Configure Apple Reminders Integration in OpenClaw
Open `~/.openclaw/config.yaml` and add the Apple Reminders integration under `integrations`. The configuration specifies which Reminders list is the default target for new tasks, how to handle due dates, and the default priority level. Apple Reminders uses a numeric priority scale: 0 = none, 1 = high, 5 = medium, 9 = low. These correspond to the exclamation mark indicators in the Reminders UI (one exclamation for high, etc.). The `default_list` field is the name of the Reminders list where new tasks are created if no list is specified. This must exactly match an existing list name in your Reminders app — check the Reminders sidebar for the correct names. The `date_format` field controls how OpenClaw interprets date strings when creating reminders with due dates. ISO 8601 (`YYYY-MM-DDTHH:mm:ss`) is the most reliable format for scripted date handling in AppleScript.
1# ~/.openclaw/config.yaml2integrations:3 apple-reminders:4 default_list: "Reminders" # exact name of your default Reminders list5 default_priority: 0 # 0=none, 1=high, 5=medium, 9=low6 default_due_offset: 24 # hours from now for reminders without explicit date7 date_format: "YYYY-MM-DDTHH:mm:ss" # date format for parsing8 completed_list: "Completed" # list to move completed items to (optional)9 sync_check: true # verify iCloud sync is available on startup1011# AppleScript patterns used internally by OpenClaw:12# Create reminder with due date:13# tell application "Reminders"14# tell list "Reminders"15# make new reminder with properties {¬16# name: "Task title", ¬17# due date: date "Thursday, March 30, 2026 at 9:00 AM", ¬18# priority: 1, ¬19# body: "Task notes here"}20# end tell21# end tellPro tip: List the exact names of all your Reminders lists by running `osascript -e 'tell application "Reminders" to get name of every list'` — case matters in AppleScript. 'Work' and 'work' are treated as different lists.
Expected result: `clawhub reload` runs without errors. OpenClaw confirms the `apple-reminders` integration is active and the default list is found.
Test Creating and Managing Reminders
Test Creating and Managing Reminders
Run end-to-end tests by creating a reminder with a due date, reading it back, marking it complete, and verifying it disappears from the active list. These tests confirm that all core Reminders operations work before enabling automated workflows. AppleScript date handling in Reminders requires a specific format. OpenClaw handles date conversion internally, but understanding the underlying format helps when troubleshooting time zone issues or date parsing failures. After creating the test reminder, open the Reminders app on your Mac and confirm it appears with the correct due date. If you have iCloud sync enabled, also check on your iPhone — the reminder should appear within 5-10 seconds. Testing cross-device sync at this stage prevents surprises when automated workflows start creating reminders.
1# Test creating a reminder with due date (run in Terminal):2osascript <<'EOF'3tell application "Reminders"4 tell list "Reminders"5 set testReminder to make new reminder with properties {¬6 name: "OpenClaw integration test", ¬7 due date: (current date) + (3600), ¬ -- due in 1 hour8 priority: 1, ¬ -- high priority9 body: "This reminder was created by OpenClaw to test the integration."}10 return name of testReminder11 end tell12end tell13EOF14# Expected output: "OpenClaw integration test"1516# Test reading incomplete reminders from a list:17osascript -e 'tell application "Reminders" to tell list "Reminders" to get name of every reminder whose completed is false'1819# Test marking a reminder complete:20osascript -e 'tell application "Reminders" to set completed of (first reminder of list "Reminders" whose name is "OpenClaw integration test") to true'Pro tip: If AppleScript returns 'date' type errors when setting due dates, use `(current date) + (seconds_offset)` rather than constructing a date string — this avoids locale-specific date parsing issues in macOS.
Expected result: The test reminder appears in your Reminders app with the correct title, priority, due date, and notes. Marking it complete removes it from the active view. The reminder syncs to iPhone within seconds if iCloud is enabled.
Set Up Task Automation Workflows
Set Up Task Automation Workflows
Configure OpenClaw workflows that create and manage reminders automatically based on events. The most useful patterns are: creating follow-up reminders after research tasks, generating a morning task briefing, and accepting natural language task creation from chat. The morning briefing workflow queries all incomplete reminders across all lists, sorts them by due date, and formats a summary. OpenClaw can display this in the chat interface or, if configured, send it via email or Telegram. RapidDev recommends starting with a simple display-in-chat briefing before connecting to external notification channels — this lets you verify the task data is correct before broadcasting it. For natural language task creation, OpenClaw parses the user's input for task name, due date, and priority keywords ('urgent', 'by Friday', 'remind me at 3pm') and constructs the AppleScript command accordingly. Date parsing relies on OpenClaw's built-in natural language date processor, which handles common phrases like 'next Monday', 'in 2 hours', and 'end of month'.
1# ~/.openclaw/config.yaml — Reminders automation workflows2workflows:3 morning-briefing:4 trigger:5 type: schedule6 cron: "0 8 * * *" # 8am every day7 actions:8 - type: apple-reminders-query9 integration: apple-reminders10 filter:11 completed: false12 due_before: "{{date:now+7days}}"13 sort_by: due_date14 output: chat-message15 format: |16 ## Today's Reminders17 {{#each reminders}}18 - [{{#if overdue}}OVERDUE{{else}}{{due_date_relative}}{{/if}}] {{name}} ({{list}})19 {{/each}}2021 task-from-chat:22 trigger:23 type: chat-message24 pattern: "^(remind me|task:|todo:) (.+)"25 actions:26 - type: apple-reminders-create27 integration: apple-reminders28 name: "{{trigger.parsed.task_name}}"29 due_date: "{{trigger.parsed.due_date}}" # OpenClaw parses natural language dates30 priority: "{{trigger.parsed.priority}}"31 body: "Created by OpenClaw from chat"32 list: "{{trigger.parsed.list | default: config.default_list}}"Pro tip: For the morning briefing, test it manually first by triggering the workflow directly (not via the schedule) to verify the reminder format looks right before it starts running automatically at 8am.
Expected result: The morning briefing shows all incomplete and overdue reminders from your Reminders app. The chat-triggered task creation creates reminders with correct parsed dates and priorities.
Common use cases
Create Follow-Up Reminders from OpenClaw Research
After OpenClaw completes a research task, automatically create a reminder to follow up on the findings at a specific time. The reminder includes the research topic in the title and a link or summary in the notes field, appearing in the Reminders app and triggering a push notification on iPhone at the scheduled time.
Configure OpenClaw to create an Apple Reminders task titled 'Follow up: [research topic]' with a due date of tomorrow 9am after every research task completes
Copy this prompt to try it in OpenClaw
Morning Overdue Task Briefing
Each morning, have OpenClaw query Apple Reminders for all overdue tasks across all lists, format them into a prioritized briefing, and either display them in OpenClaw chat or send a summary notification. This surfaces tasks that were missed or deferred without requiring manual review of the Reminders app.
Build an OpenClaw workflow that runs every morning at 8am, fetches all overdue Apple Reminders, and displays them grouped by list with their original due dates
Copy this prompt to try it in OpenClaw
Voice-Commanded Task Creation from Chat
Type natural language task descriptions to OpenClaw and have it parse the task, due date, and priority, then create the reminder in the correct Apple Reminders list. OpenClaw handles date parsing ('next Tuesday', 'in 3 days', 'end of month') and maps the task to the most appropriate list based on keywords.
Set up OpenClaw to accept natural language task descriptions like 'remind me to review the contract next Friday afternoon' and create corresponding Apple Reminders with parsed due dates and times
Copy this prompt to try it in OpenClaw
Troubleshooting
Reminders are created but due dates are wrong or shown as yesterday/tomorrow
Cause: AppleScript date handling uses the Mac's local time zone. If OpenClaw is parsing dates in UTC and passing them to AppleScript, the time zone offset creates a discrepancy between the intended and actual due date.
Solution: Use relative date offsets in AppleScript (`(current date) + (seconds)`) rather than absolute date strings to avoid time zone conversion issues. OpenClaw's `apple-reminders-create` action uses relative offsets internally when `date_format` is set to `relative`.
1# Use relative offset to set due date (avoids timezone issues):2osascript <<'EOF'3tell application "Reminders"4 tell list "Reminders"5 make new reminder with properties {¬6 name: "Due tomorrow morning", ¬7 due date: ((current date) + (86400))} -- 86400 seconds = 24 hours8 end tell9end tell10EOFosascript returns 'Can't get list' or 'List not found' error
Cause: The list name in the AppleScript command or OpenClaw config does not exactly match the list name in the Reminders app, including capitalization and special characters.
Solution: Run `osascript -e 'tell application "Reminders" to get name of every list'` to get the exact list names. Update the `default_list` in `~/.openclaw/config.yaml` to use the exact name returned, including any spaces or accented characters.
1# Get exact list names:2osascript -e 'tell application "Reminders" to get name of every list'3# Use the exact output string in your config — case-sensitiveOpenClaw reminders do not sync to iPhone or iPad
Cause: The reminders are being created in an 'On My Mac' account rather than the iCloud account, so they are not included in iCloud sync.
Solution: In Reminders, check the sidebar — lists under 'iCloud' sync to other devices; lists under 'On My Mac' do not. In OpenClaw's config, verify that the `default_list` points to a list under your iCloud account. In AppleScript, target the account explicitly: `tell account "iCloud"` before `tell list "Reminders"`.
1# Target iCloud account explicitly in AppleScript:2osascript <<'EOF'3tell application "Reminders"4 tell account "iCloud"5 tell list "Reminders"6 make new reminder with properties {name: "Sync test"}7 end tell8 end tell9end tell10EOF11# Check Reminders sidebar — should appear under iCloud sectionclawhub reload shows 'apple-reminders: automation not available'
Cause: OpenClaw is running in an environment where osascript is not accessible — Docker container, WSL, or Linux/Windows system.
Solution: Apple Reminders integration requires native macOS. Verify OpenClaw is running as a native macOS process (not containerized). Run `which osascript` in the terminal where OpenClaw runs — if it returns a path like `/usr/bin/osascript`, the command is available. If not found, you are in an environment where this integration cannot work.
1# Verify osascript is available:2which osascript3# Should return: /usr/bin/osascript45# Test osascript works:6osascript -e 'return "hello from osascript"'7# Should return: hello from osascriptBest practices
- Pre-grant Automation permissions from Terminal by running a test osascript command before relying on OpenClaw to trigger the permission dialog — macOS sometimes blocks automated permission dialogs in background processes.
- Always use exact list names (case-sensitive) in your OpenClaw config and workflow definitions — AppleScript list lookups fail silently or create reminders in the wrong list when names do not match exactly.
- Target the iCloud account explicitly in AppleScript commands if you have both iCloud and 'On My Mac' accounts — this ensures all reminders sync to your iPhone and iPad as expected.
- Set reasonable default due dates for automated reminder creation — reminders with no due date never trigger push notifications, which defeats the purpose of creating them via OpenClaw.
- Use distinct list names for OpenClaw-created reminders ('OpenClaw Tasks' or 'AI Inbox') so you can review and triage them separately from reminders you create manually on iPhone.
- Test the morning briefing workflow on a day when you have several reminders with different due dates and priorities — verify the sort order and formatting before relying on it for daily task management.
- Avoid creating more than 50 reminders per day via OpenClaw automation — Reminders app performance degrades with very large lists, and frequent iCloud sync of bulk reminder creation can cause brief sync delays on iPhone.
Alternatives
Apple Notes is better for freeform note content and research logs — use it alongside Reminders when you need both task tracking and detailed notes, or when you need rich text content rather than just task titles.
Google Calendar provides time-based scheduling with cross-platform sync — use it instead of Apple Reminders if your workflow requires calendar events with attendees, video conferencing links, or non-Apple device access.
Calendly manages external booking and scheduling availability — use it when you need others to schedule time with you, rather than managing personal task reminders.
Obsidian is better for complex knowledge management and note-taking — use it instead of Apple Reminders when your workflows involve research storage, linked notes, and knowledge graphs rather than task tracking.
Frequently asked questions
How do I set up Apple Reminders in OpenClaw?
Configure `integrations.apple-reminders` in `~/.openclaw/config.yaml` with the name of your default Reminders list. First, grant Automation permission by running a test osascript command from Terminal and approving the dialog. No API key is needed — OpenClaw controls the Reminders app via macOS AppleScript. Run `clawhub reload` to apply the config.
Does OpenClaw Apple Reminders integration work on iPhone or iPad?
OpenClaw runs on Mac and uses AppleScript to control the Reminders app locally. However, any reminders created in an iCloud-backed list will sync to your iPhone and iPad within seconds via iCloud, triggering push notifications at the scheduled time. The integration requires macOS but the resulting reminders are fully cross-device.
Can OpenClaw read my existing Apple Reminders?
Yes — OpenClaw can query Apple Reminders to list incomplete tasks, filter by due date or priority, search by name, and retrieve the notes field of each reminder. This is used in workflows like the morning briefing that surfaces overdue tasks, or context-aware responses that check your task list before making scheduling suggestions.
Why are reminders being created in 'On My Mac' instead of iCloud?
The Reminders app has separate accounts for local storage ('On My Mac') and cloud sync ('iCloud'). If your `default_list` exists under 'On My Mac' rather than 'iCloud', reminders go there and will not sync to iPhone. In AppleScript, specify `tell account "iCloud"` before targeting the list, or create your default list under the iCloud account in the Reminders app.
What is the difference between Apple Reminders and Apple Notes integration in OpenClaw?
Apple Reminders manages tasks with due dates, priorities, and completion states — ideal for actionable items that need tracking and notifications. Apple Notes manages freeform text content like meeting notes, research logs, and reference material. Both use AppleScript on macOS but serve different purposes. Many users configure both integrations together: Reminders for action items and Notes for reference content.
Can RapidDev help configure complex Reminders workflows in OpenClaw?
Yes — RapidDev can help build OpenClaw workflows for Reminders including natural language task creation, automated briefings, and integrations that create reminders based on events in other tools. Contact RapidDev if you need priority-based triage, multi-list routing, or reminders that cross-reference your Apple Notes or calendar.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation