본문 바로가기
개발&프로그래밍

[n8n 실전 예제] 지메일(Gmail) 중요 메일, 슬랙(Slack)으로 1초 만에 알림 받기

by 재아군 2025. 11. 29.

 

안녕하세요! 지난 포스팅에서 노코드 자동화 툴의 최강자, n8n의 개념과 설치법에 대해 다뤘었는데요.

많은 분들이 "그래서 이걸로 구체적으로 뭘 할 수 있는데?"라는 질문을 주셨어요.

 

개발자라면 공감하시겠지만, 코딩에 집중하고 있을 때 수시로 울리는 이메일 알림은 집중력을 깨뜨리는 주범이죠.

그렇다고 알림을 꺼두자니 중요한 이슈 메일을 놓칠까 봐 불안하고요.

 

오늘은 n8n을 활용해 '중요한 메일이 왔을 때만 슬랙(Slack)으로 알림을 보내주는 워크플로우'를 직접 만들어 보려고 해요.

이 글만 따라 하시면 여러분도 10분 만에 나만의 개인 비서를 갖게 되실 거예요.

 

자, 시작해 볼까요?

 

왜 n8n으로 자동화를 해야 할까요?

 

물론 IFTTT나 Zapier 같은 툴로도 메일 알림을 받을 수 있습니다. 하지만 n8n을 추천하는 이유는 명확해요.

  • 무료: 셀프 호스팅을 한다면 비용이 들지 않습니다.
  • 강력한 커스터마이징: 단순히 메일을 넘겨주는 것을 넘어, 특정 키워드(예: "긴급", "장애", "결제")가 포함된 메일만 골라낼 수 있습니다.
  • 복잡한 로직 처리: 메일 내용을 요약하거나, 첨부파일을 따로 저장하는 등 확장성이 무궁무진합니다.

 

 

준비물 체크리스트

본격적인 설정에 앞서 아래 세 가지가 준비되었는지 확인해 주세요.

  1. n8n 실행 환경: 로컬 설치(Docker/npm) 또는 n8n Cloud 계정
  2. Google Cloud Platform 프로젝트: Gmail API 사용을 위해 필요합니다.
  3. Slack 워크스페이스: 알림을 받을 채널과 웹훅(Webhook) URL 또는 봇 토큰.

 

 

 

1단계: Gmail Trigger 노드 설정하기

가장 먼저 이메일이 도착했음을 감지하는 '트리거(Trigger)'를 만들어야 합니다. n8n 캔버스에서 '+' 버튼을 누르고 'Gmail'을 검색해 주세요. 여기서 Gmail Trigger 노드를 선택합니다.

 

Credential 연결 (가장 까다로운 부분!)

Gmail 노드를 사용하려면 구글 인증이 필요해요.

  1. n8n의 Connection 항목에서 Create New를 선택합니다.
  2. OAuth2 방식을 선택하는 것이 가장 안전합니다.
  3. 구글 클라우드 콘솔(GCP)에서 Gmail API를 활성화하고, OAuth Client ID와 Secret을 발급받아 n8n에 입력해 줍니다.
  4. n8n이 제공하는 Redirect URL을 GCP 승인된 리디렉션 URI에 꼭 넣어주셔야 오류가 나지 않아요.

인증이 완료되었다면 Poll Times(메일 확인 주기)를 설정합니다. 너무 짧게 설정하면 API 호출 제한에 걸릴 수 있으니 1분~5분 정도가 적당해요.

 

2단계: 필요한 메일만 쏙쏙 골라내기 (Filter)

모든 메일을 슬랙으로 받는다면 오히려 공해가 되겠죠? 우리가 필요한 건 '진짜 중요한 메일'입니다.

Gmail 노드 설정 하단에 보면 필터 옵션이 있습니다. 혹은 IF 노드를 별도로 연결해서 조건을 걸 수도 있어요.

  • From: 특정 발신자(예: 상사, 거래처, 서버 모니터링 메일)
  • Subject: 제목에 "긴급", "Help", "Invoice" 등이 포함된 경우

저는 보통 IF 노드를 연결해서 {{$json["subject"]}} 값에 [긴급]이라는 단어가 포함되어 있는지를 체크하도록 설정합니다. 이렇게 하면 불필요한 뉴스레터 알림 때문에 슬랙이 울리는 일을 막을 수 있답니다.

 

3단계: 슬랙(Slack)으로 메시지 쏘기

이제 마지막 단계입니다. IF 노드의 'True' 출력 포트에 'Slack' 노드를 연결해 주세요.

  1. Action: Post a Message를 선택합니다.
  2. Authentication: 슬랙 봇 토큰을 연결하거나, 간단하게 하려면 Incoming Webhook URL을 사용해도 됩니다.
  3. Channel: 알림을 받을 채널명을 입력합니다 (예: #my-alerts).
  4. Text: 여기에 메일 내용을 넣어줍니다. n8n의 강력한 점은 앞선 노드의 데이터를 변수로 가져올 수 있다는 것이죠.
 
 
Plaintext
 
🚨 [긴급 메일 도착]
보낸 사람: {{$node["Gmail Trigger"].json["from"]}}
제목: {{$node["Gmail Trigger"].json["subject"]}}
내용 미리보기: {{$node["Gmail Trigger"].json["snippet"]}}

👉 바로가기: https://mail.google.com/mail/u/0/#inbox/{{$node["Gmail Trigger"].json["threadId"]}}

이렇게 구성하면 슬랙에서 제목과 보낸 사람을 확인하고, 링크를 클릭해 바로 지메일로 이동할 수 있습니다. 정말 편리하겠죠?

 

 

 

 

마무리: 자동화가 주는 여유를 즐기세요

 

설정을 마치고 우측 상단의 'Execute Workflow'를 눌러 테스트를 진행해 보세요. 내 지메일로 메일을 하나 보내보고, 슬랙에 알림이 뜨는 순간의 짜릿함은 이루 말할 수 없답니다.

 

성공적으로 작동한다면 'Active' 스위치를 켜서 워크플로우를 활성화해주세요.

이제 n8n이 24시간 깨어있으면서 여러분의 중요한 메일을 감시해 줄 겁니다.

 

n8n은 처음 연결 설정이 조금 복잡하게 느껴질 수 있지만, 한 번 뚫어놓으면 지라(Jira), 노션(Notion), 구글 시트 등 무한한 확장이 가능합니다. 오늘 소개드린 예제로 작게 시작해서 여러분만의 업무 자동화 시스템을 구축해 보시길 바래요.

 

 

 

 

댓글