Skip to content
Contactzilla
Back to Blog

How to Sync Company Contacts to iPhones with Mosyle

Headshot Portrait of Nick Holder, MDM specialist at Contactzilla

Nick Holder

MDM Deployment Specialist

Sync company contacts to iPhones with Mosyle: two iPhones showing Contactzilla contact lists and a padlocked company contact card

If your iPhones and iPads are managed in Mosyle, you can put a company contact list straight into the built-in Contacts app on every device, kept up to date without anyone touching the phones. The setup takes one custom profile in Mosyle and an address book that lives somewhere central.

Short answer: Mosyle delivers the contact account, and a CardDAV contact server such as Contactzilla holds the list. You build the address book in Contactzilla, download a ready-made .mobileconfig profile, upload it to Mosyle under Certificates / Custom Profiles and assign it to your devices. Once it has installed, tick Do not auto-install the profile after saving so later edits in Mosyle don't trigger CardDAV password prompts on users' phones.

Can Mosyle push contacts to the iPhone Contacts app?

Yes. Mosyle can install a contact account on managed iPhones and iPads through a configuration profile, and iOS then syncs that account in the background like any other contacts account. What Mosyle doesn't do is hold and maintain the contact list itself. The list has to live on a contact server the phones can sync from, and that is the part Contactzilla provides.

Apple devices support CardDAV, the open standard for syncing contacts, out of the box, so no extra app is needed on the iPhone. Apple's deployment guide lists CardDAV alongside IMAP, LDAP and CalDAV as standards-based services iPhone and iPad work with directly. The contacts appear in the Phone, Messages and Contacts apps, so caller ID works for company numbers as soon as they sync.

Why vCards, shared mailboxes and the Outlook app don't solve company contacts on iPhone

Most teams try something simpler first. Sending a vCard file by email or AirDrop gives each person a static copy that goes out of date the moment someone changes their number. Google or Exchange shared contacts can sync to iPhones, but everyone who can see the list can usually edit or delete it, and those changes sync back to everyone else. The Outlook mobile app shows company contacts inside Outlook, not in the native Contacts app where the phone looks up callers.

What IT teams usually want is one contact list, maintained in one place, that lands in the native Contacts app read-only and updates itself. That combination is what the Mosyle and Contactzilla setup gives you.

Key definitions: CardDAV, configuration profiles and Mosyle custom profiles

CardDAV: an open standard that lets a device sync contacts with a server, used natively by iPhone and iPad. Our What is CardDAV? explainer covers it in more detail.

Configuration profile (.mobileconfig): a file that tells an Apple device how to set up an account or setting. Apple lists the contacts account among the device management payloads for iPhone and iPad. Contactzilla generates a profile containing the CardDAV server address and the account details for your address book.

Certificates / Custom Profiles: the Mosyle profile type used to upload your own .mobileconfig file and assign it to devices or groups.

Device connection: the Contactzilla setting that controls what one deployment can see and do, such as which contacts it receives and whether the phone can edit them.

What you need before you push contacts to iPhones with Mosyle

  • Mosyle with your iPhones or iPads enrolled, and admin access to the Mosyle dashboard. The Certificates / Custom Profiles profile type is available in Mosyle Business, including the free tier (Mosyle Business Free, for up to 30 devices), and in Mosyle's education platform.
  • A Contactzilla account with an address book containing the contacts you want to deploy.
  • An MDM team member in Contactzilla, a dedicated account that device deployments run under.

Step 1: Get your business contacts into one address book

Start by putting your company contact list somewhere central. Contactzilla can import a CSV or vCard file, which suits a one-off move from a spreadsheet, or stay in sync with a source system such as Microsoft 365, through Microsoft Entra ID, or a Google Workspace directory. With a directory sync, new starters and leavers flow through without manual exports. Either way, the address book becomes the single copy of your contact list that you maintain, and every phone follows it.

Step 2: Create a read-only iOS device connection for your iPhones

