Exchange 2003 Auto Accept Agent vs. direct booking

In my Exchange support experience, customers often ask me about the differences between using the Auto Accept Agent and Outlook Direct Booking. They want to know which they should use for their specific environment. After much research, I compiled the following matrix of advantages and disadvantages of each to help you decide for yourself which you should use.


The Auto Accept Agent is a server-side store event sink available in Exchange 2003 SP1 which provides automatic server-side processing of meeting requests sent to resource mailboxes. The Agent handles initial scheduling, cancellations and updates and sends responses to the meeting organizer - meaning less scheduling conflicts and allowing receptionists and conference room owners to spend their time more productively.


What are the advantages of using Auto Accept Agent?


  1. The agent runs on the server 24 hours per day, 7 days a week. The agent responds immediately and the requestor does not have to wait for the receptionist to return from lunch.
  2. The agent checks the availability by looking at the calendar (resource schedule), not the Free/Busy information. This reduces the number of issues caused by free/busy update lag.
  3. It can decline individual conflicting instances within a recurring meeting request.
  4. In case of declined meeting request with conflicts (or a meeting request accepted with conflicts) the response includes date/time information on which instances conflict.
  5. All comments and attachments are removed from the meeting requests. Only the time and date information will remain on the meeting item. This prevents the delegate from viewing and confidential or private information. It also keeps the mailbox trim.
  6. Meetings marked as private are processed immediately. Additionally, the private flag is stripped from meeting requests so the receptionist will always have clear visibility to what is on the calendar.
  7. It replaces the need for excessive permissions needed to allow direct booking and does not require delegate permissions or configuration
  8. Much more robust than Outlook "auto-booking".
  9. Reminders are removed from the conference room's copy of the meeting.  This avoids "reminder hell" in the event the conference room mailbox is directly opened in Outlook.
  10. It handles meeting requests from all clients including OWA.
  11. The resource mailbox owner retains their rights on the resource mailbox and will remain the ultimate authority on the mailbox.

Does Auto Accept Agent have any disadvantages compared to direct booking?

  1. The agent code must run on every Exchange server that has a resource mailbox, since CDOEX is used to process requests and can only access local mailboxes.
  2. Delegates (e.g. Receptionists) will be less aware of the number and nature (urgency) of incoming requests.
  3. Currently the booking window will be limited to 6 months. This can be changed but it's not recommended. It will take a while for requestors to become accustomed to this hard limit. Important: Any request beyond the six-month window, including recurring meetings extending past it, will automatically be declined.
  4. Delegates will have to check the Inbox, Sent Items, and Deleted Items for unexpected items, but can do so more infrequently.

With that said, I would also like to talk about direct booking and its advantages and some considerations while using it.


Why direct booking?


Direct booking is an Outlook-specific feature that uses the organizer's Outlook client (Outlook 2000 or later) to book an appointment directly into a resource mailbox schedule. The Outlook client of the person organizing the meeting performs all the necessary tasks, such as conflict checking and placing the reservation on the resource calendar. To set up direct booking, follow:


291616 How to direct book a resource in Outlook 2002 or in Outlook 2003;EN-US;291616


Advantages of Direct booking:


  1. Immediate confirmation/denial of booking request.
  2. It has the logic to avoid double-booking.

