본문 바로가기
개발&프로그래밍

[n8n] n8n 사용법 완벽 가이드: NASA API로 첫 자동화 워크플로우 만들기

by 재아군 2025. 11. 29.

n8n 사용법 완벽 가이드: NASA API로 첫 자동화 워크플로우 만들기

안녕하세요! 오늘은 업무 자동화 툴의 떠오르는 강자, n8n을 활용해 나만의 첫 번째 워크플로우를 만드는 방법을 아주 상세하게 알려드릴게요.

 

 

"코딩 없이 API를 연동할 수 있을까?"라는 고민, 한 번쯤 해보셨을 텐데요. n8n을 사용하면 복잡한 코드 없이도 노드(Node)들을 선으로 연결하는 것만으로 강력한 기능을 구현할 수 있답니다. 이번 가이드에서는 NASA의 공개 API를 연동하여 태양 흑점(Solar Flare) 데이터를 자동으로 수집하고 분류하는 봇을 만들어 볼 거예요.

 

 

이 글을 끝까지 따라 하시면 n8n의 기초인 트리거(Trigger), 데이터 처리, 조건문(If), 그리고 표현식(Expression)까지 완벽하게 이해하실 수 있습니다. 자, 그럼 자동화의 세계로 함께 떠나볼까요?

 

 

 

 

1단계: 새로운 워크플로우 생성하기

가장 먼저 n8n을 실행해야겠죠?

초보자분들이라면 별도의 설치 과정이 필요 없는 n8n Cloud 버전을 추천해 드려요. 무료 평가판(Free Trial)을 통해 바로 시작할 수 있답니다.

로그인을 완료했다면 대시보드가 보일 거예요.

여기서 'Start from Scratch' 버튼을 누르거나, 우측 상단의 'Create Workflow' 버튼을 클릭해 주세요.

이제 아무것도 없는 빈 캔버스가 펼쳐질 텐데, 여기가 바로 여러분의 아이디어를 실현할 작업 공간이랍니다.

 

 

2단계: 스케줄 트리거(Schedule Trigger) 설정하기

자동화의 시작은 '언제' 실행할지 정하는 것입니다. 우리는 매주 월요일 아침마다 태양 흑점 정보를 받아오도록 설정해 볼게요.

  1. 캔버스 중앙의 'Add first step'을 클릭하세요.
  2. 검색창에 'Schedule'을 입력하고 'Schedule Trigger' 노드를 선택합니다.
  3. 설정창이 열리면 다음과 같이 입력해 주세요.
    • Trigger Interval: Weeks (주 단위 실행)
    • Weeks Between Triggers: 1 (1주 간격)
    • Trigger on Weekdays: Monday (월요일)
    • Trigger at Hour: 9am (오전 9시)
    • Trigger at Minute: 0

설정이 끝났다면 설정창을 닫아주세요. 이제 매주 월요일 오전 9시가 되면 이 봇이 자동으로 깨어나 일을 시작하게 됩니다.

 

 

 

3단계: NASA API 노드 추가 및 자격 증명 설정

이제 실제로 데이터를 가져올 차례입니다. n8n은 NASA와 같은 유명 서비스들의 노드를 미리 만들어두었기 때문에 API 연동이 정말 쉬워요.

 

 

NASA 노드 추가하기

스케줄 트리거 노드 오른쪽의 (+) 버튼(Add node)을 눌러 연결해 주세요. 검색창에 'NASA'를 입력하고 선택합니다. 그다음 동작(Operation) 리스트에서 'Get a DONKI solar flare'를 선택하세요. 이 기능은 최근 발생한 태양 흑점 폭발 보고서를 가져오는 역할을 합니다.

 

 

 

API 키 발급 및 연결 (Credentials)

API를 사용하려면 "나 사용자야!"라고 인증하는 열쇠가 필요해요.

  1. NASA 노드 설정창에서 'Credential for NASA API' 드롭다운을 클릭하고 'Create new credential'을 선택하세요.
  2. 나오는 화면에서 링크를 통해 NASA API 사이트로 이동한 뒤, 간단한 양식을 작성하면 이메일로 API Key가 도착합니다.
  3. 이 키를 복사해서 n8n의 API Key 입력창에 붙여넣고 Save를 눌러주세요.

 

 

