• Outlook User
  • New Outlook app
  • Outlook.com
  • Outlook Mac
  • Outlook & iCloud
  • Developer
  • Microsoft 365 Admin
    • Common Problems
    • Microsoft 365
    • Outlook BCM
    • Utilities & Addins

Forward meeting details to another address

Slipstick Systems

› Developer › Forward meeting details to another address

Last reviewed on August 29, 2018     21 Comments

A security update disabled the Run a script option in the rules wizard in Outlook 2010 and all newer Outlook versions. See Run-a-Script Rules Missing in Outlook for more information and the registry key to fix restore it.

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 "alias@domain.com"
 .Subject = oAppt.Subject
 .Body = strBody
 .Send
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 "maryc@domain.net"
 .Subject = Item.Subject
 .BodyFormat = olFormatPlain
 .Body = strBody

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

More Information

More Run a Script Samples:

  • Autoaccept a Meeting Request using Rules
  • Automatically Add a Category to Accepted Meetings
  • Blocking Mail From New Top-Level Domains
  • Convert RTF Messages to Plain Text Format
  • Create a rule to delete mail after a number of days
  • Create a Task from an Email using a Rule
  • Create an Outlook Appointment from a Message
  • Create Appointment From Email Automatically
  • Delegates, Meeting Requests, and Rules
  • Delete attachments from messages
  • Forward meeting details to another address
  • How to Change the Font used for Outlook's RSS Feeds
  • How to Process Mail After Business Hours
  • Keep Canceled Meetings on Outlook's Calendar
  • Macro to Print Outlook email attachments as they arrive
  • Move messages CC'd to an address
  • Open All Hyperlinks in an Outlook Email Message
  • Outlook AutoReplies: One Script, Many Responses
  • Outlook's Rules and Alerts: Run a Script
  • Process messages received on a day of the week
  • Read Outlook Messages using Plain Text
  • Receive a Reminder When a Message Doesn't Arrive?
  • Run a script rule: Autoreply using a template
  • Run a script rule: Reply to a message
  • Run a Script Rule: Send a New Message when a Message Arrives
  • Run Rules Now using a Macro
  • Run-a-Script Rules Missing in Outlook
  • Save all incoming messages to the hard drive
  • Save and Rename Outlook Email Attachments
  • Save Attachments to the Hard Drive
  • Save Outlook Email as a PDF
  • Sort messages by Sender domain
  • Talking Reminders
  • To create a rule with wildcards
  • Use a Macro to Copy Data in an Email to Excel
  • Use a Rule to delete older messages as new ones arrive
  • Use a run a script rule to mark messages read
  • Use VBA to move messages with attachments
Forward meeting details to another address was last modified: August 29th, 2018 by Diane Poremsky

Related Posts:

  • A simple run a rule script marks Outlook messages read when the messag
    Use a run a script rule to mark messages read
  • Automatically Add a Category to Accepted Meetings
  • Keep Canceled Meetings on Outlook's Calendar
  • Move messages CC'd to an address

About 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.

Subscribe
Notify of
21 Comments
newest
oldest most voted
Inline Feedbacks
View all comments

grijsbert (@guest_208745)
September 27, 2017 5:49 am
#208745

Hello Diane,

The script does not work when I test it by sending a meetingrequest to myself.
What could be the problem? Privacy-options?

0
0
Reply
Diane Poremsky(@diane-poremsky)
Author
Reply to  grijsbert
October 8, 2017 9:10 pm
#208888

its not privacy options -it picks up the values from the meeting request and creates an new message. If you send it to your own address, it could be a spam filter blocking mail from you, to you.
Try changing .send to .display so you can see the created message.

0
0
Reply
Tom Harron (@guest_205989)
April 20, 2017 1:20 pm
#205989

I have vba code in Outlook to forward an email if instr(subject line) = . Works great and thank you. The email address is actually a cell phone number as a SMS text. Works great, as long as Outlook is open.

If I close Outlook app, it does not work.

Before the VBA code, I did the email forwarding by setting up 'Manage Rules & Alerts | New Rule | Send an alert to my mobile device when I get messages from someone" When I set up this rule in this fashion, it DOES work when Outlook app is closed!

I would rather use the VBA method, as I need 60 people to set up their Outlook similarly

Is there a way to make the VBA scripts to run when Outlook is closed?

0
0
Reply
Diane Poremsky(@diane-poremsky)
Author
Reply to  Tom Harron
April 20, 2017 10:51 pm
#206000

No, sorry, there is not. VBA need Outlook loaded to run.

0
0
Reply
Dipika (@guest_203355)
December 12, 2016 7:29 am
#203355

