So you are looking for a "Where my name is not in the To, or Cc fields" rule, but it's the one rule they don't have in the wizard. I hope I have that right.
I don't know of any such addins, however it is possible to roll your own. This MSDN article shows how to access Outlook 2007 and build an addin.
Or you could do this in VBA macros, actually... here this one I wrote will do what you want, just configure the constants to your liking. In Outlook open the macro editor (Alt+F11), and paste this into the ThisOutlookSession module. Unless you added macros there before, it should be empty.
You will need to enable macros, if not already, via the menu Tools -> Macros -> Security. If set on 'Warnings for all macros' then you will be prompted each time you open Outlook, which is fine. Re-open Outlook after saving the macro.
'# [Outlook VBA custom mail mover by keyboardMonkey]
'# Checks new email if YOUR_NAME does not appear in the TO or CC list.
'# moves the message to DESTINATION_FOLDER.
'# Note: DESTINATION_FOLDER must be a child of the Inbox node, not a sibling.
Const YOUR_NAME As String = "Wesley"
Const DESTINATION_FOLDER As String = "testfolder"
'// hook into the outlook items events
Public WithEvents myOlItems As Outlook.Items
Public Sub Application_Startup()
' get the inbox item collection
Set myOlItems = Outlook.Session.GetDefaultFolder(olFolderInbox).Items
'// called on mail item add
Private Sub myOlItems_ItemAdd(ByVal Item As Object)
If TypeName(Item) = "MailItem" Then
' get strongly typed object
Dim mymail As MailItem
Set mymail = Item
' flags if our name appears in each of the fields
Dim name_in_to As Boolean
Dim name_in_cc As Boolean
name_in_to = InStrB(1, mymail.To, YOUR_NAME) > 0
name_in_cc = InStrB(1, mymail.CC, YOUR_NAME) > 0
'#Uncomment below to show mail item details
' MsgBox (mymail.Subject + " has me in TO: " + Str(name_in_to) + " and CC: " + Str(name_in_cc))
' are we mentioned in the header?
If (Not name_in_to And Not name_in_cc) Then
' start with each main mapi folder
Dim idx As Integer
For idx = 1 To Outlook.Session.Folders.Count - 1
' recurse into subfolders
Dim dest As Outlook.MAPIFolder
Set dest = GetFolder(Outlook.Session.Folders.Item(idx), DESTINATION_FOLDER)
' we found our destination!
If Not (dest Is Nothing) Then
' house cleaning
Set mymail = Nothing
'// to iterate is human. to recurse, divine
Private Function GetFolder(parent As Folder, name As String) As Outlook.MAPIFolder
Dim idx As Integer
Dim res As Object
For idx = 1 To parent.Folders.Count
Set res = GetFolder(parent.Folders.Item(idx), name)
If Not res Is Nothing Then
Set GetFolder = res
If (parent.name = name) Then
Set GetFolder = parent