I think I've fixed this now.
Answer in short
Check that meeting request processing is enabled.
- Previous Outlooks: Tools -> Options -> Email Options -> Tracking Options -> Process requests and responses on arrival and Process receipts on arrival
- Outlook 2010: File -> Options -> Mail -> Tracking -> Automatically process meeting requests and responses to meeting requests and polls
This did the trick for me.
Answer in more detail
Since Outlook 2000 but pre-Outlook 2007 there has been a process called Outlook Sniffer. Outlook Sniffer is responsible of following actions:
- Meeting invites (adding tentative meetings to your calendar)
- Meeting updates (updating details in your calendar)
- Task updates
- Message recall (when someone recalls a message you've received)
- Responses to voting buttons (when you sent a mail with voting buttons, this adds the voting responses back to the original item)
The Outlook Sniffer runs as a MAPI idle process. This means the Sniffer will not process when Outlook downloading emails from the server, where as it processes if you are composing and email. So if the Outlook is busy due some MAPI activity, which can be due to a third party add-on, the Sniffer may not trigger and you will not get the necessary output as desired.
When a new meeting request arrives in your outlook inbox, sniffer marks it in the outlook calendar as tentative appointment, so you will get a reminder for that request even if you forget to accept/reject the meeting request. Sometimes the time taken for different meeting requests will differ; this is because the sniffer runs only when MAPI is idle.
There can be several reasons for the Sniffer to not process calendar requests.
- Sniffer only works with Inbox items. If you don't get the request in your Inbox, for example due to a rule, Sniffer will not act on it.
- Outlook might be configured in a way that Sniffer will not check incoming requests. This is handled by "Automatically process meeting requests" setting defined in email tracking settings.
- If user mailbox is configured in more than one machines, only one of them can be the Sniffer owner. /sniff startup parameter can be used to check this, and /cleansniff to clear out current Sniffer ownership state.
- Third-party add-on might mark an item as sniffed, and in that case Sniffer will not act on it. This can be checked using the tool MFCMAPI from item property PR_PROCESSED.
- As previously explained, if MAPI is not idle, Sniffer never runs. A third-party extension might cause it to be never idle. In this case, you can try disabling add-ons.
- Sniffer idle time might be set to too long. In this case, it can be so slow it is never noticed, or some other activation mechanism always processes items before Sniffer has a change to. This setting is defined in HKEY_Current_User/Software/Microsoft/Office/11.0/Outlook/Options/General, in the following keys:
- AutoProcessIdleTime – how much MAPI idle time is required before the Sniffer will act. In milliseconds, DWORD value.
- AutoProcessIdleTimeMax - this says to wait for how long for the next try if the MAPI was not idle on the previous attempt. In milliseconds, DWORD value.
On Outlook 2007, "all meeting message processing for a regular mailbox is done by an Exchange assistant called Calendar Assistant which add meetings to your calendar as tentative meetings automatically." What they propose as a fix is to
- Try to run Outlook /cleansniff
- If that fails, there are instructions to edit registry keys. Proceed with caution, I take no liability as I haven't tried this myself.
Information was learned from this thread and this article.