Google Sheets 연동 — 읽기·쓰기
스프레드시트는 비공식 데이터베이스. n8n 으로 시트에 자동 행 추가, 또는 시트의 데이터를 읽어 다른 흐름으로 — OAuth 한 번 설정하면 평생 작동.
n8n 통합 노드 중 가장 자주 쓰이는 게 Google Sheets. 이유는 간단 — 누구나 시트를 쓰고, 데이터 잠시 모아두기에 시트만큼 편한 게 없습니다. Webhook 으로 들어온 데이터를 시트에 자동 누적하거나, 매일 9시 시트 검토 후 새 행만 Slack 으로 — 이 두 패턴이 95%.
Google Sheets 노드의 두 작업 — 쓰기 / 읽기
| 작업 | n8n 노드 Operation | 예시 |
|---|---|---|
| 행 추가 | Append Row | Webhook 으로 들어온 결제 정보 누적 |
| 여러 행 추가 | Append or Update Rows | 100건 batch 업로드 |
| 전체 읽기 | Get Rows | 매일 9시 시트 전체 검토 |
| 특정 행 검색 | Lookup | 이메일로 사용자 정보 찾기 |
| 행 업데이트 | Update Row | 상태 컬럼만 "처리완료" 로 |
가장 흔한 패턴은 Append Row (누적) 와 Get Rows (전체 읽기). 이 두 개만 익혀두면 거의 모든 시나리오 처리.
1단계 — Google Sheets 노드 추가
Manual Trigger·Schedule·Webhook 어느 트리거 다음에든 OK. 트리거 노드 우측의 + 표시 → 검색창에 google sheets → 결과 클릭.
노드 추가하면 어떤 작업을 할지 물어요. 처음 익힐 땐:
- Append Row in Sheet — 새 행 추가
- Get Row(s) in Sheet — 행 읽기
각각 하나씩 만들어보는 게 학습 순서.
2단계 — OAuth credentials 설정 (한 번만)
Google Sheets 는 Google 계정 권한이 필요해서 OAuth 인증을 거칩니다. n8n 이 도와주긴 하는데, 첫 한 번은 절차가 있어요.
- Create new credential 클릭. 두 인증 방식 중 선택:
- Google Sheets OAuth2 API — 일반 사용자에게 권장. 브라우저로 Google 로그인 한 번.
- Service Account — 서버용. Google Cloud Console 에서 키 파일 받아 등록.
셀프호스팅 n8n 은 Google Cloud Console 에서 OAuth client 직접 만들어야 합니다.
n8n Cloud 사용자는 이 절차 생략 — Cloud 가 자체 OAuth client 가 있어서 그냥 "Connect my account" 한 번.
브라우저 팝업 → 자신의 Google 계정으로 로그인 → "n8n이 Sheets 에 접근하려 합니다" 동의. 한 번만 하면 credentials 저장돼서 다른 워크플로에서도 재사용.
3단계 — Append Row 실전 예제
Webhook 으로 들어온 결제 정보를 시트에 자동 누적하는 워크플로:
실행하면 시트의 마지막 행 아래로 자동 추가. Columns 매핑이 자동 — 시트 첫 행의 헤더와 같은 이름의 필드만 자동 배정. 더 정확히 하려면 매핑 모드 Map Each Column Manually 선택.
시트 URL 을 그대로 붙여넣지 말고, 노드의 Document 드롭다운에서 본인 계정의 시트 목록을 골라야 합니다. URL 붙여넣기는 일부 케이스에서 실패. 또 시트 이름 한국어가 들어가면 시트 ID 모드로 바꿔서 입력 권장.
4단계 — Get Rows 로 시트 읽기 + 필터링
반대 방향 — 시트에서 데이터를 가져와 다른 곳으로:
Get Rows 의 Filters 옵션이 핵심. 전체 다 받지 말고 미발송 행만 가져오면 효율 ↑. n8n 이 시트 컬럼 이름 자동 감지해서 드롭다운으로 컬럼 선택 가능.
Update Row 노드 + Row Number 매칭으로 구현.다음 Ch.9 에서는 메일 자동 발송 — Gmail (OAuth) 와 SMTP (서비스 메일) 두 길의 차이, 첨부파일 처리, HTML 메일 템플릿까지 다룹니다.