With these advantages in mind, some disadvantages of Direct booking include:

  1. Direct booking requires granting organizer read/write permissions on the calendar. Hence, users can just go onto the resource's calendar and delete existing meetings to free up space for their own meetings.
  2. Organizer must remember to designate resource as "Resource" and not "Required" or "Optional". No conflict checking is done if resource specified as one of the latter (rule on resource's inbox should be created to generate reply to this effect).
  3. Since there is availability against free/busy, latency in free/busy replication can result in double-booking.
  4. Conflicts aren't detected beyond the range of published free/busy and can result in double-booking.
  5. Outlook Web Access does not currently support the "direct booking" of meeting requests.

Direct booking should not be used in conjunction with automatic booking done by the Auto Accept Agent. There is also configuration associated with direct booking that could conflict with Auto Accept Agent settings. For example, the default setting for direct booking is to accept all requests, regardless of conflicts. There is also a direct booking setting that automatically declines all recurring requests. These settings are only honored by Outlook and only when the resource is specified as a resource attendee. You should not register a resource mailbox for Auto Accept Agent in Exchange 2003 when you set up a resource for direct booking in Outlook. This is discussed in the below article

903290 You should not register a resource mailbox for Auto Accept Agent in Exchange 2003 when you set up a resource for direct booking in Outlook;EN-US;903290


Cluster Server Installation Notes


I also get asked if the agent can be installed on a cluster. Installing the Auto Accept Agent on a cluster requires only minor considerations. The installation of the binaries is the same as installing on a standalone server. However, Auto Accept Agent must be installed on each node that may be used for failover. If Auto Accept Agent is not installed on a passive node, meeting requests will be orphaned in the resource mailbox Inbox if this node is made active. Since the agent starts only when needed, there is no need to change the service startup settings. Because the configuration is file-based, it is important to use the same settings across all nodes in the cluster. If Auto Accept Agent is running on multiple active nodes, any per-mailbox settings must be put in all AUTOACCEPT.CONFIG.XML files. This file can be copied to all nodes of a cluster.


Mailbox sink registration must be done using the active node which hosts the mailbox. Although passive nodes must have Auto Accept Agent installed, they are not actually running Exchange services and are incapable of performing the mailbox registration. There is no need to make a node active to install or remove the Auto Accept Agent.


In next blog post: Troubleshooting Auto Accept Agent top support issues.


- Nagesh Mahadev

Comments (63)
  1. Max says:

    Thanks for a very good post here!

  2. Kristina says:

    Great article for those who didnt know the differences and advantages of AAA. Good job. I would also like to see some troubleshooting tips. We have AAA in our organization and I barely know what to look for.

  3. Bruce says:

    Just what the Dr ordered – we are currently migrating from Exch 5.5 and are actively debating how to migrate DB of resources. One drawback to DB that you did not mention is having to create a user account for the resource. AAA seems like a good alternative.

  4. Dan_IT says:

    I’ve worked with the 5.5 Autoaccept scripts in the past and also extended them to include features not provided by the original scripts.  I am pleased that the 2003 version now includes much of this extended functionality but there is still one significant omission – the ability to notify a designated contact of any schedule changes within a given resource calendar.  The simple ability to CC a designated contact with any newly accepted booking, update or cancelation would address this need.  The absence of this functionality in the 2003 AutoAccept scripts is the one feature preventing this from being a usable solution in our environment.

  5. Nagesh says:

    Bruce thanks for your comment. I will see if I can incorporate this in my future blog on AAA.

  6. Nagesh says:

    Dan thanks for your feedback. I was wondering about the thought process on CCing a designated contact. Can you elucidate more on why a contact. Maybe we can see if something along the lines of what you need maybe incorporated in the near future if we dont have it now.

  7. Anonymous says:

    Hurray, 2 week vacation starting today ;-)

    How to enforce Microsoft Outlook cached mode via…

  8. Dan_IT says:

    Thanks for the response Nagesh!

    The though process primarlily relates to an auto-booking scenario where there is human intervention required such as the following:

    A meeting room and a video conferencing device are both listed as seperate bookable resources in the Exchange GAL and enabled for AutoAccept booking.  A designated contact (let’s call her Sally) from the Audio Visual Department is responsible for ensuring that the video conferencing device is setup in the designated time and place.

    Let’s say I book a meeting for Wednesday afternoon from 2:00 – 4:00 and I invite both the devices.  They are both available and autoaccept my request.  On Wed morning Sally checks the schedule and sees that she needs to set up her device in room #403 at 2:00.  She will be unaware of changes that might occur between when she first checks the Calendar in the morning and when the device is scheduled. The reason for the change could be that I have cancelled the meeting, changed the time, or maybe got bumped out of the room I wanted by someone with more authority and needed to change the location.

    You could argue that the resource owner should have the resource Calendar open constantly but our users who manage the setup of these devices will only accept the autobooking functionality if we can provide this real-time notification when booking changes occur.

    We have looked for ways to use rules to accomplish this functionality in conjunction with the AutoAccept scripts but since any "check messages after sending" rules are client-side only, we were not able to make this work seamlessly.

    Hope this makes sense!  BTW, all the functionality that is included with the 2003 scripts works great and I would highly recommend it for most implementations that don’t have these more advanced requirements.

  9. Dan_IT says:

    Nagesh, I just re-read your post and perhaps I am confusing the matter with my poor choice of words.  Notifying an Exchange contact (as opposed to a user) is not the requirement here.  We just neeed the ability to CC another mailbox from the Exchange GAL.

  10. Brian says:

    What are the risks of using more than 6 months of window when booking a appt?


  11. Nagesh says:

    Brian, the booking window can be changed to be longer than 6 months if necessary. Whether the window is treated as a “hard limit” is actually controlled by a setting EnforceBookingWindow that allows the booking window to be “weakly” enforced.  The meeting is essentially “truncated” at the 6 month mark (or whatever the booking window is set at).

    However, to avoid problems with organizers not realizing that their room has “run out” after 6 months, using the hard limit is probably the best configuration. With that said, I dont see any other risks. You can change the booking window but would have to educate the concerned people.

  12. Nagesh says:

    Dan, so what I’m getting out of this is that you want Sally to be notified if there is a change made to the resource. I don’t recall a way to customize that through the xml file. I’ll see what I can find. Sorry for the delayed response.


    – Nagesh

  13. Nagesh says:

    Dan, the functionality that you are looking for isn’t in the product (that I can find). One way to get around it might be to do an event sync, maybe when an item is added to sent items, that forwards it to the user.Sorry.

  14. Dan_IT says:

    Thanks Nagesh.  You are correct that in the scenario described, we would want a method of notifying Sally with an email anytime a change is made to the resource.  Would you expect that this functionality may be provided in the future?  Currently we are looking at a third-party product to accomplish this but it seems like a relatively trivial addition to the existing agent.

  15. Nagesh says:

    Dan I will definitely pass this feedback to Dev and see if this can be incorporated in the future or if it is already in the next version of Exchange. Thanks for the suggestion Dan. I will keep you posted.

  16. Nagesh says:

    Dan I will definitely pass this feedback to Dev and see if this can be incorporated in the future or if it is already in the next version of Exchange. Thanks for the suggestion Dan. I will keep you posted.

  17. mike says:

    How do I make sure a resource is not configured for direct booking before configuring the resource to use the Auto Accept Agent script?  I couldn’t find anything in the Deployment Guide or Microsoft’s KB on how do do this?

  18. Nagesh says:

    Mike, the quickest way to figure this out would be to create a profile for the resource mailbox, log into it using Outlook. Go to Tools | Options | Calendar Options | Resource Scheduling – If "Automatically accept meeting requests and process cancellations"
    or any of the check boxes are selected, then this resource mailbox is configured for direct booking.

    How to direct book a resource in Outlook 2000, Outlook 2002, or Outlook 2003;en-us;291616

    Hope this helps.
    – Nagesh

  19. Nagesh says:

    Dan, we are incorporating Auto Accept Agent functionality out-of-the-box in E12, with some significant additions to the E2K3 AAA functionality including custom per-mailbox responses and finer grained controls over who can book and when.  The particular feature below is not in the plans, but E12 web services will allow for notifications on calendar changes. I dont have much information about E12 web services at this time.

    Hope this helps

    – Nagesh

  20. George says:


    Would the things Dan requested be as simple as making the user a Delegate and forwarding meeting requests to them. I do believe when something updates that the delegate is notified as well.

  21. Nagesh says:

    George, if you set up a delegate, the current configuration for resource mailboxes is for only the Delegate to receive copies of meeting requests. Forwarding meeting requests only to a delegate causes two issues with the AAA function and management:

    1. No copy is saved in the resource mailbox’s inbox. Because the sink is triggered by the OnSave event, it is required that the request actually be saved in the Inbox.

    2. When both the delegate and the resource receive meeting requests, there is no clear indication that the request has been processed by AAA.  This would cause Sally a good deal of confusion – she would have to cross reference each request with AAA responses.

    To overcome these issues, it is recommended to configure the mailbox to no longer send meeting requests to the resource mailbox’s delegate

    Hope this makes sense.


    – Nagesh

  22. Tommy Estes says:

    I’m having a problem with Auto Accept. When I first installed AA, whenever I booked a couple of test meetings for our resource, it would give me a popup confirmation saying it was successfully booked. It would do the same for when it found a conflict, would not let me book it until I picked a free time for the resource. Now it’s not doing this. It’s just going ahead and sending the email to the invites, but it does send me a Decline email saying there was a conflict. This is nice, but I would rather get a popup prompt when the user tries to schedule, instead of it emailing everyone, and THEN saying the meeting was declined. Any help?

  23. Matze K. says:

    Hi everybody,

    we’re using Auto Accept Agent and now have some new issue. What we need is the same thing like Auto Accept Agent, but it should not deny the request when there is a conflict… I know that the Auto Accept Agent is only for booking ressources, but it would be perfect, if there could be somekind of parameter to set, so that the Agent does allow conflicts not only with recurring meetings.

    Any suggestions?

    Thanks in advance

    Matze K.

  24. Bobby says:

    This is an excellent read for those who are testing auto accept agents.. Thanks Nagesh…

  25. Nagesh says:

    Tommy, I have 2 more blogs coming up on troubleshooting. Is this happening with all resources or some resources? Do you still see the problem with a new resource?

  26. Mike Lagase says:


    Direct Booking and Auto Accept do not play nice together. See;EN-US;903290 for additional information.

  27. Nagesh says:

    Matze I am in the process of verifying something with the product team. Please hang tight and I will post a reply regarding your question soon.

  28. Nagesh says:

    Matze, there are no plans to add more functionality to the E2K3 Auto Accept Agent.

    For E12, however, we are adding an “AllowConflicts” bool that will allow unlimited number of conflicts (including single meetings) if set to true.

    Hope this helps.

    – Nagesh

  29. Nagesh says:

    Matze, there are no plans to add more functionality to the E2K3 Auto Accept Agent.

    For E12, however, we are adding an “AllowConflicts” bool that will allow unlimited number of conflicts (including single meetings) if set to true.

    Hope this helps.

    – Nagesh

  30. Tommy Estes says:

    Currently, we are only using one resource. THis is a new domain.

  31. Matze K. says:

    Thanks Nagesh for the quick reply,

    this will help if AutoAccept for E12 will work on E2K3. I think the AutoAccept feature will be integrated in E12? So we have to upgrade to E12 whenever it’s released… This would help but we just bought the E2K3 and i don’t think that we can afford an upgrade to E12 soon.

    Is it possible to program a modified event sink who does nothing else than accepting meeting requests? has anybody a suggestion how to do this? Are there any source-codes of AutoAcceptAgent so i could modify it myself?

    Thanks in advance

    Matze K

  32. Gates says:

    One thing I’m trying to figure out is if I use the direct booking will I receive a reply from the resource if it has been successfully booked?

  33. Matt says:


    I’m having the exact same problem as Tommy – I use 8 different resources and only one of them (which is setup exactly the same as the rest) displays the dialog box when users book a meeting saying whether or not it was successfully booked.


  34. Nagesh says:

    Gates, yes, but only if you add the resource to the Resources when invited. You will get a pop up saying "The resources for the meeting were successfully booked"

  35. Nagesh says:

    Matt it looks like you have set up your resources for direct booking. When you mentioned it displays "dialog box" it makes me believe that you have direct booking and not AAA. If you are using AAA, you will get an email saying whethere or not the meeting was successfully booked. Am I missing something?

  36. Matt says:

    Definitely using AAA – direct booking is not used with any of the resources!  Yes the users do get an email saying that the resource has been booked but one of the resources displays the dialog box which is very helpful!  Checked that particular resource and direct booking is not enabled!

  37. Nagesh says:

    Matt, AAA is a tool that automatically processes meeting requests (message class:IPM.Schedule.*) sent to one or more resource mailboxes, such as conference rooms. The agent hosts a store event sink to handle meeting requests as they arrive in a resource mailbox. Once the agent is registered on the inbox folder of a resource mailbox, meeting requests sent to a resource mailbox are automatically processed by the event sink. The sink handles acceptance,cancellation and update requests and sends notifications to the organizer. It is odd to note that you get a dialog box. Is this mailbox specified in the xml file? Does this mailbox have any delegates? If so is the "Send meeting requests and responses" check box checked by any chance! Even with that I wouldnt think the dialog box should pop up.

  38. Gates says:

    Is the Auto Accept Agent the only way to get a reply from the resource then?

  39. Robert says:

    This brings up something I have been facing for some time.  When users are terminated and they have booked several resources.  How do I clear that out?

  40. Nagesh says:

    Gates, yes and no. Yes from AAA vs direct booking perspective. No because you can write your own sink that can emulate AAA or as an add-on to AAA

  41. Gates says:

    Sounds like AAA is the simplist way to go then.

  42. Anonymous says:

    This post is a 2nd in the series talking about Auto Accept Agent (see the 1st post here). As mentioned…

  43. Nagesh says:

    Robert, good question. The recommendation is to use the Exchange Mailbox Manager to automatically purge the AAA managed mailboxes.  The mailbox manager runs on designated servers and purges mailboxes based on recipient policies.  This allows the Exchange administrator to select the exact mailboxes that will be examined and which messages (by age and size) that will be purged. The recommended recipient policy should select only the mailboxes that are being processed by the Auto Accept Agent.  The filter for the Mailbox Manager recipient policy will query by Alias and Information Store database.  Since the AAA managed conference rooms will generally be consolidated onto the same database, this is a reliable method of scoping the filter to the right mailboxes.  Since there is no need to set any special AD attributes, the amount of administrative overhead is kept to a minimum.  The one draw back is that any mailbox that ceases to be AAA managed will continue to be affected by Mailbox Manager until it is moved to a different database. The one short-coming of the mailbox manager is that it does not purge recurring appointments.  This is an explicit part of the design to avoid premature deletion of still active recurring meetings. You will have to do it manually.To stop the AAA from processing meeting request for a specific mailbox, unregister the sink from the mailbox. The REGISTERMAILBOX.VBS script includes an uninstall option (/U) to perform this task.REGISTERMAILBOX.VBS must be run from the console of the Exchange server. There isn’t a remote administration option with this script.

  44. Gates says:

    I have the AAA setup and working.  I had one question when I cancel a meeting is it supposed to send a cancelation message back to the meeting organizer?

  45. Nagesh says:

    Yes Gates. If you choose to "Send cancellation and delete meeting" or do a "Send update", the meeting organizer will get a cancellation message back.

  46. Gates says:

    I don’t receive on from the resource.  Do I need to turn this on?

  47. Robert says:

    One thing I did not see, does the AAA delete canceled meetings or do you need to setup Mailbox Manager to remove them?

  48. Anonymous says:

    This is a 3rd blog post on the subject of Auto Accept Agent. You can go here to see the 1st one and here…

  49. Nagesh says:

    Gates you dont need to turn it on. It should be on automatically.

  50. David says:

    Do you know of a way to run the RegisterMailbox.vbs script remotely, passing it an / address?

  51. Dendy says:

    I’ve just installed the auto accept agent with the recurring limit set to it’s default of 12 months.  Recurring meeting appointments are being truncated at exactly 9 months though – would this have been a change to the mentioned 6 month hard limit?

  52. Nagesh says:


    /M:smtpaddr – Registers a single mailbox specified by the SMTP address. It cannot be combined with the /F switch.

    REGISTERMAILBOX.VBS, must be run from the local console of the server which hosts the mailbox(es) being registered. You can check my next blog on the same subject and it has more information on registermailbox.vbs.

  53. Volker Wend says:


    I installed the auto accept agent but i get an Error. It is a migrated Mailbox from 5.5 which I moved to Exchange 2003 SP1.

    What can I do ?

    Ausnahme beim Verarbeiten von Objekt "file://./backofficestorage/". Dieses Objekt wird nicht verarbeitet.


    System.Runtime.InteropServices.COMException (0x80040E19): Ein Objekt oder Daten, die den Angaben für Namen, Bereich oder Auswahlkriterium entsprechen, konnten innerhalb dieses Vorganges nicht gefunden werden.

      at Private.Interop.Cdoex.IDataSource.Open(String SourceURL, Object ActiveConnection, ConnectModeEnum Mode, RecordCreateOptionsEnum CreateOptions, RecordOpenOptionsEnum Options, String UserName, String Password)

      at Microsoft.Exchange.Agents.AutoAccept.EventSink.BindToCalMsg(String msgURL, String calendarLocation, IAppointment& inStoreAppt, String& calMethod, DateTime& deliveryTime)

      at Microsoft.Exchange.Agents.AutoAccept.EventSink.ProcessOnSaveEvent(String itemUrl, DateTime& deliveryTime)

      at Microsoft.Exchange.Agents.AutoAccept.EventSink.OnSave(IExStoreEventInfo pEventInfo, String bstrURLItem, Int32 lFlags)

  54. Volker Wend says:

    Sorry, known problem, I used an Mailbox on the old Server…

  55. Anonymous says:

    This is my 4th blog post on the subject of Exchange 2003 Auto Accept Agent. If you want to see previous…

  56. David Heise says:

    One problem I have is that when you use the AutoAccept agent to book resources, the resources’ free/busy info is not getting updated. Has anyone else seen this?

  57. Michael Brady says:

    I have been a senior pastor for the past three years.  Before I took the senior pastors job we did Evanglism, I am hoping to get back into preaching around the world again.  Are you a agent?  

  58. anandpv says:

    Thanks. Just about time, I just read the blog. We are migrating from Exchange 5.5 to 2003. It’s good to know what else we have to do with Cluster setup.

  59. David says:

    Is the Auto Accept Agent able to work across domains?  I imagine that the Direct Booking would not work across domains/forests as the outlook client is directly involved.

  60. Brendan says:

    Is there a way in AAA to set a finite number of meeting participants for a specific resource? So that, for instance,  if meeting room 1 can only fit 4 people than the meeting request will be denied if the organizer invites more than 4 attendee’s.

  61. Steve says:

    We have encountered numerous troubles and unresolvable issues after installing AAA on our E2K3 – we then decided to move to E12… was proven wrong and expensive step. Simply we went back to E2K3 and decided to use thirdparty solution which fully integrates with exhcange, outlook and owa/oma features… Still undecided either officetracker or myVRM are possible options. myVRM can also ease the pain of catering and videoconference scheduling…

    This is a good blog covers alot of related topics but I think it is being used for the wrong purpose. Let Exchange Server be the king of just email system – and yet it provides great integration tools

  62. Kayla says:

    Highly informative blog – my boss asked me to evaluate AAA. I was searching for user experiences and testimonials. This blog has everything – no need say… Nagesh contributed majaortiy of technical things… very much helpful.

    Bottomline, I agree that E2K3 doesn’t provide practically usable functionality… without lot of customizations. I got my answers. Thank you everyone for your contributions. I have one question thought, when is Microsoft targetting to release E13… :) hail e13!!!

  63. John says:

    What is the syntax for unregistering a mailbox from AAA? The other blog suggests to delete the mailbox by exporting all schedules and re-importing them to new mailbox. It is a painful procedure and unnecessary workload on administrator. REGISTERMAILBOX.VBS script has poor documentation – I have tried /U swith. Unrecongnized syntax Error!!! Please help.

Comments are closed.

Skip to main content