15. n8n과 Gmail 연동하기: 특정 조건의 이메일 자동 처리하기

Gmail을 n8n에 연결하는 것보다 더 어려운 문제는 따로 있습니다.

어떤 메일을 자동화 대상으로 볼 것인가?

메일함에 들어오는 모든 메시지를 Google Sheets에 저장하거나 Telegram으로 보내면 자동화는 금방 소음이 됩니다.

이번 글에서는 Gmail Trigger 자체의 연결 방법보다, 메일 데이터를 확인하고 필요한 메일만 선별하는 구조를 만들어볼게요.

이번 목표는 '모든 메일 처리'가 아닙니다

예를 들어 아래 세 종류의 메일이 있다고 해볼게요.

  • 일반 뉴스레터
  • 고객 문의
  • 긴급 견적 요청

이 중 고객 문의와 긴급 요청만 별도로 처리한다면 다음 구조를 만들 수 있습니다.

Gmail Trigger → Set → IF → Google Sheets

이 흐름을 이해하면 다음 글에서 Telegram 알림도 쉽게 추가할 수 있어요.

Gmail Trigger와 Gmail 노드는 역할이 다릅니다

노드 역할 예시
Gmail Trigger 워크플로우 시작 새 메일 감지
Gmail 메일 작업 수행 보내기·라벨 처리·조회

새로운 메일이 들어왔을 때 자동화를 시작하려면 Gmail Trigger가 필요합니다.

반대로 메일에 라벨을 추가하거나 답장을 보내는 작업은 Gmail 노드가 담당합니다.

테스트 계정을 먼저 준비하는 이유

Gmail 자동화는 실제 메일함 데이터를 읽습니다.

업무용 계정을 바로 연결하면 테스트 중에도 고객 이메일이나 본문 일부가 Execution 기록에 남을 수 있어요.

처음 실습은 별도의 테스트 Gmail 계정에서 진행하는 것을 권합니다.

테스트 계정에서는 다음처럼 일부러 서로 다른 제목의 메일을 보내보세요.

테스트 1
제목: 뉴스레터 테스트

테스트 2
제목: 서비스 문의드립니다

테스트 3
제목: 긴급 견적 요청

이 세 개가 어떻게 Output으로 들어오는지 비교해보면 IF 노드의 역할을 이해하기 쉽습니다.

Gmail Trigger에서 먼저 볼 것은 Output입니다

메일이 들어왔다면 곧바로 IF 노드를 만들지 말고 Output부터 확인하세요.

메일 데이터에는 보통 다음과 같은 정보가 포함될 수 있습니다.

제목
보낸 사람
본문
수신 시간
메시지 ID

실제 필드 이름과 구조는 n8n 버전이나 노드 설정에 따라 달라질 수 있습니다.

따라서 인터넷 예제에 나온 subject라는 이름을 그대로 입력하기보다 실제 Output을 기준으로 Expression을 만드는 것이 안전합니다.

Set 노드에서 '사용할 데이터'만 정리합니다

Gmail 데이터는 정보가 많기 때문에 다음 노드에 필요한 값만 따로 정리하면 관리하기 편합니다.

sender_email
email_subject
email_snippet
received_at
message_id

필드 이름을 이렇게 통일해두면 뒤에서 IF, Google Sheets, Telegram을 연결할 때 구조가 단순해집니다.

조건은 하나부터 테스트하세요

처음부터 여러 조건을 동시에 넣으면 어느 조건 때문에 false가 되는지 확인하기 어렵습니다.

첫 번째 테스트는 단순하게 시작하세요.

조건
email_subject contains "문의"

결과는:

  • 제목에 '문의'가 있으면 true
  • 없으면 false

이 상태에서 테스트 메일 세 개를 보내고 실제 분기 결과를 확인합니다.

조건을 확장할 때는 한 단계씩

기본 조건이 정상 작동하면 그다음 조건을 추가합니다.

1단계
"문의"

2단계
"문의" OR "견적"

3단계
"문의" OR "견적" OR "상담"

4단계
긴급 키워드는 별도 분기

이런 식으로 늘리면 어떤 조건이 문제인지 찾기 쉽습니다.

조건별로 어디에 보낼지도 다르게 할 수 있습니다

메일 유형 조건 예시 후속 작업
일반 문의 문의 포함 Google Sheets 저장
견적 요청 견적 포함 영업 시트 저장
긴급 메일 긴급 포함 Telegram 알림
일반 메일 조건 불일치 자동 처리하지 않음

자동 답장은 마지막 단계로 미루세요

메일 자동화에서 저장이나 알림보다 위험도가 높은 기능이 자동 발송입니다.

조건을 잘못 설정하면 같은 사람에게 여러 차례 메일이 발송될 수도 있습니다.

처음에는 다음 순서가 안전합니다.

  1. 메일 감지
  2. Output 확인
  3. 조건 분기
  4. Google Sheets 저장
  5. Telegram 알림
  6. 충분히 검증한 뒤 자동 답장 검토

Poll 주기는 무조건 짧다고 좋은 것이 아닙니다

Gmail Trigger의 확인 주기는 자동화 목적에 맞게 설정해야 합니다.

즉시 대응이 필요하지 않은 업무라면 지나치게 짧은 주기를 설정할 이유가 없습니다.

처음에는 비교적 여유 있는 주기로 테스트하고, 실제 업무에서 필요한 속도를 확인한 뒤 조정하는 편이 좋습니다.

메일이 잡히지 않을 때 확인할 순서

  1. Credentials — 올바른 Gmail 계정인가
  2. 워크플로우 상태 — 자동 실행 가능한 상태인가
  3. Executions — 실행 기록이 있는가
  4. Trigger Output — 이메일 데이터가 들어왔는가
  5. IF 조건 — 실제 필드명을 기준으로 만들었는가

이 순서대로 보면 처음부터 Gmail 연결을 다시 만드는 일을 줄일 수 있습니다.

실제 메일함에 연결하기 전에 확인할 것

  • 테스트 Gmail 계정에서 먼저 검증하기
  • 실제 고객 메일 본문 전체를 불필요하게 저장하지 않기
  • 필요한 데이터만 Set 노드에서 추려 사용하기
  • Execution 기록에 민감한 정보가 남는지 확인하기
  • 자동 답장은 중복 실행 가능성을 충분히 테스트하기

Gmail 자동화의 핵심은 연결이 아니라 선별입니다

Gmail Trigger를 연결하는 것 자체는 자동화의 시작에 불과합니다.

실제로 유용한 자동화를 만들려면 어떤 데이터를 사용할지 정하고, 어떤 메일만 후속 작업으로 보낼지 조건을 설계해야 합니다.

이번 글에서 기억할 순서는 간단합니다.

메일 수신 → Output 확인 → 필요한 값 정리 → 조건 분기 → 후속 작업

다음 글에서는 이 true 경로에 Telegram 노드를 붙여 중요한 메일만 휴대폰으로 바로 알림 받는 방법을 만들어볼게요.


※ 이 글은 n8n 비개발자 자동화 시리즈 15화입니다. 실제 필드명과 기능은 버전에 따라 달라질 수 있으므로 최신 공식 문서를 함께 확인해주세요.

참고자료

  • n8n Docs, Gmail Trigger node
  • n8n Docs, Gmail node
  • n8n Docs, Google credentials
  • n8n Docs, Edit Fields (Set) node
  • n8n Docs, IF node
  • n8n Docs, Executions