TLDR – scroll to the bottom for a checklist of what you need to do
The task at hand seemed simple enough. I had a GMail account (firstname.lastname@example.org) and an Outlook.com account (also email@example.com) and I wanted to sync both to my Android device using the native apps, primarily GMail and Calendar (I usually prefer native apps to third party ones such as the Outlook app).But what should have been a trivial exercise ended up as a complicated, non-user friendly ordeal. I’ll share my story here for the benefit of others (and future self).
Adding the GMail account was, naturally, easy and effortless. This is virtually the first thing everyone does when they get their phone, so no surprise there. However, when I tried adding my Outlook.com account I got “Duplicate account – you’re already using this username for the account firstname.lastname@example.org”. It’s pretty clear what’s going on here. The GMail app is keying accounts by username only, and since my Outlook.com account happens to have the same username as my Google account, I’m locked out. I was very surprised that such a mature app would have such a trivial limitation, but what can you do. I also couldn’t find much about it on the web, so I decided I’d just work around the limitation (after reporting it to Google). The workaround was simple – I created an email@example.com alias for my account and made it the primary one. This resolved the duplicate account issue, but the story was not over.
While my e-mail seemed to sync fine, I couldn’t see any of my events in the calendar. I looked in every possible setting with no luck. Finally I found an MS Office support article that provided a clue for the issue. It turns out that when setting up Outlook.com accounts, you actually have to select Exchange in the account type selection dialog – not Outlook! And as if that’s not bad enough, if you happen to have that account already configured somewhere else (as an Outlook account, IMAP account, or Outlook app account), you won’t be able to add it properly (you will get redirected to the Microsoft account sign-in page which is not what you want). So I had to delete all existing references to my Outlook.com account (and removed the Outlook app for good measure) before I could get to the actual Exchange account addition dialog. You will know you’re in the right place when you are asked to provide your password in a native Android dialog (as opposed to a redirected Microsoft sign-in page).
But my troubles did not stop there. After multiple attempts, Android kept insisting that my Outlook.com password was incorrect. Of course, I had just used it successfully when I set up the exact same account as an “Outlook” account a few minutes earlier, and presumable my short-term memory was not damaged in the process. Fortunately, I quickly realized (with no help fom Android or Outlook.com, mind you) that the problem was the 2-factor authentication configured for my account. So I issued an app password, provided it in the Exchange account addition dialog, and finally my account was added – mail, calendar, contacts.
So to sum up:
- Make sure your Outlook.com primary alias/username is different from your GMail address.
- Remove the Outlook app and all references to your Outlook.com account in Android’s account settings.
- Add your Outlook.com as an Exchange account and use an app password if 2-factor authenticatino is enabled on your account.