Hi Daine,

I work in India, IST Time zone and our work hours are 9:00am-6:30pm.
Now since we work with USA clients, many meetings are scheduled after 7:00PM IST, to attend which either we have to connected via GTM from our mobile at the time of meeting or stretch our work hours to attend the meeting. So we need to prepare before hand for such meeting. But many a times we forget to check our calendar before we leave for the day and also these meetings we get a reminder 15/30 minutes prior to the start time of the meeting, which is after we have left from office. Hence we don't get notified at a correct time. So i wanted to know if there is an option to run a script at 6:00PM IST(as we are actively working in front of our desktop at that time), that reads from our calendar, meeting details, and displays as a pop up/ alert/ reminder, about the meetings that are scheduled after 6:30PM IST.

0
0
Reply
Diane Poremsky(@diane-poremsky)
Author
Reply to  Dipika
December 12, 2016 12:53 pm
#203361

it should be possible - i don't have any scripts that do that, but will look into it as I'm sure others would like to do this too.

0
0
Reply
Dipika (@guest_203384)
Reply to  Diane Poremsky
December 13, 2016 5:09 am
#203384

Great Diane,

Thank you for your quick response.

0
0
Reply
Dipika (@guest_203866)
Reply to  Diane Poremsky
January 11, 2017 10:45 pm
#203866

Hi Diane,
If you could help me with how to trigger any alert at the end of the day, i might be able to work on rest of the code to tag it with timing of the meeting and performing the filter.
Awaiting your response and thank you in advance for the help.

0
0
Reply
Diane Poremsky(@diane-poremsky)
Author
Reply to  Dipika
January 12, 2017 12:35 am
#203869

you need to use find or restrict to find the appointments that are scheduled after the appointed time and list them in a message box. You can kick this macro off manually or using a task reminder.

0
0
Reply
Lucas (@guest_198130)
April 22, 2016 7:23 pm
#198130

Why for me does not show the meeting status ? To work in Outlook 2016, I do that. Dim WithEvents newAppt As Items 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 "mateus.mattos@sistemainfo.com.br" .Subject = oAppt.Subject .Body = strBody .Send End With End Sub Private Sub Application_Startup() Dim NS As Outlook.NameSpace Set NS = Application.GetNamespace("MAPI") Set newAppt = NS.GetDefaultFolder(olFolderCalendar).Items Set NS = Nothing MsgBox "Welcome, " & Application.GetNamespace("MAPI").CurrentUser 'Application.ActiveExplorer.WindowState = olMaximized End Sub 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 "mateus.mattos@sistemainfo.com.br" .Subject = Item.Subject .BodyFormat = olFormatPlain .Body = strBody 'Use Display to view onscreen and send yourself. Send will send… Read more »

0
0
Reply
Diane Poremsky(@diane-poremsky)
Author
Reply to  Lucas
April 25, 2016 1:09 am
#198170

What status do you want to include? You need to add that field to the string that is added to the body.

0
0
Reply
Tomas V. (@guest_177423)
June 4, 2013 7:00 am
#177423

Hi Diane,
is there any option how to forward meeting request to personal email with no information to organizer?

0
0
Reply
Diane Poremsky (@guest_177425)
Reply to  Tomas V.
June 4, 2013 10:12 am
#177425

Try attaching it to an email and don't accept it, just drag it off the message and into the calendar. Or use a macro to create an appointment with the details that is forwarded to your personal account.

0
0
Reply
Alwyn (@guest_174703)
March 13, 2013 9:54 am
#174703

