Can you create a calendar appointment from an email in Mail?

In Outlook you can use an email as a reminder to follow up with a particular contact or on a particular project by selecting the email and clicking on New Meeting.

This will automatically open a new appointment in the Calendar with the subject of the email as the meeting subject and the body of the email in the notes, for ease of reference.

You have to click 'Cancel Meeting' to remove the names of those included on the email so that you're just saving a calendar appointment, but the calendar will then alert you at the time you've selected so you remember to do the follow up.

I know that you can drag and drop an email into Reminders from Mail but that's splitting the task across two programmes and not as streamlined as the Outlook functionality.

Any ideas? Or can Apple make a functionality tweak? If Calendar and Mail are interlinked (and they must be because you can create events from emails received with dates / times in them) AND if you can do this between Mail and Reminders, surely it's only a small step... ?

2 Answers from the Community

  • This can be accomplished through Automator. If you open Automator and create a new Service file, you can add a service that will create a calendar event either from Mail or any application. The text this script receives is the highlighted text. In the case you have Mail open and have a message selected when you run this, it will create a new calendar appointment with the subject, from and to information in the calendar event.

    Add an AppleScript step to the Automator workflow, and insert this text, replacing the calendar name to the name of the calendar you want to create.

    After saving this automator workflow as "Create a new calendar event", you can find this action in mail under Mail -> Services -> "Create a new calendar event"

    on run {input, parameters}
    set theCalendar to [replacewithyourcalendarname]
    set Subject to (input as text)
    set theStartDate to (current date)
    set hours of theStartDate to 15
    set minutes of theStartDate to 0
    set seconds of theStartDate to 0
    set theEndDate to theStartDate + (1 * hours)

    tell application "Calendar"
    tell calendar theCalendar
    make new event with properties {summary:Subject, start date:theStartDate, end date:theEndDate}
    end tell
    end tell

    return input
    end run

    • Answered by Brent L from Oklahoma City
    • Dec 27, 2017
  • Drag & drop the message from Mail into Calendar or Reminders. That's it.

    • Answered by Guy K from Tienen
    • May 5, 2017