콘텐츠로 이동

How I Create Custom n8n Dashboards To Automate Anything (Google Sheets)

원본 영상: How I Create Custom n8n Dashboards To Automate Anything (Google Sheets)

Google Sheets를 프론트엔드 대시보드로, n8n을 백엔드 자동화 엔진으로 삼아 데이터 입력과 액션 실행을 모두 처리하는 커스텀 운영 시스템을 만드는 방법.

전체 아키텍처 Google Sheets ↔ n8n 양방향 구조: 데이터 인(in)과 데이터 아웃(out) 두 흐름으로 나뉜다.

1단계 — 데이터 인: 웹폼 → Google Sheets

  • n8n의 내장 “On Form Submission” 트리거로 견적 폼 생성 (first name, last name, email, phone, budget 필드)
  • Google Sheets 노드의 Append or Update Row 액션 사용 — 이메일을 고유 키로 검색 후 없으면 생성, 있으면 업데이트
  • 신규 리드 진입 시 stage 컬럼에 자동으로 “lead” 기입
  • 조건식({{$if(budget >= 1000, "false", "true")}})으로 rejected 컬럼 자동 판정

2단계 — 데이터 인: 영업 통화 후 업데이트

  • 별도 내부 폼(sales call 폼)으로 package 선택, 서비스 날짜 등 추가 정보 수집
  • 동일한 Append or Update Row 노드로 해당 고객 행의 stage를 “sales call”로 갱신

3단계 — 데이터 아웃: 버튼 클릭 → n8n 트리거

  • Google Sheets에 Apps Script 삽입 — 셀 편집 시 n8n Webhook URL로 POST 요청 전송
  • Apps Script 트리거 유형: onEdit (셀 변경마다 실행)
  • n8n에서 Webhook 노드를 HTTP POST 방식으로 설정해 수신

4단계 — Switch로 액션 분기

  • Switch 노드: column_start 값(열 번호)으로 경로 분기
    • 열 7(G) → 이메일 발송
    • 열 8(H) → 캘린더 초대
    • 열 9(I) → 인보이스 발송
  • 각 경로 앞에 Filter 노드 추가: 체크박스 값이 "true"(대소문자 구분)일 때만 통과

5단계 — 인보이스 발송 (GoHighLevel 연동 예시)

  • n8n HTTP Request(POST)로 GoHighLevel 인바운드 Webhook 호출
  • 본문에 email, package 전달 → GoHighLevel 자동화에서 연락처 생성 후 템플릿 문서 발송
요소설명
고유 키 컬럼이메일 — 전화번호나 이름은 중복·형식 불일치 가능
빈 셀 유지체크박스/드롭다운 셀에 값이 있으면 신규 행이 다음 줄에 추가됨 → 빈 상태 유지 필수
데이터 핀 고정테스트 데이터를 핀으로 고정해 매번 폼 재제출 불필요
HTTP 메서드 일치Apps Script 기본값 GET → Webhook 노드도 POST로 맞춰야 데이터 수신 가능
Apps Script 저장 버그저장 버튼을 두 번 눌러야 적용되는 Google 버그 존재
미인증 앱 경고”This app is not verified” → Advanced → 프로젝트명으로 접속 허용
  • 채용 대시보드: 수천 명 지원자 처리, 기존 수 시간 → 하루 몇 분으로 단축 (본인 실측)
  • 웨딩 촬영·영상 편집 프로젝트 수백 건을 동일 구조로 관리 (본인 운영 사례)
  • GoHighLevel 인보이스 템플릿: 마켓플레이스에서 설치, 직접 제작 시간 거의 없음

사용 도구

  • n8n (자동화 엔진)
  • Google Sheets + Apps Script (대시보드 UI + 트리거)
  • GoHighLevel (인보이스·CRM, 대체 가능: PandaDoc, SignNow, DocuSign)
  • Gmail 노드 (이메일 발송, attribution 옵션 비활성화 권장)

전체 워크플로 흐름

[웹폼/영업통화 폼]
→ n8n Form Trigger
→ Google Sheets Append or Update Row
→ (stage, rejected 자동 기입)
[Google Sheets 체크박스 클릭]
→ Apps Script onEdit
→ POST → n8n Webhook
→ Switch (column_start 번호)
→ Filter (값 == "true")
→ [이메일 발송 / 캘린더 초대 / 인보이스 발송]
[외부 서비스 이벤트 — 예: 결제 완료]
→ 외부 Webhook → n8n
→ Google Sheets 행 업데이트 (stage = "paid")

n8n 조건식 패턴

{{$if($json.budget >= 1000, "false", "true")}}

숫자와 문자열 타입이 달라도 n8n이 자동 변환 처리함.