Is Reminders App Linkable?

I just want to share a script which syncs due reminders to the Calendar app and it also links back to the original reminder. So it contains a way to link to specific reminders.

This undocumented x-apple-reminderkit://REMCDReminder/${UUID} URL scheme works on the latest version of iOS and macOS. The ${UUID} part can be found via AppleScript.

use AppleScript version "2.4" -- Yosemite (10.10) or later
use scripting additions

property calendarName : "Reminders" -- This is the name of your calendar

tell application "Calendar"
	set calendarElement to calendar calendarName
	tell calendar calendarName
		set theEvents to every event
		repeat with currentEvent in theEvents
			delete currentEvent
		end repeat
	end tell
end tell

tell application "Reminders"
	set theReminders to every reminder whose completed is false and (due date > (current date) or due date < (current date)) and (name of container is not "Reminders")
	repeat with theReminder in theReminders
		set theName to name of theReminder
		set theBody to body of theReminder
		set theDueDate to due date of theReminder
		set theURL to the id of theReminder
		set theURL to do shell script "echo \"" & theURL & "\"|sed 's/x-apple-reminder:\\/\\//x-apple-reminderkit:\\/\\/REMCDReminder\\//g'"
		
		tell application "Calendar"
			tell calendarElement
				if not (exists (first event whose (start date = theDueDate) and (summary = theName))) then
					set theEvent to make new event with properties ¬
						{summary:theName, start date:theDueDate, end date:theDueDate, url:theURL, allday event:true} at calendarElement
				end if
			end tell
		end tell
	end repeat
end tell

The only problem remaining for Hook right now that there no scripting API that I’m aware of to get the currently selected reminder.

2 Likes