n8n으로 구글 시트와 Gmail 연결: 자동화된 이메일 발송 시나리오

n8n으로 구글 시트와 Gmail 연결: 자동화된 이메일 발송 시나리오

이번 글에서는 n8n을 활용하여 Google Sheets에 저장된 데이터를 기반으로 Gmail을 통해 자동으로 개인에게 이메일을 발송하는 간단한 자동화 시나리오를 알아보겠습니다. 이 과정은 데이터 관리와 이메일 발송 작업을 효율적으로 처리하려는 사용자에게 매우 유용합니다.

1. 워크플로우 개요

이 시나리오에서는 다음과 같은 작업을 수행합니다.

  • Google Sheets에서 데이터를 가져옵니다.
  • 각 데이터를 개별적으로 처리합니다.
  • Gmail을 통해 개인에게 이메일을 발송합니다.

최종 워크플로우는 아래 순서대로 구성됩니다:

  1. Manual Trigger: 워크플로우를 수동으로 실행합니다.
  2. Google Sheets: Google Sheets에서 데이터를 가져옵니다.
  3. Loop Over Items: 각 데이터를 반복적으로 처리합니다.
  4. Replace Me: 이메일 본문 내용을 준비합니다.
  5. Gmail: 이메일을 발송합니다.
n8n으로 구글 시트와 Gmail 연결 전체 워크플로우 예시

2. 노드 설정 방법

1) Manual Trigger

수동으로 워크플로우를 실행할 수 있도록 설정합니다. 이는 테스트 및 디버깅을 위해 유용합니다.

2) Google Sheets

Google Sheets에서 데이터를 가져오는 노드입니다. 이 글에서는 OAuth 인증을 설정하는 방법은 생략합니다. 이미 OAuth 인증이 설정되어 있다고 가정하고 진행합니다.

다음은 Google Sheets 노드의 주요 설정입니다.

  • Credential to connect with: Google Sheets account (OAuth 인증).
  • Resource: Sheet Within Document를 선택합니다.
  • Operation: Get Row(s)를 선택하여 Google Sheets의 데이터를 읽어옵니다.
  • Document: 가져올 데이터가 포함된 Google Sheets 파일을 선택합니다 (예: 메일발송).
  • Sheet: 데이터를 읽을 시트 이름을 선택합니다 (예: 시트1).

설정 후, “Test Step” 버튼을 눌러 데이터가 제대로 읽히는지 확인합니다. 아래는 Google Sheets 노드의 설정과 출력 예시입니다.

Google Sheets 노드의 설정과 출력 예시


출력 데이터는 다음과 같이 표시됩니다.

  • row_number: Google Sheets 행 번호
  • 이름: 메일 본문에 사용할 이름
  • 메일주소: 이메일 발송 대상 주소

이 데이터는 이후 “Loop Over Items” 노드에서 반복적으로 처리됩니다.

테스트 용 구글 시트

3) Loop Over Items

Google Sheets에서 가져온 데이터를 한 행씩 처리하기 위해 설정합니다. Loop Over Items 노드는 데이터를 개별적으로 반복 처리할 수 있도록 도와줍니다. 여기서는 Batch Size1로 설정하여 한 번에 하나씩 데이터를 처리하도록 구성합니다.

다음은 주요 설정입니다.

  • Batch Size: 1로 설정하여 데이터를 하나씩 처리합니다. 이렇게 설정하면 각 행이 개별적으로 Gmail 노드로 전달됩니다.

이 설정은 각 데이터를 독립적으로 처리할 때 유용합니다. 예를 들어, 특정 행에서 오류가 발생해도 나머지 데이터 처리는 계속 진행됩니다.

Loop Over Items 노드는 데이터를 개별적으로 반복 처리할 수 있도록 도와줍니다.


테스트를 실행한 결과, Google Sheets에서 가져온 데이터를 하나씩 성공적으로 처리하는 것을 확인할 수 있습니다. 아래는 실행 후 출력 데이터의 예시입니다.

  • row_number: Google Sheets에서 읽은 행 번호
  • 이름: “BlueShare”와 같은 개인화된 데이터
  • 메일주소: 해당 이메일 주소

4) Replace Me

“Replace Me” 노드는 “Loop Over Items”에서 전달된 데이터를 확인하고 그대로 다음 노드(Gmail)로 넘깁니다. 이 노드는 별도의 파라미터를 설정할 필요가 없습니다.

아래는 데이터가 성공적으로 전달되었는지 확인하기 위한 테스트 출력 예시입니다.

  • row_number: 2
  • 이름: BlueShare
  • 메일주소: kyungil.hwang@gmail.com

이 노드는 주로 데이터를 수정하지 않고 중간 확인 용도로 사용되며, 이후 Gmail 노드에서 데이터를 처리합니다.

"Replace Me" 노드는 "Loop Over Items"에서 전달된 데이터를 확인하고 그대로 다음 노드(Gmail)로 넘깁니다.

5) Gmail

Gmail 노드는 Google Sheets에서 가져온 데이터를 사용하여 이메일을 발송합니다. 아래는 Gmail 노드의 주요 설정입니다.

  • Credential to connect with: Gmail 계정을 선택합니다 (OAuth 인증).
  • Resource: Message를 선택합니다.
  • Operation: Send를 선택합니다.
  • To: 수신자 이메일 주소를 설정합니다. 예: {{ $('Loop Over Items').item.json['메일주소'] }}
  • Subject: 이메일 제목을 설정합니다. 예: n8n 자동화 테스트 메일
  • Email Type: Text로 설정합니다.
  • Message: 이메일 본문 내용을 작성합니다.
{{ $('Loop Over Items').item.json['이름'] }}님, 안녕하세요.
n8n 자동화 테스트 메일입니다.

설정을 완료한 후 “Test Step”을 실행하여 이메일이 올바르게 발송되는지 확인합니다. 아래는 Gmail 노드의 설정 화면입니다.

Gmail 노드는 Google Sheets에서 가져온 데이터를 사용하여 이메일을 발송합니다.


이 설정에 따라 Google Sheets에 입력된 이름과 이메일 주소를 사용하여 개인화된 이메일이 자동으로 발송됩니다.

3. 실행 결과

워크플로우를 실행하면 Google Sheets의 각 데이터가 Gmail을 통해 개별적으로 발송됩니다. 예를 들어, 다음과 같은 결과를 얻을 수 있습니다.

  • 수신자: BlueShare님
  • 이메일 본문: “BlueShare님, 안녕하세요. n8n에서 발송된 자동화 테스트 메일입니다.”
워크플로우를 실행하면 Google Sheets의 각 데이터가 Gmail을 통해 개별적으로 발송됩니다.

4. 마무리

이 워크플로우는 n8n의 간단한 기능을 활용하여 Google Sheets와 Gmail을 연결하는 방법을 보여줍니다. 데이터 관리와 이메일 발송 작업을 효율적으로 처리할 수 있는 유용한 도구로, 업무 생산성을 높여 보세요.

n8n의 자세한 사용법과 추가 기능은 n8n 공식 문서를 참고하세요!

함께 보면 좋은 게시글

이 글이 도움이 되셨다면 공유 부탁 드립니다.

위로 스크롤