전혀 모르는 사람이 공부하는 n8n (2)

ILJUN YUN·2025년 11월 25일

n8n

목록 보기
1/2
post-thumbnail

저번 글에서 구성해놓은 n8n 서버로 더 많은 것들을 할 수 있을 것 같아 추가로 실습을 진행했다.
평소에 마라톤 접수 일정을 알림으로 주는 서비스가 있으면 좋겠다고 생각했는데, n8n으로 간단히 만들어보려고 한다.

마라톤 신청 알람 서비스

먼저 주기적으로 마라톤 정보를 가져오는 크롤링 워크플로우 1개, 매일 아침 마라톤 참여 시작일을 판단하여 문자 또는 이메일을 날려주는 워크플로우 1개가 필요하다.

처음에는 일일이 마라톤 일정을 입력해 넣으려고 했지만 세상에는 생각보다 더 많은 마라톤 일정들이 존재했고 1인이 모두 관리하기에는 어려웠기 때문에 기존에 마라톤 일정을 제공하는 사이트를 크롤링해서 DB를 구성하기로 했다.

마라톤GO 라는 웹 사이트는 마라톤 일정을 등록 신청을 하고 검증을 통해 데이터로 밀어넣는 것 같아 꽤나 신뢰성 높은 사이트라고 판단했고, 해당 사이트에서 일정을 가져오기로 했다.

크롤링 워크 플로우

마라톤 일정이 자주 바뀌는 것도 아니고 해당 사이트에 부하를 자주 줄 필요도 없다고 생각하여 일주일에 한번 트리거할 수 있도록 설정했다. (요청 URL이 계속 변경되는 것 같은데 한 달에 한번정도 확인해서 URL 변경 후 직접 트리거 하는 방식으로 진행해도 좋을 것 같다.)
그리고 HTTP request 노드에서 응답을 받아오고 응답을 파싱하여 마라톤 일정 객체 리스트로 만들어주는 함수 노드를 두었다.

그 다음으로 만들어진 객체 리스트를 구글 시트에 넣는 노드로 마라톤 일정 DB 저장을 마무리했다. 다음 번에 자동 트리거 할 때 기존의 데이터와 중복된 데이터가 들어가는 것을 방지하기 위해 raceName을 unique값으로 지정했다.

최종적으로 크롤링으로 만들어진 마라톤 일정 DB 리스트 구글 시트는 다음과 같다.
554개의 마라톤 일정을 가져왔다.

이제 매일 아침 8시에 확인하여 당일 접수가 시작되는 마라톤을 추려 구독자에게 보내주는 워크 플로우를 만들어야 한다.

먼저 구독 신청은
구글폼으로 만들었다.

단순히 이메일과 지역 옵션만을 사용하여 신청을 간소화했다.
이제 해당 지역 필터를 적용하여 마라톤 리스트를 가져와 문자로 보내는 2번 워크플로우를 작성해보자.

매일 오전 8시에 자동 트리거하면 구독자와 마라톤 정보를 가져온다. 오늘 접수가 시작될 마라톤 정보만 추려 해당 지역을 구독하고 있는 구독자에게 보낼 이메일을 HTML 코드로 작성했다.

최종적으로 이메일을 보낸 모습은 다음과 같다.

사실 작업을 진행하면서 여러 어려움이 생길 것이라 생각해, 이를 정리하기 위해 블로그 작성을 시작했다.
그런데 막상 n8n을 사용해보니 UI도 직관적이고 지원하는 노드(툴)도 다양해서, 생각보다 훨씬 간단하게 서비스를 만들 수 있었다.

n8n을 몰랐을 때는 마라톤 알림 서비스를 구축하기 위해

  • 크롤링을 위한 서비스 하나,
  • SMTP 발송용 스프링 서비스 하나,
  • Jenkins는 과하니 cron으로 트리거를 처리하는 방식
    을 구성해야겠다고 생각했다.

하지만 n8n을 사용해보니 기존처럼 복잡하게 아키텍처를 나눌 필요 없이, 워크플로우 단위로 작은 서비스들을 손쉽게 만들어 연결할 수 있었다.
다양하고 사용자 친화적인 노드들을 활용해 필요한 기능을 조합만 하면 되기 때문에, 전체 개발 비용이 크게 줄어든다는 점이 인상적이었다.

또한 n8n은 여러 워크플로우 템플릿도 제공한다.
웹에서 필요한 템플릿을 찾아 그대로 복사해와 사용할 수 있어, 직접 구성하는 것이 어렵거나 귀찮은 사람들에게 특히 유용하다.
반복적인 업무를 자동화하고 싶은 사람들이라면, 이미 만들어진 템플릿을 활용해 일상의 루틴을 벗어나 더 중요한 작업에 시간을 써보는 것도 좋아보인다.

혹시나 마라톤 알림 서비스를 제공받아 볼 사람들은 다음 링크로 구글폼을 작성해두면 된다.
불가피한 사정으로 서비스가 말 없이 내려갈 수 있으니 감안하길 바란다.

마라톤 접수 알림 서비스 신청폼 (무료)
https://forms.gle/gcp9nrsusfPNmc1w8

profile
한정된 자원으로 더 많은 가치를 제공하려고 노력하는 백엔드 엔지니어입니다.

2개의 댓글

comment-user-thumbnail
2025년 11월 26일

일준님 글 잘쓰시네요..!
재밋게 블로그 포스팅 잘 읽었습니다
노드를 접한적이 있지만 n8n은 처음알았네여!
저도 활용해보고싶습니다 😀

워크플로우의 플로우도식화 그림자료는 툴을 이용해서 직접그리신걸까요??

-게으른윤겔라-

1개의 답글