Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Outlook mac 2011 - Move to folder Shortcut Action (Automator Workflow)
Original code from
Adapted 2013 by Paul Porzky
on run {}
tell application "Microsoft Outlook"
-- listSelectedItems : a list of all items selected in Entourage
set listMessages to current messages
-- Check to make sure items are selected, if not then quit
if ((count of listMessages) < 1) then return
-- Iterate through selected items
repeat with objInSelection in listMessages
set listFolders to mail folders
repeat with objFolder in listFolders
if (name of objFolder is "follow-up") then
set gtdFolder to objFolder
end if
end repeat
if (class of account of objInSelection is not imap account) then
-- IMAP currently not supported
move objInSelection to gtdFolder
end if
end repeat
end tell
end run

I keep getting a "Syntax Error" when trying to compile: "Expected end of line, etc. but found identifier." Does for lines 11, 19 & 21. The script used to work, not sure why it won't anymore.


papoms commented Jul 2, 2014

i tried it again on 10.9.3 and it works just as expected. Are you sure you made no mistakes while copy and pasting?
Try downloading the script via

stomgb commented Aug 27, 2014

Also got errors on the script above.

Here's a script that worked for me:

 Original code from

tell application "Microsoft Outlook"

    (* set account *)
    set thisAccount to exchange account "NAME_OF_OUTLOOK_ACCOUNT" -- e.g "Tom", "Work", "Your-Company-Name"
    set thisFolders to mail folder of thisAccount

    (*  find the particular folder I want to put all the messages in.
        the idea in this script is that you might want to move the emails to a subfolder of some root folder.
        in the example below, "Archived" is a subfolder of "Processed email". 
        if "Archived" is not a subfolder then just move the message to "thisRoot" directly (see comments inline)

    repeat with theFolder in thisFolders
        if name of theFolder is "Processed email" then  -- change name to "Archived" if "Archived" is not a sub folder
            set thisRoot to theFolder
        end if
    end repeat

    set destFolder to folder "Archived" of thisRoot  -- comment this line out if "Archived" is not a sub folder
    set currMsgs to current messages

    (* move all the messages *)

    repeat with theMessage in currMsgs
        move theMessage to destFolder  -- replace with line below if "Archived" is not a sub folder
        -- move theMessage to thisRoot  
    end repeat
end tell
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment