The AppleScript Dictionary for macOS Calendar 10.0 (High Sierra) appears to have no API for addressing specific accounts.

For example…

set myCalendar to make new calendar with properties {name:"New Girl"}

…creates a calendar "On My Mac." There seems to be no way to create a calendar in an iCloud or other calDAV account.

Have I had insufficient caffeine, or is the answer just plain "No"?


You could use GUI scripting like this...

tell application "System Events"
    click menu item "iCloud" of menu 1 of menu item ¬
        "New Calendar " of menu 1 of menu bar item ¬
        "File" of menu bar 1 of application process "Calendar"
end tell

But one of the problems with this solution is you cannot set the properties of the calendar. The new calendar will be named "Untitled"

| improve this answer | |
  • Thanks, but for various reasons, GUI scripting is not an option. – Bryan Feb 4 '18 at 20:23
  • @wch1zpink, you would get the last calendar whose name is "Untitled" then set the properties of the result to {name:"New Name", description:"Some text"}. The changes do take effect but, weirdly, aren't seen until you view the calendar's info. A quick Cmd-I and Return via System Events is enough to get the updates reflected. – CJK Feb 6 '18 at 9:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .