How to Resolve Duplicate Outlook for iOS Contacts

Outlook, iCloud, and Contacts

I last wrote about managing contacts in Outlook mobile in March 2017. Lots has happened since, especially to expand the functionality of Outlook mobile. But one thing that hasn’t changed is the frustration of multiple contacts in Outlook for iOS. I can’t say if the same thing happens in Outlook for Android because I have never used that client (in anger).

In any case, to set the context for iOS, we know that synchronization of Outlook contacts is one-way from Exchange Online to the device. Outlook for iOS needs a synchronization target to get contacts to the native contacts app. Often iOS contacts are stored in iCloud. In this case, Outlook synchronizes contacts to the contacts app and the contacts app then synchronizes to iCloud.

One advantage of storing contacts in iCloud is that this handles contact synchronization with multiple Apple devices (for example, an iPhone and an iPad). However, in this scenario, Microsoft recommends that contacts for an account are only saved on one device as otherwise the potential for contact duplication becomes very high.

Originally you could only add, update, or remove contacts through Outlook desktop or OWA, but in 2017 Microsoft added the ability to add, edit, and delete contacts through mobile clients. Contacts added through the iOS contacts app aren’t known to Outlook and therefore don’t synchronize back to the contacts folder in the user’s mailbox.

Outlook Contact Synchronization

Updates made in Outlook contacts (in desktop, OWA, or mobile) are synchronized by Outlook mobile to the iOS contacts app. Outlook must be running in the foreground (or active in memory) for synchronization to occur. Outlook contacts are clearly marked when viewed through the iOS contacts app because Outlook creates an application-specific link for the contact (Figure 1). When clicked, the link opens Outlook and displays the contact details.

The link to Outlook in an iOS contact record
Figure 1: The link to Outlook in an iOS contact record

The contact synchronization mechanism is different in Outlook for Android and isn’t handled here. However, the basics are similar. Outlook synchronizes with the native contact app and handles contact updates processed on the device.

Synchronization Woes

Synchronization glitches can happen from time to time. Microsoft is working with Apple to resolve why errors occur, especially in synchronization of Outlook contacts from iCloud to multiple devices. Making sure that Outlook mobile only saves contacts for an account on a single device is an easy step to limit the potential for duplication.

The symptoms of synchronization glitches might not be immediately obvious. In fact, they’re more likely to accrue over time. One day you might realize that something’s up when you look at your iOS contacts and find that duplicate contacts exist or that a bug caused bad contacts to be created. For instance, Figure 2 shows that a set of contacts are listed as “Microsoft.” This came about when I updated a bunch of contacts in Outlook to set their company to be Microsoft.

A synchronization error creates some odd iOS contacts
Figure 2: A synchronization error creates some odd iOS contacts

The Solution

One solution is to wait 24 hours for Outlook’s internal contact reconciliation process to run. The reconciliation process is designed to iron out synchronization problems. Most people aren’t aware that the process runs in the background to do things like quashing duplications, so you can leave Outlook alone to solve any problems it finds.

Those who want more immediate action can run one of the many duplicate contact detection and merge apps available in the iOS app store. However, Outlook is the master source for its contacts, so fixing issues on the device isn’t a good solution. Sometimes you need to go all in and have Outlook resynchronize all its contacts to the device. Here’s how to force a complete resynchronization:

Disable Save Contacts

In Outlook for iOS, open Settings and select your Exchange Online mailbox. Turn the Save Contacts slider (Figure 3) to Off. You’ll be asked what to do with the Outlook contacts saved on your iPhone. Select Delete from my iPhone.

Turning Save Contacts Off for an Office 365 account
Figure 3: Turning Save Contacts Off for an Office 365 account

Check Contacts

Open the iOS Contacts app and check that the problems previously observed are resolved. If not, you can force a complete resynchronization with Outlook with these steps:

  • Go to the Help and Feedback section of Outlook settings.
  • Select Delete All Saved Contacts.

Outlook reports that it will retain the contacts and only remove them from the contacts app (and subsequently from iCloud) and the device (Figure 4).

Deleting saved iOS contacts
Figure 4: Deleting saved iOS contacts

Then go back to Settings and reenable Save Contacts for the mailbox to restart the synchronization. You’ll be asked if you want to save your Outlook contacts to your device. Once you confirm, Outlook mobile will download the contacts to the device. You might see a prompt to plug in to a power source while this happens. I never had a problem running this process several times at different states of device power, but I guess it might be a factor if you wanted to resynchronize thousands of Outlook contacts over a slow connection.

Validate Your Contacts and Good to Go

The last step is to check contacts through the iOS app. At this point, you should see contacts that you have added on the device (or indeed, those added by Siri) and the set synchronized by Outlook. The process described above is a sort of fundamental reset to resolve all the synchronization errors since the last full download. Although I can’t guarantee it will work for you, and it won’t do anything to fix errors in contacts added manually, it’s done a good job for me.


Client-side stuff can be terribly specific to a device and versions of the app and operating system. We tend to stay away from this level of detail about mobile apps in the Office 365 for IT Pros eBook, but we like the ability to publish stuff like this here.

3 Replies to “How to Resolve Duplicate Outlook for iOS Contacts”

  1. @Tony , thanks for the write up. I have seen multiple organizations have user migrations from Exchange Active Sync to the MAMable Outlook Mobile experience get tripped up by contacts. Particularly on iOS, users want to know why the ability to natively see and modify the org owned contact has left the Contacts app. It’s a struggle to explain why contact management in the Outlook Mobile app superior and modern. In most cases users see one way sync back to Contacts as convoluted and as your article points out, easily to break.

    The shame here is that I don’t believe it has to be this way. Years ago Apple introduced CallKit(https://developer.apple.com/documentation/callkit) which includes the Call Directory app extension. This excerpt explains exactly the UX that I would expect out of a well behaved iOS app responsible for contact management.

    “Identifying Incoming Callers

    When a phone receives an incoming call, the system first consults the user’s contacts to find a matching phone number. If no match is found, the system then consults your app’s Call Directory extension to find a matching entry to identify the phone number. This is useful for applications that maintain a contact list for a user that’s separate from the system contacts, such as a social network, or for identifying incoming calls that may be initiated from within the app, such as for customer service support or a delivery notification.

    For example, consider a user who is friends with Jane in a social networking app, but who doesn’t have her phone number in their contacts. The social networking app has a Call Directory app extension, which downloads and adds the phone numbers of all of the user’s friends. Because of this, when the user gets an incoming call from Jane, the system displays something like “(App Name) Caller ID: Jane Appleseed” rather than “Unknown Caller”.”

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.