Push Company Contacts to Every Android — Zero Setup Required
Use Hexnode MDM to silently deploy Contactzilla shared address books to Android devices. Contacts appear in the native contacts app with no end-user action needed.
How Android Deployment Differs from iOS
If you've deployed Contactzilla address books to iPhones before, the Android flow is slightly different. On iOS, contacts are pushed directly using a CardDAV configuration profile — the protocol is built into the operating system. Android doesn't include native CardDAV support, so Contactzilla uses a lightweight sync connector app that runs in the background and delivers contacts into the device's native contacts app.
The overall deployment flow has four steps: first, you generate an Android configuration file inside Contactzilla for the address book you want to deploy. Then in Hexnode, you add the Contactzilla Sync connector app from Managed Google Play, apply the address book configuration to that connector using a policy, and assign the policy to a device group. From the end user's perspective, the contacts simply appear in their native Android contacts app — no manual setup required.
This guide assumes you already use Hexnode with Android Enterprise, that Managed Google Play is configured, and that your Android devices are enrolled in a device group. The example in this walkthrough uses a device group called "Android Skyline Field Group" to control which phones receive the address book.
Create an MDM User in Contactzilla
Before generating the Android configuration file, you need to create a special MDM user in Contactzilla. In your Contactzilla dashboard, open the address book you want to deploy and click Device Connections.
Select Android from the Connection Type dropdown. The next step is to assign the connection to a team member. Contactzilla lets you assign a connection directly to any individual team member — useful for one-off setups where someone scans a QR code. But for MDM rollouts, you need a device-only account called an MDM User.
Navigate to Team Members and click Add an MDM user — device-only access. The email address field is arbitrary — you can enter anything (e.g. mdm-android@yourcompany.com). Click Add and the MDM user appears under your team members list. Head back to Device Connections and select the MDM user you just created from the dropdown.
- Open your address book → Device Connections
- Set Connection Type to Android
- Go to Team Members → Add MDM user (device-only access)
- Enter any email address — it's arbitrary for MDM rollouts
- Return to Device Connections and select the new MDM user
MDM users are device-only accounts specifically designed for managed rollouts. They don't consume a regular team member seat and can't log in to the Contactzilla dashboard.
Choose Access Level and Label Sync Settings
With the MDM user selected, configure the access level for end users. Leave Label Sync at the default setting. For the access level, you have three options that control what end users can do with the synced contacts.
Full Read-Only is the most popular choice for managed rollouts because it prevents any accidental changes to your master contact list. Full Read-Write gives end users the ability to edit contacts on their device, with changes syncing back. If you choose read-write, there's a handy sub-option to give editing capability while still preventing users from deleting any contacts.
Selective Read-Only is a particularly powerful option. Instead of sending the entire address book to every device, you can choose one or more labels and only contacts tagged with those labels are deployed. This lets you segment which contacts different device groups receive — for example, sending only "Field Technicians" contacts to field devices.
- Full Read-Only — prevents accidental edits to master contacts (most common for MDM)
- Full Read-Write — users can edit contacts; optional toggle to prevent deletions
- Selective Read-Only — deploy only contacts matching specific labels
- Set the number of device connections to match your rollout size
- Click Create to generate the connection
Selective Read-Only is ideal when different teams need different subsets of your address book. Create separate device connections with different label filters for each device group.
Download the Android Configuration File
After creating the device connection, click Setup under the new connection entry. Then click Download the Android profile. This downloads a JSON configuration file that contains all the credentials and settings the Contactzilla Sync app needs to connect to your address book.
The JSON file contains several key fields you'll need later when configuring the managed app in Hexnode: the Organization name (your Contactzilla team name), an Email Address, a Password, and an Account Name (which corresponds to your address book name). Keep this file open — you'll copy values from it into Hexnode's managed configuration screen in a later step.
- Click Setup under the device connection
- Click Download the Android profile to get the JSON file
- The JSON contains: Organization, Email, Password, and Account Name
- Keep the JSON file accessible — you'll paste values into Hexnode shortly
Add Contactzilla Sync from Managed Google Play
Switch to your Hexnode console. Navigate to Apps in the main menu, click the Add Apps dropdown, and select Managed Google Apps. In the search field, type contactzilla sync and find the Contactzilla Sync app in the results.
Click through to the app listing and choose Select. The app is now available in your Hexnode console but is not yet installed on any devices. Installation happens through a policy, which you'll create in the next step.
At this stage, Contactzilla Sync is simply registered in your app catalog — think of it as making the app available for deployment rather than actually deploying it.
- Navigate to Apps → Add Apps → Managed Google Apps
- Search for
contactzilla sync - Click through and choose Select to add it to your console
- The app is now in your catalog but not installed on any devices yet
Create the App Installation Policy
Now create a policy to push the app to devices. Go to Policies and click New Policy. Select Create a fully custom policy and give it a descriptive name like Contactzilla install sync app.
Switch to the Android tab and scroll down to the App Management section. Click on Required Apps and then Configure. Optionally, tick the checkbox for Remove apps from device on policy removal — this ensures that if the policy is deleted or a device is removed from the group, the Contactzilla Sync app is automatically uninstalled. Then click the Add App dropdown, select Add App, search for Contactzilla, select it, and click Done. The app should now appear in the required apps list.
Next, still under App Management, open App Permissions and click Configure, then Add New App Permission. Find Contactzilla Sync in the list and click Select. On the permissions screen, leave most permissions at their default values. You only need to allow three specific permissions: set Read your contacts to Allow, Modify your contacts to Allow, and Send push notifications to Allow. Leave all other permissions on Default. Click Done and then Save.
- Policies → New Policy → Create a fully custom policy
- Name it descriptively (e.g.
Contactzilla install sync app) - Android tab → App Management → Required Apps → Configure
- Optional: tick Remove apps from device on policy removal
- Add App → search
Contactzilla→ Select → Done - Open App Permissions → Configure → Add New App Permission
- Set Read your contacts → Allow
- Set Modify your contacts → Allow
- Set Send push notifications → Allow
- Leave all other permissions on Default
Enabling "Remove apps from device on policy removal" is optional but recommended — it provides clean uninstallation if a device leaves the group or the policy is retired.
Assign the Installation Policy to a Device Group
With the app and permissions configured, assign this policy to your target device group. Switch to the Policy Targets tab at the top of the policy editor. Select Device Groups from the left sidebar and click Add Device Groups.
Find your Android device group in the list — you can browse through pages or use the search bar at the top. Tick the checkbox next to your device group and click OK. The group should now appear in the targets list.
Click Save in the top right corner and confirm the prompt that appears. At this point, the Contactzilla Sync app will automatically install on all devices in the selected group with the correct permissions applied. However, the app doesn't yet know which address book to sync — that requires a second policy.
- Switch to the Policy Targets tab
- Select Device Groups from the left sidebar
- Click Add Device Groups and find your Android group
- Tick the checkbox and click OK
- Click Save in the top right and confirm the prompt
Create the Address Book Configuration Policy
Now create a second policy to configure which address book the sync app should connect to. Go back to Policies, click New Policy, and again select Create a fully custom policy. Name it something like Contactzilla deploy address books Android.
Switch to the Android tab, scroll down to App Management, and this time open App Configuration and click Configure. Click Add New Configuration and select Contactzilla Sync from the app list.
You'll see the managed configuration screen with several fields. Leave the proxy fields (Proxy Type, Proxy Host, Proxy Port) as they are. You can optionally change the default sync interval — for example, setting it to 30 will make Contactzilla Sync refresh every 30 minutes instead of the default interval.
Now open the JSON file you downloaded from Contactzilla earlier. Map the fields as follows: paste the Organization value from the JSON into the Organization field (this is your Contactzilla team name, e.g. Skyline Development Group). Enter the same value into Managed By. Copy the Email Address from the JSON file and paste it into the email field. Copy the Password value (the text within the quote marks) into the password field. Finally, copy the Account Name from the JSON — this is the name of your address book. Leave everything else as-is, scroll to the bottom, and click Done, then Add.
- Policies → New Policy → Create a fully custom policy
- Name:
Contactzilla deploy address books Android - Android tab → App Management → App Configuration → Configure
- Add New Configuration → select Contactzilla Sync
- Leave Proxy Type, Proxy Host, Proxy Port unchanged
- Optional: set sync interval to
30for 30-minute refresh - Organization field → paste team name from JSON (e.g.
Skyline Development Group) - Managed By → same value as Organization
- Email Address → copy from JSON file
- Password → copy from JSON file (within quote marks)
- Account Name → copy from JSON file (this is your address book name)
- Click Done → Add
Double-check that you're copying the password value within the quote marks from the JSON file, not including the quotes themselves. A mistyped credential will cause a silent sync failure.
Assign the Configuration Policy and Verify
The final step is to assign this configuration policy to the same device group. Follow the exact same steps as with the installation policy: switch to the Policy Targets tab, select Device Groups, add your Android device group, and click Save.
Once both policies are applied, the Contactzilla Sync app installs silently on all devices in the group, connects to your address book using the managed configuration credentials, and begins syncing contacts into the native Android contacts app. End users don't need to do anything — the contacts simply appear.
To verify the deployment, open the native Contacts app on any enrolled Android device. You should see the shared contacts from your Contactzilla address book listed alongside any existing device contacts. The sync connector runs in the background and refreshes at the configured interval.
- Switch to Policy Targets → Device Groups → add your group → Save
- Both policies (install + config) must target the same device group
- Contacts appear automatically in the native Android Contacts app
- No end-user action required — fully silent deployment
- Verify by opening the Contacts app on an enrolled device