In my constant state of trying to make things a bit more efficient for myself. (I'm a big believer in automation, ask anyone that has ever worked with me.) We have computers! Make the computers do work instead of us manually doing things on the computer.
using terms from application "Mail"
on perform mail action with messages selectedMessages
try
log "Starting script execution"
tell application "Reminders"
repeat with theMessage in selectedMessages
try
tell application "Mail"
-- Fetch subject and message ID
set emailSubject to subject of theMessage
set messageID to message id of theMessage
-- Mark email as read
set read status of theMessage to true
-- Change email color to blue
set background color of theMessage to blue
end tell
-- Log values for debugging
log "Email Subject: " & emailSubject
log "Message ID: " & messageID
-- Construct reminder properties
set reminderText to emailSubject
set emailLink to "message://%3C" & messageID & "%3E"
set reminderNotes to "Link to the email: " & emailLink
-- Create reminder in default list
tell list "Reminders" -- Change "Reminders" to your desired list name
make new reminder with properties {name:reminderText, body:reminderNotes}
end tell
on error errMsg
log "Error processing message: " & errMsg
end try
end repeat
end tell
on error errMsg
log "Script execution error: " & errMsg
end try
log "Script finished execution"
end perform mail action with messages
end using terms from
You need to change the "list" (see "tell list") you want the reminder to go into.
This will take an email, mark it as read, change the background color of the email to blue, create the reminder, and then exit.
You can't put the "message://" link in the URL field directly with AppleScript, as there is no method within the AppleScript reminders dictionary to access "URL". Shortcuts.app can, but AppleScript can't. (I know, right?)
But I have a Shortcut that I execute from the end of this AppleScript that moves it for me. You can execute the shortcut from the AppleScript by putting this after the last "end tell”.
do shell script "shortcuts run \"URL Mover for Reminders message\""
log "Shortcut executed successfully"
There's the shortcut. It'll handle both "message://" and "<message:" links (the latter created by OmniFocus if you moved from OmniFocus to Reminders).
Please leave comments below.
The post Auto Creating Reminders from Email Messages appeared first on Security Boulevard.
Joel Esler
Source: Security Boulevard
Source Link: https://securityboulevard.com/2024/12/auto-creating-reminders-from-email-messages/