구현 기능
매일 밤 10시에 OpenWeatherMap API를 통해 서울의 현재 날씨와 5일/3시간 단위 예보 데이터를 조회한 뒤, 내일 서울 날씨 리포트를 Slack 채널로 자동 전송하는 트리거를 개발했다.
리포트에는 현재 날씨, 기온, 체감온도, 습도, 풍속, 내일 일출/일몰, 내일 오전 6시·낮 12시·저녁 6시 예보, 강수확률 기반 비 예보 시간대, 한줄 코멘트를 포함하도록 구성했다.
또한 워크플로우 실행 중 노드 실패가 발생할 경우 Error Trigger를 통해 별도 Slack 에러 알림이 전송되도록 구성했다.
사용한 노드
- Schedule Trigger
- OpenWeatherMap
- Merge
- Code in JavaScript
- Slack
- Error Trigger
- Slack Error Message
아키텍쳐 워크플로우

구현 중 발생한 이슈와 해결
1. Slack 메시지 데이터 누락 문제
기존에는 Merge 이후 Edit Fields 노드에서 데이터를 정리한 뒤 Slack 메시지를 전송했다.
하지만 Slack 메시지의 포맷을 리팩토링 해가면서 메세지에 필요한 날씨 원본 데이터가 일부 누락되어 온도와 예보가 정상적으로 출력되지 않는 문제가 있었다.
이를 해결하기 위해 메시지 생성 로직을 Code 노드로 옮기고, Slack 노드는 Code 노드에서 만든 slackText만 전송하도록 변경했다.
2. 내일 예보 시간 계산 문제
처음에는 list[3], list[5], list[7]처럼 고정된 순서로 내일 오전·낮·저녁 예보를 가져왔다.
하지만 워크플로우 실행 시간에 따라 예보 데이터의 순서가 달라질 수 있어, 원하는 시간대의 날씨가 정확히 나오지 않을 수 있었다.
이를 해결하기 위해 Code 노드에서 내일 날짜를 계산하고, 06시·12시·18시에 해당하는 예보를 직접 찾아 메시지를 만들도록 수정했다.
3. 내일 일출/일몰
현재 OpenWeatherMap 응답에는 내일 일출/일몰을 바로 가져올 수 있는 daily 데이터가 없었다.
그래서 sys.sunrise, sys.sunset 값에 86400초를 더해 내일 기준 일출/일몰 시간으로 표시했다.
4. Error Trigger 문제
각 노드마다 에러 처리를 붙이면 워크플로우가 복잡해질 수 있어 Error Trigger를 사용했다.
처음에는 수동 실행으로 에러를 테스트했지만 Error Trigger가 동작하지 않았고, 이후 Scheduler 기반 자동 실행에서 테스트해야 정상 동작한다는 것을 확인했다.
'AI' 카테고리의 다른 글
| [n8n] 주식 뉴스 검색 알림 자동화 (0) | 2026.05.14 |
|---|