16. n8n으로 중요한 이메일을 텔레그램으로 자동 알림 받기

중요한 메일을 텔레그램으로 바로 받고 싶다면 n8n에서는 구조가 복잡하지 않아요.

Gmail Trigger → Set → IF → Telegram

다만 실제로 만들어보면 Telegram 노드 자체보다 Bot Token, Chat ID, 알림 조건에서 더 많이 막혀요.

이번 글에서는 Gmail 조건 분기 뒤에 Telegram을 연결하고, 알림이 너무 많이 오거나 아예 오지 않을 때 어디를 확인해야 하는지 중심으로 살펴볼게요.

먼저 알림 조건부터 정하세요

텔레그램 알림 자동화에서 가장 중요한 것은 Telegram 노드가 아니에요. 어떤 메일을 알림 대상으로 정할지가 더 중요해요.

조건을 넓게 잡으면 하루에도 수십 번 알림이 올 수 있어요. 그러면 중요한 알림까지 무시하게 됩니다.

목적 키워드 예시 확인할 필드
빠른 대응 긴급, 급함, 즉시, 오늘까지 email_subject
영업·고객 문의 문의, 견적, 상담 신청 email_subject
서비스 문제 오류, 장애, 실패, 접속 불가 email_subject
결제 관련 결제, 입금, 환불, 정산 email_snippet

처음에는 키워드 하나만 사용해보세요. 예를 들어 제목에 "견적"이 들어간 경우에만 true 경로로 보내는 식이에요.

며칠 사용한 뒤 놓치는 메일이나 불필요한 알림이 있는지 보고 조건을 추가하는 편이 관리하기 쉽습니다.

Telegram 노드에서 필요한 두 가지

IF 노드의 true 경로에 Telegram 노드를 연결하면 먼저 Credentials와 Chat ID를 설정해야 해요.

1. Bot Token

텔레그램에서 BotFather(@BotFather)를 이용하면 봇을 만들고 Bot Token을 받을 수 있어요.

이 Token은 로그인 비밀번호처럼 취급해야 합니다.

Bot Token은 블로그 캡처, 공유 문서, 공개 GitHub 등에 노출하지 마세요. 노출됐다고 판단되면 기존 토큰을 폐기하고 새로 발급하는 게 안전합니다.

발급받은 Token은 n8n의 Credentials에서 Telegram 유형으로 등록한 뒤 Telegram 노드에서 선택합니다.

2. Chat ID

Chat ID는 메시지를 받을 대상이 누구인지 알려주는 값이에요.

개인 채팅: 숫자 형태
예) 123456789

그룹 채팅: 음수 형태
예) -100123456789

채널: @channel_username 형태 사용 가능

처음 연결할 때는 그룹보다 개인 채팅으로 먼저 테스트하는 편이 쉽습니다.

봇에게 메시지를 보낸 뒤 Telegram Trigger나 Telegram Bot API의 업데이트 정보를 확인하면 Chat ID를 찾을 수 있어요.

Telegram 노드 기본 설정

  1. Credentials에서 Telegram Bot 선택
  2. Resource는 Message 선택
  3. Operation은 Send Message 선택
  4. Chat ID 입력
  5. Text에 알림 문구 작성

메시지는 이메일 전체 내용을 보내기보다 필요한 정보만 간단하게 구성하는 게 좋아요.

📧 중요 이메일 알림

보낸 사람: {{$json.sender_email}}
제목: {{$json.email_subject}}
수신 시간: {{$json.received_at}}

내용:
{{$json.email_snippet}}

sender_email, email_subject 같은 이름은 Set 노드에서 만든 필드예요.

값이 비어 나온다면 Telegram 노드부터 수정하지 말고 Set 노드 Output에서 실제 필드명이 맞는지 먼저 확인하세요.

알림이 안 올 때는 위에서부터 확인하지 마세요

처음에는 Gmail부터 다시 설정하고 싶어지지만, 아래 순서대로 보면 원인을 훨씬 빨리 찾을 수 있어요.

  1. IF 노드 결과 확인
    실제 메일이 true 경로로 들어갔는지 확인합니다.
  2. Telegram Credentials 확인
    Bot Token 연결이 정상인지 확인합니다.
  3. Chat ID 확인
    개인과 그룹의 Chat ID 형식이 다릅니다.
  4. Text 표현식 확인
    참조한 필드가 실제 Output에 존재하는지 확인합니다.
  5. Gmail Trigger Output 확인
    원본 이메일 데이터가 정상적으로 들어왔는지 마지막으로 확인합니다.

같은 메일이 반복해서 알림되는 경우

실제 업무에 적용하면 중복 알림도 확인해야 합니다.

  • 알림을 보낸 메일에 Gmail 라벨 추가
  • 처리된 메일의 messageId 저장
  • 이미 처리된 messageId는 조건에서 제외

처음 실습부터 이 구조까지 넣을 필요는 없어요. 기본 알림이 안정적으로 작동한 다음 추가하는 편이 좋습니다.

알림과 기록을 같이 남기고 싶다면

Telegram 뒤에 Google Sheets 노드를 붙이면 중요한 메일을 알림으로 받고 동시에 기록할 수 있어요.

Gmail Trigger → Set → IF → Telegram → Google Sheets

메일 대응이 중요한 1인 사업자나 상담·문의 업무에서는 이런 구조가 실용적입니다.

실제 운영 전에 확인할 보안 사항

  • Bot Token을 캡처 화면에 노출하지 않기
  • 이메일 본문 전체를 Telegram으로 전송하지 않기
  • 개인정보가 포함된 메시지를 그룹 채팅으로 보내지 않기
  • Execution 기록에 이메일 데이터가 남는지 확인하기
  • 처음에는 테스트 Gmail 계정과 개인 Telegram 채팅으로 검증하기

핵심은 Telegram보다 조건입니다

이 자동화를 만들 때 기억할 것은 세 가지예요.

  • Bot Token은 외부에 노출하지 않기
  • Chat ID는 개인·그룹 형식 차이 확인하기
  • 알림 조건은 처음부터 넓게 잡지 않기

Telegram 노드는 한 번 연결하면 어렵지 않아요. 실제 사용성을 결정하는 것은 어떤 메일을 알림으로 보낼지 정하는 IF 조건입니다.

다음 글에서는 Schedule Trigger와 Set 노드를 이용해 매일 같은 시간에 업무 체크리스트를 자동으로 보내는 방법을 살펴볼게요.


※ 이 글은 n8n 비개발자 자동화 시리즈 16화입니다. n8n과 Telegram의 기능 및 화면은 버전에 따라 달라질 수 있으므로 실제 사용 시 공식 문서를 함께 확인해주세요.

참고자료

  • n8n Docs, Gmail Trigger node
  • n8n Docs, Edit Fields (Set) node
  • n8n Docs, IF node
  • n8n Docs, Telegram node
  • n8n Docs, Telegram credentials
  • n8n Docs, Expressions
  • Telegram 공식 문서, Bot API
  • Telegram 공식 문서, Bots FAQ