Autoaccept a Meeting Request using Rules

Written by Diane Poremsky

A Microsoft Outlook Most Valuable Professional (MVP) since 1999 and involved in IT support since 1985, Diane is the author of several books and 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. +Diane Poremsky+

57 responses to “Autoaccept a Meeting Request using Rules”

  1. Thank you so much for posting this code. I’m wondering if there is somethig similar for “not sending a response”. So, when I’ve added the rules you have above with the code, the meeting notice accepts, but it pops open a response email where I could type a response. I have to click send on that email for it to be added to my calendar. can that step be elimanted with a rule??

  2. This doesn’t seem to work with Outlook 2010. Any suggestion?

  3. Change the last part of the code to:

    Set oResponse = oAppt.Respond(olMeetingAccepted, True)
    oResponse.Close (olSave)

    And the appointment will be saved, no response will be sent.

    I also added

    oRequest.Delete

    at the bottom to remove it from my inbox once processed.

    This is Outlook 2010 32bit.

  4. oRequest.Delete didn’t work for me so I just added “delete” to the rule.

  5. It *worked* in 2010/32. After I rebooted, the script no longer seems to run? It’s there, it’s selectable from the rules wizard, but doesn’t appear to be executed. Added a breakpoint, and that never triggers.

  6. Seems like scripts run from the rules have a tendency to wreak havoc with the VBAProject.OTM-file. Deleted it, and now the script runs fine.

  7. Also had a problem – it worked once, then never again. Exchange 2003 with OL2010 on terminal server. I am looking for some app to do this now – hoping codetwo may do it.

  8. I tried the setting to enable all macro, but it made no difference.

  9. Same issue. Ended up running “selfcert.exe” which comes with the office package, create a certificate, and then choosing Tools – Digital signature in the VBA editor, choosing the newly created certificate as a signature. Upon restart, outlook asks if I want to trust it, I answer “trust all from…” and the macro has been running fine ever since.

  10. I implemented the code above, along with the “Save with no response sent ” and “Delete from the Inbox once processed” portions. Unfortunately, when the script runs, I get a security popup (the one where I have to wait five seconds to click yes). I have signed the script using my CAC digital certificate and also set the macro security settings to medium. Anyone have any ideas?

    I am running WINXP SP3 and Outlook 2003 SP3 in a WIN2003 domain environment with Exchange 2003 servers.

  11. Forgot to add-
    I also tried signing with a regular code signing certificate and that didn’t work.

    I tried the code below and it seemed to break the auto accept code above.

    ——–

    OlSecurityManager.DisableOOMWarnings = True
    On Error Goto Finally

    Sub AutoAcceptMeetings(oRequest As MeetingItem)
    If oRequest.MessageClass “IPM.Schedule.Meeting.Request” Then
    Exit Sub
    End If
    Dim oAppt As AppointmentItem
    Set oAppt = oRequest.GetAssociatedAppointment(True)
    Dim oResponse
    Set oResponse = oAppt.Respond(olMeetingAccepted, True)
    oResponse.Close (olSave)
    End Sub

    Finally:
    OlSecurityManager.DisableOOMWarnings = False
    ——-

  12. The CAC cert is trusted through a CA and the code signing cert is a selfcert and then I trusted myself.

  13. What if there is a meeting already scheduled for the same time of the new request? Is there any way of addressing a scheduling conflict?

  14. Is there a way to Send a response without having the invitation pop up when received? I want the organizer to be able to see who has accepted without the recipient having to type in a message. In other words, the equivalent of “Send the response now.” when accepting meetings… but automatic.

    Thanks! :)

  15. I want the meeting organizer to be able to see who has accepted the invitation. Adding oResponse.Close (olSave) works perfectly but does not alow the organizer to see that it was accepted. So I do want a “response” to be sent to the meeting organizer in a sense… but I dont want the user to get a popup where they have to accept/enter a response manually.

  16. is there a way to accept canceled meetings? delete the if they were canceled?

  17. This is awesome… I just had ~140 meeting requests from the same person in my inbox to set up multiple monthly meetings for the whole year and this accepted and processed them w/in 45 seconds… saved me an hr! Thanks a lot!!! Very cool stuff.

  18. A pop up shows up and I have to wait 5 seconds to be able to click Ok. I think David had the same issue, couldn’t identify any solution in the forum. Any ideas ?

  19. I was only able to open VB editor once (and was interrupted half way through), but now the ALT+F11 to open it no longer works. Any thoughts ?

  20. Is there a way to extend this and decline for meetings scheduled from say 10pm to 6am?

  21. I got a problem with sending, which is the last step. Basically I get the window of the decline message but it is not being sent automatically, I need to click on the “Send” button.

    Does anybody know how to fix this ?

  22. Is there any chance to make the calender items “private” right with auto-acceptance?

  23. it is gr8 help for me. tks.
    is there any micro which declines meeting request
    outlooke should accept 4 meeting request of starting at same time.but should decline if 5th meeting for same time. it is for shared calendar where multiple people works on same calendar.

  24. excited ! gr8 wrk yar :)

    In my case i am trying to make one of my meeting room as a user .

    So when a request is sent to a user(meeting room) it should get auto accepted and a confirmation mail sould be sent depending uppon the availability . If its not available meaning the user (the meeting room) is blocked by some other user for that particular time, it should show a not available or the next available slots .

    Guys can some one of u help me ?

  25. Thanks for the quick reply. The “private setting” via

    Set oAppt.Sensitivity = olPrivate

    didn’t work. Any idea on how to fix it?

  26. Excellent! Thanks so much for this.

    However, I do have one question on a modification: I’m trying to auto-accept all-day event invitations, not meeting requests (it’s how my company handles employee late/out/leaving early notifications). I’m fairly sure Outlook treats meetings and all-day events as different forms (creating a new meeting creates “Untitled – Meeting,” where creating a new all-day event creates “Untitled – Event”), and the set-up you described doesn’t work on these event invitations. I checked out the available forms, but couldn’t find anything that sounded like the all-day event invitation form. Do you have any insight on how I can solve this problem? Thanks again!

  27. When I use the “Save with no response sent,” It automatically saves the message response to my drafts folder. What can I do to fix this?

  28. Thanks, this was super useful

  29. Diane,
    I followed the steps above but am apparently missing something in the process. When I go set up my rule and choose ‘uses the form name form’ I have no forms to choose from. I am running Outlook 2007 with Exchange 2003.

  30. There are no forms to choose from on either option (Personal forms or Application forms) Is there something special I need to do when saving the script?

  31. Exchange Server.

  32. Office 2010/32 bit

    One of the Director’s here wants to Auto-Decline Meeting invitations from specific users. I know how to set up this type of rule, but need your script. I would like the meeting to be automatically declined, and then I will set the rule up to send an automatic reply to the user. Will the script you have posted (I’ve changed it to “DECLINE”) work? I am going to test it now, but here’s my code:

    Sub AutoDeclineMeetings(oRequest As MeetingItem)

    If oRequest.MessageClass “IPM.Schedule.Meeting.Request” Then
    Exit Sub
    End If

    Dim oAppt As AppointmentItem
    Set oAppt = oRequest.GetAssociatedAppointment(True)

    Dim oResponse
    Set oResponse = oAppt.Respond(olMeetingDeclined, True)
    oResponse.Display
    End Sub

  33. I would like to add a generic text response to the sender via the code. Can you help?

  34. It’s not working. Sorry for the multiple posts but it will not allow me to EDIT my original post. Thanks!

  35. This all worked for me. Thanks so much for the notes.
    However, I want to be able to display the calendar on a wide screen for general information. Although the appointments are “accepted,” placed on the calendar and no response is sent — which is exactly what I wanted it to do — the appointments stay in the lighter color and are hard to read. Does anyone know how to change the appearance of an appointment without having to go to each one and formally accept? I just need them to be easier to read.

    Thanks!

  36. I changed the following:

    oResponse.Display to oResponse.Send

    Otherwise the Accepted reply was not being sent.

  37. This is awesome! Just one question, what do I do if I want to accept the meeting request, but want the time to appear as free on my calendar?

Leave a Reply

More in Calendar
Printing a Five Week Calendar

A user complained about Outlook 2010's poor calendar printing options, especially the change in how Outlook prints months or partial...

Close