Hi Diane, Sorry for the very late reply but this didn't work at all. I tried to delete the srs file in case it was corrupt but nothing. I did write this however from another code on the web, it works for me but can't seem to get it to work for other users! Any help would be appreciated. Ideally the first code would be better as its an automatic process. Thanks in advance! 'This is the email you want to forward meeting items to Private Const forwardMeetingsTo As String = "nev_evans@hotmail.com" 'This is the prefix in the subject for forwarded meeting appointments Private Const forwardSubjectPrefix As String = "[CalSync] " Private Sub Application_ItemSend(ByVal item As Object, Cancel As Boolean) ' Call to forward AppointmentItems on to a different address. The called method is responsible for determening the type of Item and for cleaning it before sending it on Call ForwardmeetingRequests(item) End Sub 'This method is called from the SendItem event, and will start the clean-and-forward 'procedure for Meeting requests Private Sub ForwardmeetingRequests(ByVal item As Object) Dim ic, bIsDuplicateAppointmentItem As Boolean Dim prop bIsDuplicateAppointmentItem = False ''''Start check to see if Item is a meeting. If so, make a call… Read more »

0
0
Reply
Diane Poremsky (@guest_174721)
Reply to  Alwyn
March 13, 2013 4:05 pm
#174721

What happens when they try it? It worked fine here. If nothing happens, check their macro security.

0
0
Reply
Alwyn (@guest_174226)
February 25, 2013 2:47 am
#174226

This is the code that I've written based on your code. Thanks in advance

Dim WithEvents newAppt As Items

Sub Application_Startup()
Dim NS As Outlook.NameSpace
Set NS = Application.GetNamespace("MAPI")
Set newAppt = NS.GetDefaultFolder(olFolderCalendar).Items
Set NS = Nothing
End Sub
Error
Sub newAppt_ItemAdd(ByVal Item As Object)
Dim fwdAppt As AppointmentItem
Set fwdAppt = Application.CreateItem(olAppointmentItem)
With fwdAppt
.MeetingStatus = olMeeting
.Recipients.Add "alwynw27@gmail.com"
.Subject = "Copy" & Item.Subject
.Start = Item.Start
.Duration = Item.Duration
.Location = Item.Location
.Sensitivity = olPrivate
'Use Display to view onscreen and send yourself. Send will send it automatically .display .send'
.Display
End With
Set fwdAppt = Nothing

0
0
Reply
Diane Poremsky (@guest_174253)
Reply to  Alwyn
February 25, 2013 9:12 pm
#174253

Try this one:

Dim WithEvents newAppt As Items
Sub Application_Startup()
Dim NS As Outlook.NameSpace
Set NS = Application.GetNamespace("MAPI")
Set newAppt = NS.GetDefaultFolder(olFolderCalendar).Items
Set NS = Nothing
End Sub
Sub newAppt_ItemAdd(ByVal Item As Object)
Dim fwdAppt As AppointmentItem
Dim CalFolder As Outlook.MAPIFolder
Set fwdAppt = Application.CreateItem(olAppointmentItem)
Set CalFolder = Session.GetDefaultFolder(olFolderDeletedItems)
If Left(Item.Subject, 5) <> "Copy:" Then
With fwdAppt
.MeetingStatus = olMeeting
.Recipients.Add "diane@xsolive.com"
.Subject = "Copy: " & Item.Subject
.Start = Item.Start
.Duration = Item.Duration
.Location = Item.Location
.Sensitivity = olPrivate
'Use Display to view onscreen and send yourself. Send will send it automatically .display .send'
.Send
End With
fwdAppt.Move CalFolder
End If
Set fwdAppt = Nothing
End Sub

0
0
Reply
Alwyn (@guest_174169)
February 22, 2013 8:19 am
#174169

I've come up something and it does do what it's told, however it repeats the action as each time a new appointment is added to the calendar it send another appointment - I've had a total of 156 appointments being sent before I figured it out. Currently I've changed from .send to .display to get around this. Is there another way?

Or is it possible to forward all new appointments to gmail without it also displaying on my calendar for a second time?

0
0
Reply
Diane Poremsky (@guest_174203)
Reply to  Alwyn
February 24, 2013 6:10 am
#174203

I'll have to test it, but one option is moving the copy to a second calendar folder. Deleting it in code after sending it might work too.

0
0
Reply

Visit Slipstick Forums.
What's New at Slipstick.com

Latest EMO: Vol. 30 Issue 15

Subscribe to Exchange Messaging Outlook






Support Services

Do you need help setting up Outlook, moving your email to a new computer, migrating or configuring Office 365, or just need some one-on-one assistance?

Our Sponsors

CompanionLink
ReliefJet
  • Popular
  • Latest
  • Week Month All
  • Use Classic Outlook, not New Outlook
  • How to Remove the Primary Account from Outlook
  • Disable "Always ask before opening" Dialog
  • Adjusting Outlook's Zoom Setting in Email
  • This operation has been cancelled due to restrictions
  • Remove a password from an Outlook *.pst File
  • Reset the New Outlook Profile
  • Maximum number of Exchange accounts in an Outlook profile
  • Save Attachments to the Hard Drive
  • How to Hide or Delete Outlook's Default Folders
  • Google Workspace and Outlook with POP Mail
  • Import EML Files into New Outlook
  • Opening PST files in New Outlook
  • New Outlook: Show To, CC, BCC in Replies
  • Insert Word Document into Email using VBA
  • Delete Empty Folders using PowerShell
  • Warn Before Deleting a Contact
  • Classic Outlook is NOT Going Away in 2026
  • Use PowerShell to Delete Attachments
  • Remove RE:, FWD:, and Other Prefixes from Subject Line
Ajax spinner

Recent Bugs List

Microsoft keeps a running list of issues affecting recently released updates at Fixes or workarounds for recent issues in classic Outlook (Windows).

For new Outlook for Windows: Fixes or workarounds for recent issues in new Outlook for Windows .

Outlook for Mac Recent issues: Fixes or workarounds for recent issues in Outlook for Mac

Outlook.com Recent issues: Fixes or workarounds for recent issues on Outlook.com

Office Update History

Update history for supported Office versions is at Update history for Office

Outlook Suggestions and Feedback

Outlook Feedback covers Outlook as an email client, including Outlook Android, iOS, Mac, and Windows clients, as well as the browser extension (PWA) and Outlook on the web.

Outlook (new) Feedback. Use this for feedback and suggestions for Outlook (new).

Use Outlook.com Feedback for suggestions or feedback about Outlook.com accounts.

Other Microsoft 365 applications and services




New Outlook Articles

Google Workspace and Outlook with POP Mail

Import EML Files into New Outlook

Opening PST files in New Outlook

New Outlook: Show To, CC, BCC in Replies

Insert Word Document into Email using VBA

Delete Empty Folders using PowerShell

Warn Before Deleting a Contact

Classic Outlook is NOT Going Away in 2026

Use PowerShell to Delete Attachments

Remove RE:, FWD:, and Other Prefixes from Subject Line

Newest Code Samples

Insert Word Document into Email using VBA

Warn Before Deleting a Contact

Use PowerShell to Delete Attachments

Remove RE:, FWD:, and Other Prefixes from Subject Line

Change the Mailing Address Using PowerShell

Categorize @Mentioned Messages

Send an Email When You Open Outlook

Delete Old Calendar Events using VBA

Use PowerShell or VBA to get Outlook folder creation date

Rename Outlook Attachments

VBA Basics

How to use the VBA Editor

Work with open item or selected item

Working with All Items in a Folder or Selected Items

VBA and non-default Outlook Folders

Backup and save your Outlook VBA macros

Get text using Left, Right, Mid, Len, InStr

Using Arrays in Outlook macros

Use RegEx to extract message text

Paste clipboard contents

Windows Folder Picker

Custom Forms

Designing Microsoft Outlook Forms

Set a custom form as default

Developer Resources

Developer Resources

Developer Tools

VBOffice.net samples

SlovakTech.com

Outlook MVP David Lee

Repair PST

Convert an OST to PST

Repair damaged PST file

Repair large PST File

Remove password from PST

Merge Two Data Files

Sync & Share Outlook Data

  • Share Calendar & Contacts
  • Synchronize two computers
  • Sync Calendar and Contacts Using Outlook.com
  • Sync Outlook & Android Devices
  • Sync Google Calendar with Outlook
  • Access Folders in Other Users Mailboxes

Diane Poremsky [Outlook MVP]

Make a donation

Mail Tools

Sending and Retrieval Tools

Mass Mail Tools

Compose Tools

Duplicate Remover Tools

Mail Tools for Outlook

Online Services

Calendar Tools

Schedule Management

Calendar Printing Tools

Calendar Reminder Tools

Calendar Dates & Data

Time and Billing Tools

Meeting Productivity Tools

Duplicate Remover Tools

Productivity

Productivity Tools

Automatic Message Processing Tools

Special Function Automatic Processing Tools

Housekeeping and Message Management

Task Tools

Project and Business Management Tools

Choosing the Folder to Save a Sent Message In

Run Rules on messages after reading

Help & Suggestions

Submit Outlook Feature Requests

Slipstick Support Services

Buy Microsoft 365 Office Software and Services

Visit Slipstick Forums.

What's New at Slipstick.com

Home | Outlook User | Exchange Administrator | Office 365 | Outlook.com | Outlook Developer
Outlook for Mac | Common Problems | Utilities & Addins | Tutorials
Outlook & iCloud Issues | Outlook Apps
EMO Archives | About Slipstick | Slipstick Forums
Submit New or Updated Outlook and Exchange Server Utilities

Send comments using our Feedback page
Copyright © 2025 Slipstick Systems. All rights reserved.
Slipstick Systems is not affiliated with Microsoft Corporation.

wpDiscuz

Sign up for Exchange Messaging Outlook

Our weekly Outlook & Exchange newsletter (bi-weekly during the summer)






Please note: If you subscribed to Exchange Messaging Outlook before August 2019, please re-subscribe.

Never see this message again.

You are going to send email to

Move Comment