This is the main decision in the whole setup, and it's made in Contactzilla rather than in Mosyle. Create a device connection for the address book with the connection type set to iOS iPhone/iPad, assign it to your MDM team member, and set the number of devices you plan to deploy to. Then choose the access type, which decides who sees what and whether they can edit:

Access typeWhat the phone getsTypical use
Full Read OnlyEvery contact in the address book, which users can't changeCompany-wide directory on managed phones
Selective Read OnlyOnly contacts carrying the labels you choose, read-onlyDifferent lists for different teams, sites or departments
Full Read/WriteEvery contact, and users can add or edit themSmall teams who share and maintain the list together

Read-only is the usual choice for managed devices, because it stops personal numbers ending up in everyone's company list. On read-only deployments you can also add a lock emoji to each contact, so users can see at a glance that a contact is managed centrally. If you need different lists for different groups, Selective Read Only sync lets one address book serve all of them.

Contactzilla Create New Device Connection form with Connection Type set to iOS iPhone/iPad, Access Type set to Full Read Only, the lock emoji option ticked and 150 device connections.
An iOS device connection in Contactzilla: choose Full Read Only, add the lock emoji if you want it, and set the number of iPhones and iPads you'll deploy to through Mosyle.

Step 3: Download the profile from Contactzilla

When you click Create, the new connection appears as a card. Open Setup on the card and choose Download Profile to get a .mobileconfig file with the server address and account details already filled in. There's nothing to type on the phone and nothing for users to set up, which is what makes the same file work for ten devices or a thousand.

Contactzilla iOS device connection card with the Setup menu open and Download Profile highlighted, the option that downloads the .mobileconfig file for Mosyle.
Download Profile gives you the .mobileconfig file that you upload to Mosyle in the next step.

Step 4: Upload the profile to Mosyle as a custom profile and assign it

In Mosyle, the profile goes in under Certificates / Custom Profiles. If that profile type isn't in your sidebar yet, you activate it once from Management. Create a new custom profile, upload the Contactzilla file, assign the devices or groups that should get the contacts, and save. Leave Do not auto-install the profile after saving unticked for this first install, so the profile goes out to the assigned devices straight away.

Mosyle Certificates / Custom Profiles form with the profile name Contactzilla - Project Cascade Tower, the Select File button for the .mobileconfig file, a device group assignment and Save.
The Contactzilla profile uploaded as a Mosyle custom profile and assigned to a device group. Leave "Do not auto-install the profile after saving" unticked for the first install.
Tip 💡 Want the exact clicks? Our Mosyle deployment guide walks through every screen. Using a different MDM? We have guides for Jamf Pro, Microsoft Intune, IBM MaaS360 and Workspace ONE.

Step 5: Tick "Do not auto-install the profile after saving" in Mosyle

This is the Mosyle-specific step, and skipping it is what causes most problems later. By default, when you save any change to an assigned profile, Mosyle removes it from the devices and installs it again. For a CardDAV account, that reinstall can make iPhones ask users for the account password, which they won't have. Once the first devices show as installed in the profile's Compliance Status, open the profile again, tick Do not auto-install the profile after saving and save. Keep it ticked from then on.

Mosyle custom profile settings for Contactzilla - Project Cascade Tower with Do not auto-install the profile after saving ticked, which stops Mosyle reinstalling the CardDAV profile and triggering password prompts.
Once the first devices show as installed, tick "Do not auto-install the profile after saving" so future edits don't reinstall the profile on every iPhone.

The trade-off is that devices added to the group later don't install the profile automatically. Mosyle holds it for them instead, shown as On hold on the device's Profiles tab, and you start the install with Reinstall. Despite the name, that button triggers the first install on a new device.

Mosyle Device information window for an iPhone showing the Contactzilla - Project Cascade Tower profile On hold, with the Reinstall button used to install it on a newly added device.
With auto-install switched off, new devices show the profile as On hold. Reinstall starts the first install.

