Your Google Contacts list is where phone numbers and email addresses end up. Notion is where you keep the client, the project and the follow-up that go with them. Getting the two to agree is the part nobody warns you about.
There are three realistic routes, and they differ less in effort than in what survives the trip: which fields arrive, whether a later edit reaches the other side, and what happens to duplicates the first time you run it.
Quick answer
Notion has no built-in Google Contacts sync. A one-time CSV import copies a snapshot and never updates it. A Zapier-style automation moves changes one direction per workflow. A two-way sync tool such as 2sync keeps both sides current, and it is the only route here where an edit in Notion reaches Google.
Does Notion sync with Google Contacts natively?
No. Notion's import page lists CSV, Markdown, Word, HTML, PDF and a handful of apps such as Evernote, Trello and Asana, and Google Contacts is not among them. Anything beyond a one-off file needs an outside tool.
The three routes at a glance
| CSV import | Automation (Zapier) | Two-way sync tool | |
|---|---|---|---|
| Direction | Google to Notion, once | One per workflow | Two-way, set per field |
| Runs by itself | No | Yes, on a trigger | Yes, every 2 to 5 min with 2sync |
| Updates existing contacts | No, adds rows | Only if you build an update step | Yes |
| Edit in Notion reaches Google | No | Only with a second workflow | Yes |
| Best for | A one-time snapshot | One-way feeds inside a bigger chain | A contact list you keep editing |
What survives the sync
The method decides how much of a contact arrives, and what happens when it changes.
- CSV import. Whatever columns you keep in the export become Notion properties, once. Notion's help page states that imports add rows and do not update existing ones, so re-importing a changed list gives you duplicates, not updates.
- Automation. Fields move only if you map them in each workflow step. Zapier's Google Contacts triggers are New Contact, New or Updated Contact and New Group.
- Two-way sync. The field set is fixed by the tool. With 2sync it is the standard Google Contacts field set, each field with its own direction.
For 2sync, here is what round-trips and where the edges are:
| Field | Notion property | Edge to know |
|---|---|---|
| Full, first and last name | Title, Rich Text | Editing either side updates the other |
| Email, up to 3 | Extra addresses go to Email 2 and Email 3 | |
| Phone, up to 3 | Phone Number | Extra numbers go to Phone 2 and Phone 3 |
| Email and phone labels | Rich Text | Home, Work or Mobile on each address and number syncs as its own field |
| Address | Rich Text | Address 1 splits into line, city, state, zip and country; Address 2 and 3 give country and label only |
| Company, job title, nickname | Rich Text | None |
| Birthday | Date | Year is dropped if Google has none |
| Photo | Files | Large images are optimized |
| Labels | Multi-select | A label created in Notion creates a Google group |
Custom Google Contacts fields do not sync. If you need an extra column, add it as a Notion-only property. The field reference lists every field and its type.
Method 1: export a CSV and import it into Notion
This is the free route, and it suits a snapshot. It stops being a good idea the day you edit a phone number.
To export from Google:
- Open Google Contacts and tick the contacts you want, or select all.
- Click More actions, then Export.
- Choose Google CSV and click Export.
Then import into Notion:
- In Notion, go to Settings, then Import, then CSV, or type
/csvon a page. - Pick the file and map each column to a property.
Three limits matter. Notion allows 5 MB per CSV on the Free plan and 50 MB on paid plans. A new CSV import cannot create relations. And a later import adds rows rather than updating the ones you already have.
Google's export carries far more columns than a CRM needs, so delete the ones you will never read before importing.
Method 2: build a Zapier workflow
If you already run Zapier, one workflow gets new Google contacts into Notion without touching a file. Pair the New Contact or New or Updated Contact trigger with a Notion action such as Create Data Source Item.
The catch is direction. A workflow moves data one way, so sending Notion edits back to Google means a second workflow with its own trigger and its own mapping.
Zapier also offers Find or Create Data Source Item, which searches Notion before it writes. That is the step that keeps a trigger from adding the same person twice.
Our comparison with Zapier sets out where a sync tool and an automation platform differ, and Zapier alternatives for Notion covers the rest of that field.
Method 3: use a two-way sync tool
A sync tool keeps one Notion database and one Google Contacts list matched, so an edit on either side shows up on the other. Three show up for this pair, and they make different choices.
- 2sync syncs the standard Google Contacts field set two-way, sets direction per field, and runs every 2 to 5 minutes depending on plan.
- Unito maps name, phone, email, company, website and address. Its own Google Contacts guide, last updated 08 Apr 2024, recommends a one-way flow from Google to Notion so edits in Notion cannot touch your Google list. Here is how it compares with 2sync.
- SyncPenguin lists duplicate matching and historical data merge for contact syncs.
Pick on the field list, the direction you want and the first-run behavior, not on the logo.
Set up two-way sync with 2sync, step by step
Setup takes about five minutes. You need a Google account and a Notion workspace.
1. Connect your Google Contacts account
Open the Google Contacts and Notion onboarding and click Connect Google Contacts. Sign in with Google and grant access to your contacts, then choose which contact groups to sync, or all of them.
2. Connect Notion
Take the Contacts template that 2sync offers, or paste the link to a database you already use after adding 2sync under ••• > Add connections.
3. Map the fields
Set each field to two-way, one-way to Notion or one-way to Google Contacts. + Add Field reveals the optional ones.
4. Add a filter
This step is optional. Add one if you want a subset, for example Labels contains Clients.
5. Turn the sync on
Run a test first to check the mapping, or skip the test and start the sync right away.
Contacts arrive as pages, one per person, with the properties you mapped. Open a row and a contact that has an email, a phone, a company and a birthday looks like this on the Notion side.
If you do not have a database yet, our free Circles of Trust template is built for this sync, and best Notion CRM templates covers the alternatives. For a longer walkthrough of the CRM side, see how to build a personal CRM in Notion.
For the full option list, the Google Contacts setup guide covers every screen.
What happens to duplicates on the first run
A first sync surfaces the duplicates your list already has, and each method handles them differently.
- CSV import. Nothing is checked. Import the same file twice and you get every row twice.
- Automation. Duplicates depend on whether you built a Find or Create step.
- SyncPenguin. It asks on first run whether to merge historic data, in either or both directions, and recommends a backup before you do.
- 2sync. The docs advise cleaning up first in Google with its Merge & fix tool. They also suggest syncing only labeled contacts, so orphan entries stay out, and using the bulk editor to remove duplicate pages in Notion.
A good first run goes in this order:
- Merge duplicates in Google.
- Apply a label filter.
- Sync a small labeled group.
- Check the result.
- Widen the filter.
The 25,000-contact limit
Google Contacts lets you save up to 25,000 contacts or 20 MB, photos not included, per its help page.
Two related limits matter when you move contacts in bulk. Google asks you to import no more than 3,000 contacts at a time and to split bigger CSVs first, per its import guide. And on 2sync, the Solo plan covers up to 3,000 synced items, while Premium and Pro are unlimited.
If you are near 25,000, sync a label such as Clients or Partners instead of the whole address book. Your Notion database stays focused and well under any cap.
Which route fits
- A one-time copy of a list you will not touch again: CSV import.
- New contacts flowing one way as one step in a longer automation: Zapier.
- A contact list you edit in both apps, with names, phones, labels and photos kept current: a two-way sync tool.
Keep Google Contacts and Notion in sync
Connect Google Contacts, pick a Notion database, map the fields and filter by label. Changes on either side reach the other within minutes. Solo is $7/month billed annually, or $9 monthly, after a 14-day free trial.
If your contacts are in Outlook rather than Google, how to use Outlook Contacts as a CRM covers the same ground for Microsoft 365.
FAQ
How do I get Google Contacts to sync?
It depends which sync you mean. Getting contacts onto a phone is Google's own account-level sync, switched on in the device settings (Google's guide), and it has nothing to do with Notion. Getting them into Notion needs one of the three routes above, because Notion has no native connection.
Can Notion sync with Gmail?
Yes, in one direction. 2sync pulls Gmail messages into a Notion database and never writes back, so Notion holds a searchable archive next to your contacts and projects. How to sync Notion with Gmail has the setup.
Why is my Notion not syncing?
A sync runs on an interval rather than instantly, every 5 minutes on Solo, 3 on Premium and 2 on Pro, so a fresh change can take a cycle to appear. A filter also keeps out anything outside it, and a field set to one-way will not carry edits back the other way. Advanced sync settings covers the options.
How to sync Google Tasks with Notion?
The same way as contacts: a two-way sync between one Notion database and your Google Tasks lists, with the direction set per field. How to sync Notion with Google Tasks walks through it.
What happens if I delete a contact?
By default, deleting a contact un-syncs it and leaves the other side untouched. Turn on Allow deletion in Sync Settings if you want a delete to apply in both apps.
Disclaimer: The Notion import screenshot in this article is from Notion, and the Zapier screenshot is from Zapier.


