# 2-way sync Google Contacts and Notion: n8n workflow template

> Started by a clock, and works across Notion. 60 steps, 4 branches: large, and worth reading before you trust it with anything live.

Source: https://millionrounds.com/workflow/2-way-sync-google-contacts-and-notion (Millionrounds; every figure on the page links to its filing or article)

[Automation library](https://millionrounds.com/workflows) · [Data collection](https://millionrounds.com/workflows?category=Data+collection#library)

# 2-way sync Google Contacts and Notion

Started by a clock, and works across Notion. 60 steps, 4 branches: large, and worth reading before you trust it with anything live.

Large

[Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2F2-way-sync-google-contacts-and-notion)

**60 steps** Large: read it before trusting it with anything live

**4** Branches: places the flow splits

**0** Loops or waits

**1** Service it connects to

## The flow

Starts it 5 Logic 27 Service 28

The steps in the order they run, from what starts it.

- 1 **Page Created** Notion trigger *Starts it*
- 2 **Page updated** Notion trigger *Starts it*
- 3 **List all groups1** Http Request *Service*
- 4 **Notion1** Notion *Service*
- 5 **Globals** Set *Logic*
- 6 **Every 1min1** Schedule trigger *Starts it*
- 7 **Every day at 3am** Schedule trigger *Starts it*
- 8 **When clicking ‘Test workflow’** Manual trigger *Starts it*
- 9 **Merge1** Merge *Logic*
- 10 **Split Groups** Split Out *Logic*
- 11 **Get all contacts** Google Contacts *Service*
- 12 **Globals4** Set *Logic*
- 13 **Globals3** Set *Logic*
- 14 **Globals2** Set *Logic*
- 15 **Organize fields** Set *Logic*
- 16 **Filter by Group** Filter *Logic*
- 17 **Retrieve Sync Token** Notion *Service*
- 18 **Get all contacts2** Google Contacts *Service*
- 19 **Page was edited by user** Filter *Logic*
- 20 **Extract phones and addresses1** Set *Logic*
- 21 **Google | Get updates** Http Request *Service*
- 22 **Split userDefined** Split Out *Logic*
- 23 **new contact** If *Logic*
- 24 **Save contact1** Notion *Service*
- 25 **Get syncToken** Split Out *Logic*
- 26 **Split Contacts** Split Out *Logic*
- 27 **Only contacts that were automated** Filter *Logic*
- 28 **Google | Create Contact** Http Request *Service*
- 29 **Page deleted** If *Logic*
- 30 **Set lastUpdatedByAutomation1** Http Request *Service*
- 31 **Update Sync Token** Notion *Service*
- 32 **Filter by Group2** Filter *Logic*
- 33 **Find contacts in Notion** Notion *Service*
- 34 **Add Google ID** Notion *Service*
- 35 **Delete contact** Google Contacts *Service*
- 36 **Find contact** Google Contacts *Service*
- 37 **Save ETag2** Notion *Service*
- 38 **Only type CONTACT1** Filter *Logic*
- 39 **Deleted pages** Filter *Logic*
- 40 **Google | Add contact to specific group** Http Request *Service*
- 41 **Google | Update Contact** Http Request *Service*
- 42 **Find contacts1** Notion *Service*
- 43 **Merge2** Merge *Logic*
- 44 **Delete contact1** Google Contacts *Service*
- 45 **Save ETag1** Notion *Service*
- 46 **Save ETag** Notion *Service*
- 47 **Exists in Notion1** If *Logic*
- 48 **Contact still exists** If *Logic*
- 49 **Only existing contacts** Filter *Logic*
- 50 **Contact was edited in Google1** Filter *Logic*
- 51 **Delete contact2** Notion *Service*
- 52 **Extract phones and addresses3** Set *Logic*
- 53 **Extract phones and addresses4** Set *Logic*
- 54 **Save contact2** Notion *Service*
- 55 **Has data** Filter *Logic*
- 56 **Google | Set lastUpdatedByAutomation** Http Request *Service*
- 57 **Update contact** Notion *Service*
- 58 **Update ETag2** Notion *Service*
- 59 **Google | Set lastUpdatedByAutomation3** Http Request *Service*
- 60 **Update ETag3** Notion *Service*

## How it's built

- **Starts on:** A clock
- **Steps:** 60, with 4 branches
- **Size:** Large: read it before trusting it with anything live
- **Connects to:** Notion
- **Model:** None. This is plumbing, not judgement

## Questions

What does it need to run?

An n8n account, plus your own Notion account. You connect your own accounts after importing it; none are included.

What starts it?

It starts on a clock.

Does it use AI?

No. Every step is fixed logic or a call to a service, so it does the same thing every time.

How long does it take to set up?

Take your time. At 60 steps it is large: read it before trusting it with anything live.

How do I import it?

Copy the workflow, open a new workflow in n8n and paste. The steps appear on the canvas, ready for your own accounts.

**Before you run it**

Nothing here has been tested by us. It is somebody's working automation, read and described from its own steps. Treat the connections it wants as a list of accounts it will touch, and read the 60 steps before you point it at anything that matters.

## Run it in n8n

- **Create your n8n account** Free to start. n8n is where the workflow runs. [Create an n8n account ↗](https://millionrounds.com/n8n)
- **Download the workflow** Free with a Millionrounds account. [Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2F2-way-sync-google-contacts-and-notion)
- **Paste it into n8n** Open a new workflow in n8n and paste. Then connect your own accounts.

Stored with the author's traces removed: canvas notes, instance identifiers, saved credential names and any live document they had left behind.

## Connects to

Each opens the other workflows that use it.

[Notion](https://millionrounds.com/workflows?service=Notion#library)

## Workflows like it

Also data collection, with the same services where possible, closest in size first.

- [**Create a Daily Cross-Team Sync Orchestrator with OpenAI** 61 steps · calls a model · Gmail, Notion](https://millionrounds.com/workflow/create-a-daily-cross-team-sync-orchestrator-with-openai)
- [**Learn anything, write a book, design a curriculum** 32 steps · calls a model · Notion](https://millionrounds.com/workflow/learn-anything-write-a-book-design-a-curriculum)
- [**Advanced usage of Forms with OpenAI and Gmail** 30 steps · calls a model · Gmail, Notion](https://millionrounds.com/workflow/advanced-usage-of-forms-with-openai-and-gmail)
- [**Create structured Notion workspaces from notes & voice** 29 steps · calls a model · Google Drive, Notion](https://millionrounds.com/workflow/create-structured-notion-workspaces-from-notes-and-voice)
- [**AI email auto-responder system- AI RAG agent for email inbox** 27 steps · calls a model · Gmail, Google Docs](https://millionrounds.com/workflow/ai-email-auto-responder-system-ai-rag-agent-for-email-inbox)
- [**Build AI-ready knowledge base from Outlook & Notion** 25 steps · calls a model · Notion, Outlook](https://millionrounds.com/workflow/build-ai-ready-knowledge-base-from-outlook-and-notion)
