
Understanding Auto Accept Agent
Auto Accept Agent is an asynchronous store event sink that provides automatic server-side processing of meeting requests that are sent to resource mailboxes. Auto Accept Agent is triggered by the OnSave event when an e-mail message is delivered to the Inbox of a registered resource mailbox. Meeting requests, updates, and cancellations are processed in a first-in, first-out order. If the e-mail message is not a calendar item, Auto Accept Agent may delete it, based on the setting for the DeleteNonCalendarItems parameter, to keep the Inbox clear of read e-mail messages. If the request is a cancellation, the meeting is removed from the calendar.
Auto Accept Agent Processing
When a meeting request is delivered to an Inbox folder in the Exchange store, an OnSave event is triggered. If Auto Accept Agent has been registered for that mailbox, the triggering of the OnSave event triggers the agent, which is an ExOLEDB event sink. The following illustration shows the basic process flow, beginning when an e-mail message is delivered to an Inbox.
Scheduling and Updating
When Auto Accept Agent processes meeting requests, it checks the availability of the resource calendar, not the resource published free/busy data, and then sends an accept or decline message to the meeting organizer. The agent evaluates only meetings that occur within a specified booking window for conflicts. The agent does not place any meeting instances that occur beyond the booking window in the resource calendar. After it processes the request, Auto Accept Agent saves a copy of the response to the Sent Items folder, and then moves the original request from the Inbox to the Deleted Items folder. The following illustration shows the logic that Auto Accept Agent follows when it processes a calendar request.
Single Meeting Requests
Auto Accept Agent accepts or declines new or updated meeting requests for single meetings based on the following criteria:
-
If the entire span of time between the start and end times of the meeting request is marked as free on the resource calendar, the meeting request is accepted.
-
If any portion of the span of time between the start and end times on the meeting request is marked as busy or tentative on the resource calendar, the meeting request is declined.
-
If a meeting update is requested that overlaps the time of the original meeting, Auto Accept Agent does not consider the time of the original meeting as busy and allows the update to be processed. For example, if you schedule a meeting for 15:00 to 16:00 (3:00 P.M. to 4:00 P.M.) on Friday, and then send an update to reschedule this meeting for 15:30 to 16:00 (3:30 P.M. to 4:00 P.M.) on Friday, Auto Accept Agent accepts the update even though the resource appeared as busy.
Recurring Meeting Requests
Auto Accept Agent expands, accepts, and declines recurring meeting requests according to the following parameters:
-
If a recurring meeting request does not contain an end date or contains an end date beyond the specified booking window, by default, Auto Accept Agent declines the request. If you set the EnforceRecurringMeetingEndDate parameter to False, Auto Accept Agent expands and schedules meeting instances up to the maximum allowed number of months contained in the BookingWindowInMonths parameter. However, because the recurrence will be truncated to the limit set by BookingWindowInMonths, the end date on the organizer's calendar could be different from the end date on the resource mailbox's calendar.
-
The RecurringMeetingConflictPercentageAllowed parameter sets a threshold for the amount of rescheduling required by the organizer when individual instances are declined because of a conflict. It does not enable double-booking.
-
The RecurringMeetingMaximumConflictInstances parameter sets a threshold for the number of conflicts allowed for a recurring meeting before the agent declines the request. This parameter works in conjunction with the RecurringMeetingConflictPercentageAllowed parameter, with the lower of the two thresholds determining whether the meeting request is accepted or declined. For example, if you set the RecurringMeetingConflictPercentage parameter to 25 percent and set the RecurringMeetingMaximumConflictInstances parameter to 2, and then send a meeting request with four instances of a meeting, a maximum of one instance could conflict for the meeting request to be accepted. In this case, the 25 percent threshold for four instances allows only one conflict, even though you have set the maximum number of conflicts allowed to 2.
The default value for both RecurringMeetingConflictPercentageAllowed and RecurringMeetingMaximumConflictInstances is zero. To allow conflicts, you must change both of these parameters.
For more information about the recurring meeting parameters, see "Configuring Auto Accept Agent" in the Auto Accept Agent Deployment and Administration Guide.
Cancellations
When a cancellation message is sent to the resource mailbox, Auto Accept Agent removes the meeting from the resource calendar to ensure that the time appears as free and can then be booked for other meetings.