날짜 데이터 동적 설정 (Expression 활용)

기본적으로 이 노드는 지난 30일간의 데이터를 가져오지만, 우리는 '지난 1주일'간의 데이터만 필요합니다. 여기서 n8n의 강력한 기능인 표현식(Expression)을 사용해 볼게요.

  1. 노드 하단의 'Additional Fields'에서 'Start date'를 추가합니다.
  2. Start date 입력칸 옆의 기어 아이콘이나 옵션 탭을 눌러 Expression 모드로 변경해 주세요.
  3. 편집창을 열고 아래 코드를 입력합니다. {{ $today.minus(7, 'days') }}

이 코드는 "오늘 날짜에서 7일을 뺀 날짜"를 자동으로 계산해 줍니다. 이제 'Execute step' 버튼을 눌러보세요. 우측 Output 패널에 지난주 태양 흑점 데이터가 JSON 형식으로 들어온다면 성공입니다!

 

 

 

4단계: If 노드로 조건부 로직 만들기

모든 흑점 데이터가 중요한 건 아니겠죠? 개중에는 지구에 영향을 줄 수 있는 강력한 'X등급' 폭발이 있고, 미미한 폭발도 있습니다. 우리는 If 노드를 사용해 데이터를 분류해 볼 거예요.

  1. NASA 노드 옆의 (+) 버튼을 눌러 'If' 노드를 검색해 추가합니다.
  2. NASA 노드에서 가져온 데이터 중 'classType'이라는 항목을 찾아보세요. 이 값을 If 노드의 Value 1 필드로 드래그 앤 드롭 합니다.
  3. 조건(Operation)은 'String > Contains'로 설정하세요.
  4. Value 2에는 X라고 입력합니다. (X는 가장 강력한 등급의 흑점 폭발을 의미해요.)

이제 이 로직은 "데이터의 classType에 'X'가 포함되어 있는가?"를 검사하게 됩니다. 만약 X등급 폭발이 있었다면 True 경로로, 없다면 False 경로로 데이터가 흐르게 되는 것이죠.

 

 

5단계: 결과 출력 및 워크플로우 완성

마지막으로 분류된 데이터를 외부로 보내서 확인해 봅시다. 테스트를 위해 간단히 데이터를 받아볼 수 있는 PostBin 서비스를 활용할게요.

  1. If 노드의 True 출력점(오른쪽)을 클릭해 'PostBin' 노드를 추가합니다.
  2. PostBin 사이트에 접속해 새 Bin을 생성하고 주어지는 Bin ID를 복사해 n8n 노드에 붙여넣으세요.
  3. Bin Content 부분에 표현식을 사용하여 메시지를 작성합니다. 예를 들어 There was a solar flare of class {{$json["classType"]}} 처럼 입력하면, 실제 등급 정보가 메시지에 포함되어 전송됩니다.
  4. If 노드의 False 경로에도 똑같이 PostBin 노드를 하나 더 복사해서 연결해 주세요. 여기에는 "별일 없었습니다" 같은 메시지를 보낼 수도 있겠죠?

 

최종 테스트 및 실행

 

 

모든 연결이 끝났다면 하단의 'Execute Workflow' 버튼을 눌러 전체 흐름을 실행해 보세요.

PostBin 페이지를 새로고침 했을 때 데이터가 들어와 있다면 성공입니다!

이제 우측 상단의 Active 토글을 켜면, 매주 월요일마다 이 봇이 자동으로 우주 날씨를 체크해 줄 거예요.

 

 

n8n은 이렇게 복잡해 보이는 API 연동과 데이터 처리를 직관적인 UI로 해결해 줍니다.

오늘 만든 워크플로우를 응용하면, 환율 정보를 받아와 슬랙으로 알림을 보내거나, 이메일을 자동으로 정리하는 등 무궁무진한 자동화를 실현할 수 있답니다.

 

 

댓글