domainwidedelegation.comStart free

Use cases → Reporting and data

Synchronise Google Contacts to a CRM in bulk

Extract all user contacts from Workspace and push them into your CRM, using domain-wide delegation for reliable, ongoing sync.

Who it is forIT and automation teams responsible for keeping CRM contact data current across all Workspace users.
APIsAdmin SDK
Typical scopesadmin.directory.user, admin.directory.user.readonly

The problem

CRMs quickly go stale if they don’t get contact updates from everyone’s Google account. Manual export/import is error-prone and leaves gaps when staff join, leave, or update their contacts. Doing this at scale, reliably, is not trivial.

How it works

  1. List all active users in the Workspace domain using the Admin SDK.
  2. For each user, impersonate their account and fetch their contacts.
  3. Map Google contact fields to CRM fields, handling format or schema mismatches.
  4. Batch-upload or update contacts in the CRM, tracking sync state for each user.
  5. Schedule incremental syncs to ensure ongoing freshness and catch changes.

What changes

The CRM reflects live Workspace contact data without manual exports, and new or changed contacts propagate automatically across systems.

The trap in this one. The Admin SDK's user list is eventually consistent: newly provisioned users may not appear for several minutes, and recently deleted users can linger. If your sync job runs too soon after a user change, contacts can be missed or attempted fetches will fail with 'User not found'. This is silent unless you log and reconcile counts, leading to incomplete syncs nobody notices until a CRM record is missing in a meeting.

Questions people ask

Does this sync shared contacts or only personal contacts?

This pattern fetches personal contacts per user. Shared directory contacts require a separate approach using the domain-wide Directory API.

How do you handle contacts for suspended or deleted users?

Suspended users' contacts are still accessible, but deleted users disappear from the Admin SDK list after a short delay. It's safest to snapshot contacts before user deletion.

Want this built?

This is a pattern we run in production. We will set up the delegation and build this on top of it — $500 per hour, most of it working the same day.

Talk to us Or read the setup guide

Related use cases

Monitor total Drive storage usage across the organisation

Track and report aggregate Drive usage per user and group, so you see quota risks before they hit.

Report on resource account usage across the domain

Track which meeting rooms or shared resources are actually booked and used, using a delegated service account for reliable reporting.

Generate usage reports for Shared Drives via API

Automate reporting on file counts, storage, and activity within Shared Drives to satisfy audit, billing, or capacity planning requirements.