Automation library · Data collection

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

60 stepsLarge: read it before trusting it with anything live
4Branches: places the flow splits
0Loops or waits
1Service it connects to

The flow

Starts it 5Logic 27Service 28

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

  1. 1Page CreatedNotion triggerStarts it
  2. 2Page updatedNotion triggerStarts it
  3. 3List all groups1Http RequestService
  4. 4Notion1NotionService
  5. 5GlobalsSetLogic
  6. 6Every 1min1Schedule triggerStarts it
  7. 7Every day at 3amSchedule triggerStarts it
  8. 8When clicking ‘Test workflow’Manual triggerStarts it
  9. 9Merge1MergeLogic
  10. 10Split GroupsSplit OutLogic
  11. 11Get all contactsGoogle ContactsService
  12. 12Globals4SetLogic
  13. 13Globals3SetLogic
  14. 14Globals2SetLogic
  15. 15Organize fieldsSetLogic
  16. 16Filter by GroupFilterLogic
  17. 17Retrieve Sync TokenNotionService
  18. 18Get all contacts2Google ContactsService
  19. 19Page was edited by userFilterLogic
  20. 20Extract phones and addresses1SetLogic
  21. 21Google | Get updatesHttp RequestService
  22. 22Split userDefinedSplit OutLogic
  23. 23new contactIfLogic
  24. 24Save contact1NotionService
  25. 25Get syncTokenSplit OutLogic
  26. 26Split ContactsSplit OutLogic
  27. 27Only contacts that were automatedFilterLogic
  28. 28Google | Create ContactHttp RequestService
  29. 29Page deletedIfLogic
  30. 30Set lastUpdatedByAutomation1Http RequestService
  31. 31Update Sync TokenNotionService
  32. 32Filter by Group2FilterLogic
  33. 33Find contacts in NotionNotionService
  34. 34Add Google IDNotionService
  35. 35Delete contactGoogle ContactsService
  36. 36Find contactGoogle ContactsService
  37. 37Save ETag2NotionService
  38. 38Only type CONTACT1FilterLogic
  39. 39Deleted pagesFilterLogic
  40. 40Google | Add contact to specific groupHttp RequestService
  41. 41Google | Update ContactHttp RequestService
  42. 42Find contacts1NotionService
  43. 43Merge2MergeLogic
  44. 44Delete contact1Google ContactsService
  45. 45Save ETag1NotionService
  46. 46Save ETagNotionService
  47. 47Exists in Notion1IfLogic
  48. 48Contact still existsIfLogic
  49. 49Only existing contactsFilterLogic
  50. 50Contact was edited in Google1FilterLogic
  51. 51Delete contact2NotionService
  52. 52Extract phones and addresses3SetLogic
  53. 53Extract phones and addresses4SetLogic
  54. 54Save contact2NotionService
  55. 55Has dataFilterLogic
  56. 56Google | Set lastUpdatedByAutomationHttp RequestService
  57. 57Update contactNotionService
  58. 58Update ETag2NotionService
  59. 59Google | Set lastUpdatedByAutomation3Http RequestService
  60. 60Update ETag3NotionService

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.