n8n Telegram 연동 방법과 자동 알림 워크플로 구축하기

n8n과 Telegram을 연결해 기업마당 공고를 정해진 시간에 알리는 워크플로를 구축하는 과정을 정리합니다.

매일 아침 정책자금 공고를 직접 찾아보는 게 번거로웠습니다. 기업마당(bizinfo.go.kr)에 매일 새로운 공고가 올라오는데 일일이 확인하기가 쉽지 않았습니다.

n8n으로 자동화하면 되겠다는 생각에 워크플로를 만들었습니다. 결과적으로 매일 오전 9시에 새로운 정책자금 공고가 Telegram으로 자동 발송되는 시스템이 완성됐습니다.

UGREEN DXP4800PLUS NAS에서 운영 중인 n8n을 활용한 Telegram 자동 알림 워크플로 구축 과정을 살펴봅니다.


n8n이란

n8n은 노코드/로우코드 워크플로 자동화 도구입니다. 200개 이상의 서비스와 연동할 수 있고 Docker로 셀프 호스팅이 가능합니다.

현재 UGREEN DXP4800PLUS NAS에서 Docker로 운영 중입니다.

bash
docker ps | grep n8n
# n8n   Up 6 days   0.0.0.0:5678->5678/tcp

Telegram Bot 준비

n8n에서 Telegram으로 메시지를 보내려면 먼저 Telegram Bot을 만들어야 합니다.

1. BotFather로 봇 생성

Telegram에서 @BotFather 검색 후 대화 시작:

/newbot
↓
봇 이름 입력 (예: MyAlertBot)
↓
봇 username 입력 (예: my_alert_bot)
↓
API Token 발급

발급된 Token 형식:

1234567890:ABCdefGHIjklMNOpqrSTUvwxYZ

2. Chat ID 확인

봇에게 먼저 아무 메시지나 보내야

getUpdates 결과에 chat.id가 표시됩니다.

그다음 아래 URL로 접속합니다:

`https://api.telegram.org/bot{TOKEN}/getUpdates`


n8n 설치 확인

n8n 웹 UI에 접속합니다:

http://NAS_IP:5678

처음 접속 시 계정 생성 후 로그인하면 워크플로 편집 화면이 나옵니다.


워크플로 구성

실제 운영 중인 워크플로 구조:

Schedule Trigger (매일 09:00 KST)
↓
HTTP Request (기업마당 API 호출)
↓
Split Out (항목별 분리)
↓
Filter (조건 필터링)
↓
Send a text message (Telegram 발송)

n8n에서 Telegram 알림 노드를 연결한 자동화 워크플로 화면

 


1단계: Schedule Trigger

워크플로를 특정 시간에 자동 실행합니다.

노드 추가 → Schedule Trigger
Trigger interval: Days
Hour: 9
Minute: 0
Timezone: Asia/Seoul

2단계: HTTP Request

기업마당의 HTML 목록 페이지가 아니라 공식 지원사업정보 API를 호출합니다. API 사용신청으로 발급받은 인증키가 필요합니다.

노드 추가 → HTTP Request
Method: GET
URL: https://www.bizinfo.go.kr/uss/rss/bizinfoApi.do
Query Parameters:
  crtfcKey: 발급받은 인증키
  dataType: json
  searchCnt: 100

인증키는 워크플로 본문에 직접 적기보다 n8n의 credential·변수 등 접근이 제한된 저장소에서 불러오세요. 공식 응답은 최상위 jsonArray 안에 공고 배열 item을 제공합니다.

3단계: Split Out

노드 추가 → Split Out
Field To Split Out: jsonArray.item

각 항목에는 seq, title, link, pubDate, reqstDt 등이 포함됩니다. 한 번 보낸 seq 또는 pblancId를 별도 저장소에 기록해 같은 공고를 다시 보내지 않도록 확인하세요.

4단계: Filter

새로 등록된 공고만 보내려면 pubDate, 접수 기간은 reqstDt, 제목 키워드는 title을 기준으로 필터링합니다.

예시 조건
- pubDate가 오늘 날짜
- 또는 title에 "정책자금" 포함
- 그리고 seq가 이전 발송 목록에 없음

5단계: Send a text message (Telegram)

노드 추가 → Telegram → Send a text message
Credential: Telegram Bot Token 입력
Chat ID: 본인 Chat ID
Message:
📢 새로운 정책자금 공고
제목: {{ $json.title }}
접수기간: {{ $json.reqstDt }}
링크: {{ $json.link }}

발송 성공 뒤에는 seq를 저장해 다음 실행에서 중복 여부를 확인하세요.

n8n에서 Telegram Credential 설정

처음 Telegram 노드를 추가하면 Credential 설정이 필요합니다.

Telegram 노드 클릭
→ Credential 옆 "Create New" 클릭
→ Access Token 입력 (BotFather에서 발급받은 Token)
→ Save

워크플로 실행 결과

매일 오전 9시에 Telegram으로 정책자금 공고 알림이 자동 발송됩니다. 직접 사이트를 방문하지 않아도 새로운 공고를 바로 확인할 수 있습니다.

n8n 워크플로는 Published 상태로 설정해야 스케줄이 자동 실행됩니다. Draft 상태에서는 수동으로만 실행됩니다.


활용 확장

같은 구조로 다양한 자동 알림을 만들 수 있습니다.

GitHub 새 이슈 알림
→ HTTP Request (GitHub API)
→ Filter (특정 레이블)
→ Telegram

주식/코인 가격 알림
→ HTTP Request (가격 API)
→ Filter (목표 가격 도달)
→ Telegram

서버 상태 모니터링
→ HTTP Request (헬스체크)
→ Filter (비정상 응답)
→ Telegram

마무리

n8n + Telegram 조합은 반복적인 모니터링 작업을 자동화할 때 활용할 수 있습니다.

핵심은 세 가지입니다:

1. Schedule Trigger로 실행 시간 설정
2. HTTP Request로 데이터 수집
3. Telegram으로 알림 발송

UGREEN DXP4800PLUS NAS에서 Docker로 n8n을 운영하면 별도 서버 비용 없이 24시간 자동화 워크플로를 구동할 수 있습니다.


관련 글