정보의 홍수 속에서 우리가 원하는 소식을 놓치지 않고 받아보는 것은 생각보다 어려운 일입니다. 매번 즐겨 찾는 블로그나 뉴스 사이트를 방문하며 새 글이 올라왔는지 확인하는 일은 여간 번거로운 것이 아니죠. 이럴 때 필요한 것이 바로 RSS 피드와 자동화 도구입니다. 오늘은 강력한 자동화 툴인 n8n을 활용하여 RSS 피드를 구독하고, 새 글이 올라올 때마다 자동으로 알림을 받는 방법을 자세히 알아보겠습니다! 🚀
1. 서론: 정보의 바다에서 길을 잃지 않는 법! 🌊
우리는 매일 수많은 정보를 접하며 살아갑니다. 하지만 정말 중요한 정보, 나에게 꼭 필요한 정보를 놓치지 않고 받아보는 것은 쉽지 않죠. 특히 특정 분야의 전문 블로그, 관심 있는 커뮤니티의 새 소식, 혹은 특정 웹사이트의 업데이트 등, 주기적으로 확인해야 하는 정보가 많다면 더욱 그렇습니다.
이때 RSS(Really Simple Syndication)는 구세주와 같은 역할을 합니다. RSS는 웹사이트의 업데이트된 콘텐츠를 표준화된 형식으로 제공하여, 사용자가 RSS 리더를 통해 편리하게 새 소식을 받아볼 수 있게 해주는 기술입니다. 그리고 n8n은 이 RSS 피드를 자동으로 읽고, 원하는 형태로 가공하여 다양한 플랫폼으로 알림을 보내주는 ‘자동화 마법사’입니다. ✨
이 글을 통해 여러분은 더 이상 일일이 웹사이트를 방문하지 않고도, 관심 있는 소식을 가장 빠르게 받아보는 방법을 배우게 될 것입니다.
2. n8n이란? 자동화의 마법 지팡이 ✨
n8n은 “Node-based Workflow Automation”의 약자로, 다양한 웹 서비스와 애플리케이션을 연결하여 복잡한 워크플로우를 쉽게 자동화할 수 있도록 돕는 오픈소스 자동화 도구입니다. 코딩 지식이 없어도 시각적인 인터페이스(노드 기반)를 통해 자동화 흐름을 구축할 수 있다는 것이 가장 큰 장점입니다.
- 저코드/노코드 방식: 드래그 앤 드롭 방식으로 노드를 연결하여 워크플로우를 만듭니다.
- 강력한 통합 기능: 수백 가지의 서비스(Slack, Telegram, Gmail, Notion, Google Sheets 등)와 연동됩니다.
- 유연성: 원하는 대로 커스터마이징하고 복잡한 로직을 구현할 수 있습니다.
- 자체 호스팅 가능: 데이터를 직접 관리할 수 있어 보안 및 프라이버시 측면에서 유리합니다.
3. 준비물: 시작하기 전에 필요한 것들 🛠️
n8n 워크플로우를 만들기 전에 몇 가지 준비물이 필요합니다.
- n8n 인스턴스:
- n8n Cloud를 구독하거나, 개인 서버(AWS, Google Cloud, Docker 등)에 n8n을 설치하여 실행 중이어야 합니다.
- n8n 공식 웹사이트에서 자세한 설치 가이드를 확인할 수 있습니다.
- RSS 피드 URL:
- 알림을 받고 싶은 웹사이트의 RSS 피드 URL을 알고 있어야 합니다. 대부분의 블로그나 뉴스 사이트에는 RSS 아이콘(🔗 또는 🟧 모양)이나 “RSS 구독” 링크가 있습니다.
- 예시:
- 네이버 블로그:
블로그주소/rss
- 티스토리 블로그:
블로그주소/rss
- 특정 뉴스 섹션:
https://www.bloter.net/rss.xml
- YouTube 채널의 RSS는 보통 RSSHub 같은 도구를 이용해야 합니다.
- 네이버 블로그:
- 알림을 받을 채널 설정:
- 텔레그램(Telegram), 슬랙(Slack), 디스코드(Discord) 등 알림을 받을 플랫폼을 정하고, 해당 플랫폼의 API 연동 정보를 준비해야 합니다.
- 예시: 텔레그램 봇 설정
- 텔레그램에서
@BotFather
에게 메시지를 보내 새로운 봇을 생성합니다. - 봇 생성 시 발급되는
Bot Token
을 기록해 둡니다. - 봇을 생성한 후, 알림을 받을 그룹 채팅을 만들거나 개인 챗에 봇을 초대하고, 봇에게 한 번이라도 메시지를 보냅니다.
https://api.telegram.org/bot[YOUR_BOT_TOKEN]/getUpdates
URL에 접속하여chat
객체 안에 있는id
값을 찾아 기록해 둡니다. 이것이Chat ID
입니다.
- 텔레그램에서
4. n8n 워크플로우 구축하기: 단계별 가이드 🚀
이제 실제 n8n 워크플로우를 만들어 보겠습니다. 목표는 특정 RSS 피드에 새 글이 올라올 때마다 텔레그램으로 알림을 받는 것입니다.
4.1. 워크플로우 생성 및 트리거 설정 (Interval)
- n8n 대시보드에 접속하여 왼쪽 사이드바에서
Workflows
를 클릭한 후New
버튼을 눌러 새로운 워크플로우를 생성합니다. -
Add first node
를 클릭하고 검색창에Interval
을 입력하여Interval
트리거 노드를 선택합니다.Mode
:Every time
Value
: 새 글 확인 주기를 설정합니다. 예를 들어15
분마다 확인하려면15
를 입력하고Unit
은Minutes
로 설정합니다. (너무 짧게 설정하면 웹사이트에 부담을 줄 수 있으니 적절한 주기를 선택하세요.)
> 💡 팁:
Cron
노드를 사용하면 더 세밀한 시간 설정(예: 매일 오전 9시, 매주 월요일 등)이 가능합니다.
4.2. RSS 피드 읽기 (RSS Feed Read node)
Interval
노드 옆의+
버튼을 클릭하여 새로운 노드를 추가합니다.- 검색창에
RSS Feed Read
를 입력하여RSS Feed Read
노드를 선택합니다. -
RSS Feed Read
노드를 클릭하고 설정을 다음과 같이 변경합니다.URL
: 알림을 받고 싶은 RSS 피드의 URL을 입력합니다.- 예시:
https://www.bloter.net/rss.xml
(블로터 경제 뉴스 RSS)
- 예시:
Get only new items
: 체크박스를 활성화합니다. 👈 이 부분이 중요합니다! n8n이 이전에 확인했던 글은 건너뛰고, 새로 올라온 글만 가져오도록 합니다. n8n은 내부적으로 각 RSS 피드의 마지막으로 읽은 항목을 기억합니다.
> 🤔 어떻게 새 글을 구분하나요? n8n의
RSS Feed Read
노드는 피드의guid
또는link
필드를 기준으로 항목의 고유성을 식별하고, 내부 데이터베이스에 마지막으로 처리된 항목의 정보를 저장하여 새 글을 구분합니다.
4.3. 알림 메시지 구성 (Set node)
RSS Feed Read
노드에서 새 글이 감지되면 해당 글의 정보(제목, 링크, 발행일 등)가 다음 노드로 전달됩니다. 이 정보를 보기 좋게 가공하여 알림 메시지를 만들 차례입니다.
RSS Feed Read
노드 옆의+
버튼을 클릭하고Set
노드를 추가합니다.-
Set
노드를 클릭하고 설정을 다음과 같이 변경합니다.Keep Only Set
: 비활성화 (기존 데이터를 유지하고 새로운 필드를 추가하기 위함)-
Add Value
버튼을 클릭하여 새로운 필드를 추가합니다.Name
:message
(알림 메시지를 담을 필드 이름)Value
: 여기에 텔레그램으로 보낼 메시지 내용을 작성합니다. n8n의 표현식(Expression)을 사용하여 RSS 피드에서 가져온 데이터를 동적으로 삽입할 수 있습니다.
새로운 블로그 글 알림! 💡 제목: {{ $json.title }} 링크: {{ $json.link }} 발행일: {{ $json.pubDate ? new Date($json.pubDate).toLocaleString('ko-KR') : '날짜 없음' }}
{{ $json.title }}
: RSS 피드에서 가져온 글 제목{{ $json.link }}
: RSS 피드에서 가져온 글 링크{{ $json.pubDate }}
: RSS 피드에서 가져온 발행일..toLocaleString('ko-KR')
을 사용하면 한국식 날짜/시간 형식으로 변환됩니다.? :
는 발행일이 없을 경우를 대비한 처리입니다.
> 🎨 팁: 텔레그램은 마크다운 또는 HTML 포맷을 지원합니다.
Set
노드의Value
에 HTML 태그나 마크다운 문법을 추가하여 메시지를 더 풍부하게 만들 수 있습니다. 예를 들어,<b>{{ $json.title }}</b>
또는*{{ $json.title }}*
처럼요.
4.4. 알림 보내기 (Telegram node)
이제 최종적으로 구성된 메시지를 텔레그램으로 보낼 차례입니다.
Set
노드 옆의+
버튼을 클릭하고Telegram
노드를 추가합니다.-
Telegram
노드를 클릭하고 설정을 다음과 같이 변경합니다.Authentication
:Access Token
을 선택하고, 미리 준비한 봇 토큰(Bot Token
)을 입력합니다. (처음이라면Credentials
섹션에서New Credential
을 눌러 토큰을 저장합니다.)Resource
:Chat
Operation
:Send Message
Chat ID
: 미리 준비한Chat ID
를 입력합니다.Text
:Set
노드에서 만든message
필드의 값을 가져오도록 표현식을 사용합니다.{{ $json.message }}
Parse Mode
: 메시지 포맷을Markdown
또는HTML
로 설정했다면 여기에 맞게 선택합니다. 일반 텍스트라면None
으로 둡니다.
> 💬 다른 알림 채널 사용하기: > Slack:
Slack
노드를 추가하고 워크스페이스 토큰과 채널 ID를 설정합니다. > Discord:Discord
노드를 추가하고 웹훅 URL을 설정합니다. > Email:Email Send
노드를 추가하고 SMTP 설정을 합니다. > Notion:Notion
노드를 사용해 데이터베이스에 새 항목으로 추가할 수도 있습니다.
4.5. 워크플로우 테스트 및 활성화
- 워크플로우를 저장(Save)합니다.
- 워크플로우가 제대로 작동하는지
Test Workflow
버튼을 클릭하여 테스트합니다.RSS Feed Read
노드에서 새 글이 없어도 기본적으로 테스트는 진행되지만, 새 글이 있을 경우에만 다음 노드가 실행되어 알림이 보내집니다. (테스트 시에는Get only new items
옵션을 일시적으로 해제하거나, RSS 피드에 새 글을 하나 발행해보고 테스트하면 좋습니다.) - 모든 설정이 완료되고 테스트 결과가 만족스럽다면, 워크플로우 오른쪽 상단의
Active
토글을 켜서 워크플로우를 활성화합니다. 이제 설정된Interval
주기에 따라 n8n이 자동으로 RSS 피드를 확인하고 새 글 알림을 보내줄 것입니다! 🥳
5. 다양한 활용 예시 및 팁 💡
5.1. 여러 RSS 피드 통합하기
- 방법 1: 병렬 처리
Interval
노드 뒤에 여러 개의RSS Feed Read
노드를 병렬로 연결하고, 각 노드를 각각의Set
노드와Telegram
노드에 연결합니다. 이렇게 하면 각 피드마다 별도의 알림이 전송됩니다.
- 방법 2: 단일 알림으로 통합
- 여러
RSS Feed Read
노드를 사용하되, 모든 노드의 결과를 하나의Item Lists
노드(Merge
대신Item Lists: Merge All Items
가 더 적합할 수 있음)로 모아서 하나의Set
노드로 메시지를 구성하고, 단일Telegram
노드로 한 번에 보낼 수 있습니다. 이 경우 메시지 구성이 복잡해질 수 있습니다. - 가장 간단한 방법은
RSS Feed Read
노드 하나에 여러 RSS URL을 콤마(,)로 구분하여 입력하는 것입니다. 이 경우 모든 피드의 새 글이 하나의 묶음으로 처리됩니다.
- 여러
5.2. 다양한 알림 채널 활용
Telegram
노드 대신, 또는Telegram
노드 뒤에+
버튼을 눌러Slack
,Discord
,Email Send
,Notion
등 원하는 노드를 추가하여 여러 채널로 동시에 알림을 보낼 수 있습니다.- 예시: 중요한 뉴스는 텔레그램으로, 가벼운 블로그 글은 슬랙 채널로.
5.3. 특정 키워드 포함 시에만 알림 받기
RSS Feed Read
노드와Set
노드 사이에IF
노드를 추가합니다.IF
노드 설정을 다음과 같이 변경합니다.Value 1
:{{ $json.title }}
(글 제목)Condition
:Contains
(포함) 또는Starts With
(시작),Ends With
(끝) 등 원하는 조건을 선택합니다.Value 2
:파이썬
(예시: 제목에 ‘파이썬’이 포함된 글만 알림)
IF
노드의True
분기(Branch)에Set
노드와Telegram
노드를 연결합니다. 이렇게 하면 조건에 맞는 글만 알림이 전송됩니다.
5.4. 메시지 포맷 고급화
Set
노드에서Code
노드로 변경하여 JavaScript 코드를 사용하여 더욱 복잡하고 동적인 메시지를 구성할 수 있습니다.-
예시 (Code 노드에서 메시지 구성):
const items = $input.all(); const messages = items.map(item => { const title = item.json.title; const link = item.json.link; const pubDate = item.json.pubDate ? new Date(item.json.pubDate).toLocaleString('ko-KR') : '날짜 없음'; return `새로운 글이 올라왔어요! ✨\n제목: *${title}*\n링크: ${link}\n발행일: ${pubDate}`; }); return [{ json: { message: messages.join('\n\n--- 새로운 글 ---\n\n') // 여러 글을 하나의 메시지로 묶을 때 } }];
이후
Telegram
노드에서{{ $json.message }}
를 불러와 사용합니다.
6. 결론: 이제 당신도 정보의 선두주자! 🏁
이제 여러분은 n8n을 활용하여 RSS 피드의 새 글을 자동으로 감지하고 원하는 채널로 알림을 받아볼 수 있게 되었습니다. 🚀 이 워크플로우는 여러분의 정보 습득 방식을 혁신하고, 시간을 절약하며, 중요한 소식을 절대 놓치지 않도록 도와줄 것입니다.
n8n은 RSS 피드 알림 외에도 수많은 자동화 시나리오에 활용될 수 있는 강력한 도구입니다. 이 워크플로우를 시작으로 여러분의 디지털 생활을 더욱 효율적으로 만들어 보세요! 궁금한 점이 있다면 언제든지 n8n 커뮤니티나 공식 문서를 참고하여 더 많은 아이디어를 얻으실 수 있습니다. Happy Automating! 🎉 D