Step 6: Check the shared contacts on an iPhone

On an iPhone that has received the profile, the company contacts appear in the Contacts app as their own account, and the account is listed under Settings > Contacts > Contacts Accounts. From then on, changes you make in Contactzilla reach the phones on their own the next time they sync, usually within about 15 minutes. Contacts are stored on the device, so they're still there without a signal.

Three iPhone Contacts screens showing the Project Cascade Tower address book with its lists, the emergency_contact list opened, and the read-only contact Dylan Harper marked with a lock emoji.
On the iPhone, labels arrive as lists in the Contacts app, so staff can open a list such as emergency_contact and call straight from it.

Why does Mosyle make iPhones ask for a CardDAV password?

A CardDAV password prompt on a managed iPhone almost always means the account was removed and put back, and the phone didn't get the password with it. With Mosyle, the most common cause is the default behaviour described in Step 5: saving a change to the assigned profile reinstalls it on every device. Ticking Do not auto-install the profile after saving after the first install avoids this.

iPhone Contacts app showing a Password Incorrect prompt asking for the password for the CardDAV account Project Cascade Tower, over a read-only contact marked with a lock emoji.
The CardDAV password prompt users see when a CardDAV profile is removed and reinstalled, for example after saving changes to an assigned profile in Mosyle.

In our testing, changing which device group the profile is assigned to has also removed the CardDAV password from devices. The safe approach is to set the profile's assignment once, then add or remove devices through the device group itself rather than editing the profile.

Tip 💡 Seeing password prompts already? Our guide to why iPhones keep asking for a CardDAV password covers the other common causes and how to clear them.

When Mosyle and Contactzilla are the right fit for company contacts on iPhone

  • Your organisation runs Apple devices in Mosyle and wants company contacts in the native Contacts app, not inside a separate app.
  • You want the contact list read-only on phones, so it can't be edited or polluted by personal numbers.
  • Different teams, sites or year groups need different contact lists from one maintained source.
  • Contacts already live in Microsoft 365, Google Workspace or a spreadsheet, and you want phones to follow that source without manual exports.

Next steps

Frequently Asked Questions

Does Mosyle contact sync work on iPads as well as iPhones?

Yes. Apple supports the CardDAV contacts payload on iPadOS as well as iOS, so the same Contactzilla profile can be assigned to iPads in Mosyle, and the contacts appear in the iPad's Contacts app.

Can users delete or edit the company contacts?

Not on a read-only deployment. A user can delete a contact from their own phone, but the server's copy is the master and the contact comes back on the next sync. If users need to add or edit contacts, a read/write connection allows that, with an option to block deletions from the master list.

Can different Mosyle device groups get different contacts?

Yes. Either create a separate address book per group, or keep one address book and use Selective Read Only sync to send only labelled contacts to each deployment. Each deployment has its own profile, which you assign to the matching Mosyle device group.

Will the shared contacts show up as caller ID on iPhone?

Yes. Because the contacts sit in the native Contacts app, the Phone and Messages apps use them for caller ID, so an incoming call from a colleague or supplier shows their name rather than a bare number.

What happens when someone leaves the company?

Remove or update them in Contactzilla, or in the source system Contactzilla imports from, and the change reaches every phone on the next sync. To take the whole address book off a device, remove that device from the profile's assignment in Mosyle, and the account and its contacts are removed from the iPhone.

Can Mosyle push contacts to Android phones?

No. Mosyle manages Apple devices only. For Android, Contactzilla uses the Contactzilla Sync app deployed through an Android MDM, and our Android CardDAV guide explains the setup.

Do the contacts still work without a signal?

Yes. The contacts are stored on the device, so they're available offline and caller ID still works. The phone picks up any changes the next time it connects and syncs.

Ready to supercharge your contact book?

Grow sales and stay organized with better contact management for your team.

No credit card required • 14-day free trial

Contactzilla contact management dashboard on a laptop