Back to Mobile View

Skip to Content

TUAW Deals

Triggering AppleScripts from Calendar Alerts in Mountain Lion

Triggering AppleScripts from Calendar Alerts in Mountain LionAppleScripts are great tools for increasing your daily productivity. They're even better when they can be set to run unattended, at night, on weekends or during downtime. In Lion, iCal included a handy option for attaching a script to a calendar event. Just create an event, add a Run Script alarm, point it to the desired script and you're good to go. Things changed in Mountain Lion, though. Presumably for security reasons, the Run Script alarm option was removed from the Calendar app. Despite its removal, however, there are still some ways you can trigger scripts from Calendar events.

Triggering AppleScripts from Calendar Alerts in Mountain Lion

iCal event alarm choices in OS X 10.7 Lion

Triggering AppleScripts from Calendar Alerts in Mountain Lion

Calendar event alarm choices in OS X 10.8 Mountain Lion

Use Automator to Trigger Your AppleScript

Although Apple removed the Run Script alarm option in the Calendar app, Automator's ability to save Calendar Alarm workflows wasn't removed. And, since Automator workflows can trigger AppleScripts, they offer a quick and easy workaround for scheduling scripts. Start by launching Automator and creating a new Calendar Alarm workflow.

Triggering AppleScripts from Calendar Alerts in Mountain Lion

To schedule an Automator workflow, choose the Calendar Alarm template.

To Trigger an AppleScript App

If your script is an app, you just need to set the workflow to launch it. Add the Launch Application action to the workflow. From the application popup menu, choose Other... and navigate to your saved AppleScript app.

Triggering AppleScripts from Calendar Alerts in Mountain Lion

The Launch Application action can be used to launch an AppleScript app.

To Trigger AppleScript Code

If you'd rather not create an app (an app + your Automator workflow means more files to manage), you can embed compiled AppleScript code right within your workflow. Find the Run AppleScript action and drag it to the workflow. Then, insert the desired script code into the action.

Triggering AppleScripts from Calendar Alerts in Mountain Lion

The Run AppleScript action can be set to run code embedded in your Automator workflow.

To Schedule the Script

Once you've got your workflow configured, go ahead and save it. Automator automatically adds it to an Automator calendar (which is created if it doesn't exist yet) in the Calendars app. An Open File alarm is added to the event and set to run the workflow. Now, adjust the start date of the event as needed, put it on a repeating schedule, etc.

Triggering AppleScripts from Calendar Alerts in Mountain Lion

Open File alarms are used to trigger Automator Calendar Alarm workflows.

Use AppleScript to Create a Scheduled Event

If you create an event in the Calendars app and add an Open File alarm, you should find that you're unable to select a saved AppleScript app. You can select a compiled AppleScript file, but this is essentially useless because when the event triggers, the Open File alarm simply causes the compiled script to open in AppleScript editor. Not what you need. What you really need is to open a saved script app. AppleScript to the rescue. To work around the limitation, just run the following script. It asks you to select a saved AppleScript app. It then creates an event at the current date and time on an AppleScripts calendar, which it creates if it doesn't exist already. The script then adds an Open File alarm to the newly created event and sets it to open your selected script app. Yep, that's right. Although you can't manually set an event to open a saved AppleScript app, you can script the process.

NOTE: You can download the complete script below here.

So, there you go. A number of workarounds for triggering scripts from Calendar events in Mountain Lion. So, schedule away! Happy Scripting!

© 2014 AOL Inc. All Rights Reserved.