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 노드 기본 설정
- Credentials에서 Telegram Bot 선택
- Resource는 Message 선택
- Operation은 Send Message 선택
- Chat ID 입력
- Text에 알림 문구 작성
메시지는 이메일 전체 내용을 보내기보다 필요한 정보만 간단하게 구성하는 게 좋아요.
📧 중요 이메일 알림
보낸 사람: {{$json.sender_email}}
제목: {{$json.email_subject}}
수신 시간: {{$json.received_at}}
내용:
{{$json.email_snippet}}
sender_email, email_subject 같은 이름은 Set 노드에서 만든 필드예요.
값이 비어 나온다면 Telegram 노드부터 수정하지 말고 Set 노드 Output에서 실제 필드명이 맞는지 먼저 확인하세요.
알림이 안 올 때는 위에서부터 확인하지 마세요
처음에는 Gmail부터 다시 설정하고 싶어지지만, 아래 순서대로 보면 원인을 훨씬 빨리 찾을 수 있어요.
-
IF 노드 결과 확인
실제 메일이 true 경로로 들어갔는지 확인합니다. -
Telegram Credentials 확인
Bot Token 연결이 정상인지 확인합니다. -
Chat ID 확인
개인과 그룹의 Chat ID 형식이 다릅니다. -
Text 표현식 확인
참조한 필드가 실제 Output에 존재하는지 확인합니다. -
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