Forward meeting details to another address

Last reviewed on June 2, 2013

In our article discussing BCCing messages, Michael wanted to BCC all incoming meeting requests and cancellations to another address. You can do this with a run a script rule. The macro at the bottom of the page is an ItemAdd macro and watches for new items to be added to the calendar, forwarding appointment details as well as meeting details to another address.

The Run a script version is built off of the AutoAcceptMeeting request code sample.

To use this macro, open the VBA Editor (Alt+F11) and paste the code into ThisOutlookSession.

Next you will need to create a rule that looks for meeting cancellation or meeting request forms then choose the Run a Script action.
Forward meeting Request Rule

The macro creates and sends a message containing appointment details. The message body will look like the following screenshot and can be edited to add or remove fields.

Forward Meeting Details

Sub ForwardMeetingDetails(oRequest As MeetingItem)
Dim oAppt As AppointmentItem
Set oAppt = oRequest.GetAssociatedAppointment(True)
Dim fwdAppt As MailItem
Set fwdAppt = Application.CreateItem(olMailItem)
 strBody = "Organizer: " & oAppt.Organizer & vbCrLf _
 & "Start: " & oAppt.Start & vbCrLf & "End: " & oAppt.End _
 & vbCrLf & "Location: " & oAppt.Location & vbCrLf & "Message: " & oAppt.Body
With fwdAppt
 .Recipients.Add ""
 .Subject = oAppt.Subject
 .Body = strBody
End With

End Sub

Forward appointment details when an appointment is added to the calendar

With a few tweaks to the macro above, you can forward all appointments added to your calendar to another address.

This macro watches for new items to be added to the calendar and sends the details in a message.

It's an Application_Startup procedure and runs when Outlook starts. To test it without restarting Outlook, click in the Application_Startup macro and press Run (F5).

This macro needs to be in ThisOutlookSession.

Dim WithEvents newAppt As Items
Private Sub Application_Startup()
   Dim NS As Outlook.NameSpace
   Set NS = Application.GetNamespace("MAPI")
   Set newAppt = NS.GetDefaultFolder(olFolderCalendar).Items
   Set NS = Nothing
End Sub
Private Sub newAppt_ItemAdd(ByVal Item As Object)

Dim fwdAppt As MailItem
Set fwdAppt = Application.CreateItem(olMailItem)
Dim strBody As String
 strBody = "Organizer: " & Item.Organizer & vbCrLf _
 & "Start: " & Item.Start & vbCrLf & "End: " & Item.End _
 & vbCrLf & "Location: " & Item.Location & vbCrLf & "Message: " & Item.Body
With fwdAppt
 .Recipients.Add ""
 .Subject = Item.Subject
 .BodyFormat = olFormatPlain
 .Body = strBody

'Use Display to view onscreen and send yourself. Send will send it automatically
' .Display 
End With
End Sub

Written by

Diane Poremsky
A Microsoft Outlook Most Valuable Professional (MVP) since 1999, Diane is the author of several books, including Outlook 2013 Absolute Beginners Book. She also created video training CDs and online training classes for Microsoft Outlook. You can find her helping people online in Outlook Forums as well as in the Microsoft Answers and TechNet forums.

If the Post Coment button disappears, press your Tab key.