Dashboard
RK
4,368
Total contacts (Google)
↑ 12 this week
0
Synced today
No runs today
0
Fields updated
0/4
Platforms connected
Set up API keys →
One-way enrichment

Google ↔ LinkedIn

Enrich your Google Contacts with current job titles, companies and LinkedIn profile URLs from your 1st-degree connections.

Bi-directional

Google ↔ Outlook

Two-way sync between Google Contacts and Microsoft Outlook / Office 365 via Microsoft Graph API. Resolves conflicts intelligently.

Bi-directional

Google ↔ Microsoft People

Sync with Microsoft People (people.microsoft.com) via Graph API. Covers personal contacts across Microsoft 365 accounts.

Bi-directional

Google ↔ Apple iCloud

Sync via iCloud CardDAV (contacts.icloud.com). Uses Apple app-specific password. Supports vCard 3.0 natively.

vCard 3.0 standard — All syncs use vCard 3.0 as the interchange format. Compatible with Google Contacts, Apple Contacts, Outlook, Thunderbird and all major contact managers. Reports open in Google Sheets for review before any changes are applied.
1
Connect accounts
2
Export contacts
3
LinkedIn lookup
4
Review in Sheets
5
Apply updates
LinkedIn — Chrome Extension
LinkedIn lookup runs through your logged-in Chrome session via the Claude extension (CDP port 9222). Make sure Chrome is open and you are logged into LinkedIn.
Google Contacts — API Key
For read-only enrichment. Get key →
Opens the diff report in Google Sheets. Get key →
Start with 50–100 to test. Your full list has ~4,368 connections (~90 min for all).
1
Connect accounts
2
Fetch both lists
3
Review in Sheets
4
Apply updates
Connect Google
Connect Microsoft Outlook / Office 365
Uses Microsoft Graph API (https://graph.microsoft.com/v1.0/me/contacts). Requires Azure app registration with Contacts.ReadWrite scope.
From Azure App Registration → Certificates & secrets
Microsoft People and Outlook both use the same Graph API contacts endpoint. If you already connected Outlook above, the same credentials apply here.
Microsoft Graph credentials
iCloud CardDAV Credentials
Apple does not support OAuth for web app CardDAV access. Use an app-specific password generated at appleid.apple.com → Sign-In and Security → App-Specific Passwords.
Your Apple ID login email
CardDAV endpoint: https://contacts.icloud.com/[principal-path]/carddav/ Protocol: CardDAV (RFC 6352) · Format: vCard 3.0 (RFC 6350) Auth: Basic auth with Apple ID + app-specific password Fields synced: FN, N, ORG, TITLE, EMAIL, TEL, ADR, URL, NOTE, BDAY
Date / TimeSync typeContactsUpdatedStatusReport
No sync runs yet. Start your first sync from the dashboard.

Google

People API (read contacts) + Sheets API (write reports). Get keys at console.cloud.google.com.

Microsoft

Graph API for Outlook + MS People. Register app at portal.azure.com. Scope needed: Contacts.ReadWrite.

Apple iCloud

CardDAV access using Apple app-specific password. Generate at appleid.apple.com → App-Specific Passwords.

Chrome CDP (LinkedIn)

LinkedIn lookup uses Chrome DevTools Protocol. Run 0_launch_chrome_cdp.ps1 to start Chrome on port 9222.

vCard 3.0 Field Mapping
All syncs use vCard 3.0 (RFC 6350) as the interchange format — compatible with all platforms.
BEGIN:VCARD VERSION:3.0 FN:Rashad Khan ← Full name N:Khan;Rashad;;; ← Last;First;Middle;Prefix;Suffix ORG:SmarterMergers.com ← Company TITLE:Founder & CEO ← Job title EMAIL;TYPE=WORK:rk@smartermergers.com ← Email TEL;TYPE=MOBILE:+1 202 555 0100 ← Phone ADR;TYPE=WORK:;;Washington DC;;;US; ← Address URL;TYPE=LinkedIn:https://linkedin.com/in/rashadkhan X-SOCIALPROFILE;TYPE=linkedin:... ← LinkedIn (Apple Contacts extension) NOTE:Met at MENA Finance Summit 2024 ← Notes END:VCARD
Quick start
1. Go to Credentials & API Keys
2. Enter your Google People API key
3. For LinkedIn: run 0_launch_chrome_cdp.ps1
4. Choose a sync job from the sidebar
5. Review the report in Google Sheets
6. Confirm to apply updates
API key setup per platform
Google: Enable People API → then Credentials → API Key
Microsoft: Register app → add Contacts.ReadWrite delegated scope
Apple: Generate app-specific password → (no OAuth available for web apps)
LinkedIn: No API needed — uses your logged-in Chrome session
Platform compatibility matrix
PlatformReadWriteFormat
Google ContactsCSV + vCard 3.0
LinkedIn✓ (Chrome)Scraped
Outlook / O365Graph API + vCard
MS PeopleGraph API + vCard
Apple iCloudCardDAV + vCard 3.0
Conflict resolution rules
LinkedIn enrichment: LinkedIn value only applied if Google field is empty or outdated (job title/company changed).
Outlook ↔ Google: Most-recently-modified wins. Conflicts shown in report for manual decision.
Apple ↔ Google: Same — last-modified wins. Phone/email additions are merged (never deleted).
Never deleted: No contact is ever deleted automatically. Deletions require explicit confirmation.