Make 실전 구축: Google Sheets와 Notion 자동 연동 완벽 가이드
💡 EveryIT 생산성 철학
같은 데이터를 두 번 입력하는 순간 시스템의 신뢰도는 낮아집니다. 한 곳을 기준 데이터로 정하고, 변경 사항이 다른 도구에 자동 반영되는 단일 진실 공급원(Single Source of Truth)을 구축하세요. 반복적인 복사·붙여넣기를 기계에 넘기는 것이 업무 자동화의 출발점입니다.
Google Sheets와 Notion의 데이터 구조 맞추기, 고유 ID 기반 검색, 신규 생성·기존 수정 분기, 변경 감지의 한계와 안전한 단계별 테스트 방법을 익힙니다.
📢 먼저 확인하세요
이 글은 2026년 8월 20일 기준으로 공식 문서를 확인했습니다. Make의 Google Sheets 모듈 Watch New Rows는 예약된 주기에 새 행을 확인하는 방식이며, 일반적인 의미의 즉시 웹훅이 아닙니다. 셀 변경을 즉시 감지하는 Watch Changes는 별도 웹훅 설정이 필요하고, Google Sheets 화면에서 사용자가 직접 변경한 값만 감지합니다. Apps Script나 API가 수정한 값과 새 행 추가는 감지하지 않습니다.
📍 목차
1. 왜 같은 데이터를 계속 복사하고 있을까?
Problem: 영업팀은 Google Sheets에 고객과 매출을 기록하고, 기획팀은 Notion 보드에서 업무 상태를 관리합니다. 담당자는 매일 시트의 최신 내용을 다시 Notion에 옮깁니다.
Agitation: 수작업 복사는 누락과 오기입을 만듭니다. 시트의 결제 금액은 바뀌었는데 Notion에는 이전 값이 남거나, 같은 고객 카드가 여러 개 생성될 수도 있습니다.
Solution: 이번 가이드에서는 Google Sheets를 기준 데이터로 정합니다. 새 행이 추가되면 Make가 고유 ID를 확인하고, Notion에 항목이 없으면 생성하고 있으면 업데이트합니다.
2. 이번에 완성할 워크플로
[Google Sheets: Watch New Rows]
↓
[Notion: Search Objects] — 고객 ID 검색
↓
[Router]
├─ 검색 결과 없음 → Create a Data Source Item
└─ 검색 결과 있음 → Update a Data Source Item
↓
[Google Sheets: Update a Row] — Notion Page ID와 동기화 상태 기록
정확히 말하면 이 구성은 새 행 자동 연동입니다. 이미 존재하는 행의 셀 수정까지 자동 반영하려면 뒤에서 설명할 별도 시나리오가 필요합니다. 처음부터 양방향 동기화를 만들지 말고, 한 방향을 안정화한 뒤 확장하는 것이 안전합니다.
3. 두 데이터 구조를 먼저 맞추세요
Google Sheets 1행과 Notion 데이터 소스에 다음 속성을 준비합니다. 고객 ID는 중복 확인의 기준이므로 비워두거나 재사용하면 안 됩니다.
| Google Sheets | Notion 속성 | 형식 | 용도 |
|---|---|---|---|
| 고객 ID | Customer ID | Text | 고유 식별자 |
| 고객명 | Name | Title | Notion 카드 제목 |
| 결제 금액 | Amount | Number | 숫자 계산 |
| 진행 상태 | Status | Status/Select | 신규·진행·완료 |
| Notion Page ID | — | Text | 다음 업데이트를 빠르게 찾기 |
Notion 연결에서 대상이 보이지 않으면 해당 데이터베이스의 메뉴에서 Make 연결을 추가했는지 확인하세요. 2025년 이후 새 Notion 모듈은 Database Item 대신 Data Source Item이라는 명칭을 사용합니다. 새 시나리오에서는 Legacy 표시가 없는 모듈을 선택하는 것이 좋습니다.
4. Google Sheets의 새 행을 감지하세요
- Make에서 새 시나리오를 만들고 Google Sheets > Watch New Rows를 선택합니다.
- Google 계정을 연결하고 Spreadsheet와 Sheet를 선택합니다.
- Table contains headers를 Yes로 설정하고 머리글 범위를 확인합니다.
- 테스트 중 Limit은 1로 설정합니다.
- 시작 지점은 테스트 목적에 따라 From now on 또는 특정 행부터로 지정합니다.
- 실행 주기는 무료 플랜 사용량과 업무 속도를 고려해 15분·1시간·하루 1회 중 선택합니다.
중간에 빈 행을 두지 마세요.
Make 공식 문서에 따르면 Watch New Rows는 빈 행 뒤에 있는 후속 행을 처리하지 않을 수 있습니다. 보기 좋게 구분하려고 빈 줄을 삽입하기보다 상태 열이나 색상 서식을 사용하세요.
5. 중복을 확인하고 생성·업데이트로 나누세요
Watch New Rows 뒤에 Notion > Search Objects를 추가하고, 대상 데이터 소스에서 Google Sheets의 고객 ID와 같은 항목을 찾습니다. 고객명보다 변하지 않는 ID나 이메일을 사용하는 편이 안전합니다.
그 뒤 Router에서 두 경로를 만듭니다.
- 경로 A — 검색 결과 없음:
Create a Data Source Item으로 새 항목을 생성합니다. - 경로 B — 검색 결과 있음: 검색 결과의 Item/Page ID를
Update a Data Source Item에 매핑합니다.
검색 결과가 2개 이상이라면 이미 중복 데이터가 있다는 뜻입니다. 자동으로 모두 수정하지 말고 오류 경로로 보내 사람이 확인하도록 설계하세요.
6. 데이터 형식까지 맞춰 매핑하세요
- Name/Title: Google Sheets의 고객명을 연결합니다.
- Amount/Number: 통화 기호와 쉼표가 제거된 숫자를 전달합니다.
- Status: Notion에 미리 존재하는 상태 이름과 정확히 일치시킵니다.
- Date: 시트의 지역 형식(날짜·통화 표시 설정)과 시간대를 확인하고 ISO 형식 또는 Make의
formatDate()를 사용합니다.
Notion 생성·업데이트가 성공하면 마지막에 Google Sheets > Update a Row를 추가하여 반환된 Notion Page ID와 Synced 상태를 기록하세요. 다음 수정에서는 매번 검색하지 않고 Page ID로 바로 대상을 찾을 수 있습니다.
7. 기존 행의 수정과 양방향 동기화는 별도로 설계하세요
Watch New Rows는 새 행 전용입니다. 사용자가 기존 셀을 수정하는 순간을 감지하려면 Google Sheets의 Watch Changes와 전용 웹훅 설정이 필요합니다. 이 모듈은 Sheets 화면에서 사용자가 직접 한 변경만 감지하며, 스크립트·API 변경과 새 행 추가는 감지하지 않는다는 제약이 있습니다.
Notion에서 Google Sheets로 돌아오는 방향도 만들고 싶다면 별도 시나리오를 사용하세요. 양쪽 시나리오에는 다음 안전장치가 필요합니다.
- Updated By: Human / Make / Notion 중 수정 주체 기록
- Last Synced At: 마지막 동기화 시간 기록
- 필터: Updated By가 Make인 변경은 반대 방향 시나리오에서 제외
- 고유 ID: 고객 ID와 Notion Page ID를 양쪽에 보관
- 충돌 원칙: 같은 시간에 수정되면 어느 쪽 값을 우선할지 사전에 결정
초보자 권장 방식
처음에는 Google Sheets → Notion 한 방향만 운영하세요. 안정적으로 작동한 뒤 “시트의 기존 행 수정 반영”, 마지막으로 “Notion → Sheets”를 추가해야 오류와 무한 루프를 찾기 쉽습니다.
8. 게시 전이 아니라, 가짜 데이터로 먼저 테스트하세요
- Google Sheets에 테스트 고객 1건만 입력합니다.
- Run Once로 각 모듈의 출력 bundle을 확인합니다.
- Notion에 새 항목이 한 번만 생성되는지 확인합니다.
- 같은 고객 ID를 다시 처리하여 새 카드가 아니라 기존 카드가 업데이트되는지 확인합니다.
- 금액은 숫자, 상태는 올바른 옵션, 날짜는 원하는 시간대로 들어갔는지 확인합니다.
- 오류가 발생하면 시나리오를 즉시 반복 실행하지 말고 어느 모듈에서 실패했는지 먼저 확인합니다.
9. 자주 묻는 질문 (FAQ)
Q. Google Sheets에서 행을 삭제하면 Notion 항목도 삭제되나요?
A. 이 가이드의 기본 구성에서는 삭제되지 않습니다. 실수로 데이터를 잃지 않도록 행을 삭제하는 대신 상태를 취소 또는 보관으로 바꾸고, Notion에서도 상태만 변경하는 방식을 권장합니다.
Q. 정말 실시간으로 동기화되나요?
A. Watch New Rows는 설정한 예약 주기에 실행됩니다. Watch Changes는 웹훅 방식이지만 사용자 직접 수정만 감지하는 등 제약이 있습니다. 따라서 모든 변경을 즉시 양방향으로 반영한다는 의미의 완전한 실시간 동기화와는 다릅니다.
Q. 무료 플랜으로 운영할 수 있나요?
A. 데이터 건수와 실행 주기에 따라 가능합니다. Watch New Rows 확인 실행과 검색·생성·업데이트 모듈마다 credits가 사용될 수 있으므로, Limit 1로 시험한 뒤 실행 이력에서 실제 건당 credits를 계산하세요.
공식 자료와 함께 읽을 글
- Make 공식 Google Sheets 모듈 안내
- Make 공식 Notion 모듈 안내
- Notion 공식 Data Source API 변경 안내
- A-014: Make 사용법 완전 가이드
- A-022: 콘텐츠 공장 자동화 시스템
- A-023: Make 무료 플랜 비용 절약법
🎯 최종 요약
Google Sheets와 Notion 자동 연동의 핵심은 모듈을 연결하는 기술이 아니라 기준 데이터와 고유 ID를 먼저 정하는 것입니다. 새 행 자동 연동부터 안정화하고, Notion Page ID를 다시 시트에 기록한 뒤, 기존 행 수정과 양방향 동기화를 단계적으로 확장하세요.
편집 검토: 2026년 8월 20일 공식 자료·목차·내부 링크·이미지 보존 확인 완료.
댓글
댓글 쓰기