작업을 수행하는 노드

노드란
*노드(Node)*는 워크플로우를 구성하는 기본 단위입니다.
워크플로우 편집기에서 하나의 블록(사각형)으로 표시되며, 각 노드는 하나의 작업을 수행합니다. 여러 노드를 선으로 연결하면 데이터가 순서대로 흘러가면서 자동화된 작업 파이프라인이 만들어집니다.
[트리거 노드] → [작업 노드 A] → [작업 노드 B] → [작업 노드 C]
*비유하자면:*
워크플로우 = 공장의 생산 라인
노드 = 생산 라인의 각 작업 공정
연결선 = 컨베이어 벨트 (데이터를 다음 공정으로 전달)
노드가 하는 일
**노드의 역할**
역할 | 예시 |
|---|---|
워크플로우 시작 조건 설정 | 매일 아침 9시에 실행, 웹훅 요청이 오면 실행 |
외부 서비스 연동 | Google Sheets에서 데이터 읽기, 이메일 보내기 |
데이터 가공 | 필드 추가/삭제, JSON 파싱, 텍스트 변환 |
흐름 제어 | 조건 분기, 반복 처리, 여러 입력 합치기 |
AI 처리 | GPT로 텍스트 생성, 음성 합성, 이미지 생성 |
노드의 구성 요소
모든 노드는 다음 요소로 구성됩니다.
기본 정보
**노드의 기본 정보**
요소 | 설명 |
|---|---|
이름 | 노드의 표시 이름 (예: "Google Sheets", "OpenAI") |
아이콘 | 노드를 시각적으로 구분하는 아이콘 |
설명 | 노드가 하는 일에 대한 간단한 설명 |
설정 항목 (파라미터)
노드를 클릭하면 나타나는 설정 패널에서 동작을 세부 조정합니다.
**파라미터 유형**
파라미터 유형 | 설명 | 예시 |
|---|---|---|
텍스트 | 문자열 값 입력 | 파일 이름, URL |
숫자 | 숫자 값 입력 | 최대 개수, 타임아웃 |
옵션 | 드롭다운 목록에서 선택 | 모드 선택, 언어 선택 |
불리언 | 켜기/끄기 토글 | 헤더 포함 여부 |
JSON | JSON 데이터 직접 입력 | 요청 바디, 필터 조건 |
코드 | 코드 에디터 | JavaScript 표현식 |
파라미터에는 고정값 또는 표현식({{ $json.field }})을 사용할 수 있습니다. 표현식을 사용하면 이전 노드의 출력을 동적으로 참조할 수 있습니다.
입력과 출력
입력(Input): 이전 노드에서 전달받는 데이터 연결점 (노드 왼쪽)
출력(Output): 다음 노드로 데이터를 보내는 연결점 (노드 오른쪽)
대부분의 노드는 입력 1개, 출력 1개를 가지지만, 일부 노드는 여러 개의 입출력을 가집니다.
┌─ [출력 1: 참] → 다음 노드 A
[If 노드]│
└─ [출력 2: 거짓] → 다음 노드 B
노드의 종류
노드는 크게 세 가지 유형으로 나뉩니다.
트리거 노드
워크플로우의 시작점입니다. 모든 워크플로우는 반드시 하나 이상의 트리거 노드로 시작해야 합니다.
트리거 노드는 "언제 워크플로우를 실행할 것인가"를 결정합니다.
**트리거 노드의 종류**
노드 | 실행 조건 |
|---|---|
수동 실행 (Manual Trigger) | 사용자가 직접 "실행" 버튼을 클릭 |
스케줄 (Schedule Trigger) | 설정한 시간/주기에 자동 실행 (예: 매일 9시, 매 5분) |
웹훅 (Webhook) | 외부에서 HTTP 요청이 들어오면 실행 lightbulb 현재 미지원 |
*특징:*
워크플로우 캔버스에서 초록색 아이콘으로 표시됩니다
입력 연결점이 없고, 출력 연결점만 있습니다
트리거 노드가 제공하는 데이터가 워크플로우의 첫 입력 데이터가 됩니다
액션 노드
실제 작업을 수행하는 노드입니다. 이전 노드에서 데이터를 받아 처리하고, 결과를 다음 노드로 전달합니다.
AI 및 텍스트 생성
**AI 및 텍스트 생성 노드**
노드 | 설명 |
|---|---|
OpenAI | GPT 모델을 사용한 텍스트 생성, 채팅 |
Gemini Text Gen | Google Gemini 모델로 텍스트 생성 |
Grok xAI | xAI의 Grok 모델 사용 |
음성 및 미디어
**음성 및 미디어 노드**
노드 | 설명 |
|---|---|
ElevenLabs | AI 음성 합성 (TTS) |
Gemini TTS | Google Gemini 음성 합성 |
Typecast AI | AI 음성 합성 |
Kling AI | AI 영상 생성 |
Flux Kontext | AI 이미지 생성/편집 |
Creatomate | 영상 템플릿 렌더링 |
Render Video | 영상 렌더링 |
검색 및 정보 수집
**검색 및 정보 수집 노드**
노드 | 설명 |
|---|---|
Brave Search | Brave 검색 엔진으로 웹 검색 |
Tavily | AI 최적화 검색 |
Google 서비스
**Google 서비스 노드**
노드 | 설명 |
|---|---|
Google Sheets | 스프레드시트 읽기/쓰기 |
Gmail | 이메일 전송/읽기 |
YouTube | 동영상 업로드/관리 |
파일 저장소
**파일 저장소 노드**
노드 | 설명 |
|---|---|
AWS S3 | Amazon S3 파일 업로드/다운로드 |
메시지 전송
**메시지 전송 노드**
노드 | 설명 |
|---|---|
Solapi | SMS/알림톡 전송 |
흐름 제어 노드
데이터의 흐름을 제어하는 노드입니다. 조건 분기, 반복, 병합 등을 통해 복잡한 로직을 구현할 수 있습니다.
**흐름 제어 노드의 종류**
노드 | 설명 | 입출력 |
|---|---|---|
If | 조건에 따라 데이터 흐름을 분기 | 입력 1개 → 출력 2개 (참/거짓) |
Loop Over Items | 아이템 목록을 하나씩 반복 처리 | 입력 1개 → 출력 2개 (루프/완료) |
Merge | 여러 입력의 데이터를 합침 | 입력 3개 → 출력 1개 |
Set | 데이터 필드 추가/수정/정리 | 입력 1개 → 출력 1개 |
Transform | 데이터 구조 변환 | 입력 1개 → 출력 1개 |
JSON Parser | JSON 문자열을 객체로 파싱 | 입력 1개 → 출력 1개 |
Wait | 지정 시간만큼 대기 후 실행 | 입력 1개 → 출력 1개 |
Throw Error | 의도적으로 에러를 발생시켜 실행 중단 | 입력 1개 → 출력 없음 |
노드의 입출력 구조
데이터 형식
노드 간에 전달되는 데이터는 아이템(Item)의 배열 형태입니다. 각 아이템은 json 필드에 실제 데이터를 담고 있습니다.
[
{ "json": { "name": "홍길동", "email": "hong@test.com" } },
{ "json": { "name": "김철수", "email": "kim@test.com" } },
{ "json": { "name": "이영희", "email": "lee@test.com" } }
]
이 예시에서는 3개의 아이템이 전달됩니다. 다음 노드는 이 아이템들을 하나씩 또는 한꺼번에 처리합니다.
바이너리 데이터
파일(이미지, 문서 등)은 binary 필드로 전달됩니다.
{
"json": { "fileName": "photo.jpg" },
"binary": {
"data": {
"mimeType": "image/jpeg",
"data": "base64로 인코딩된 파일 데이터..."
}
}
}
여러 출력을 가진 노드
일부 노드는 조건에 따라 데이터를 다른 출력으로 보냅니다.
*If 노드 예시:*
입력: [{ "json": { "score": 85 } }]
조건: score >= 70
→ 출력 0 (참): [{ "json": { "score": 85 } }] → 합격 처리 노드
→ 출력 1 (거짓): (빈 배열) → 불합격 처리 노드
*Loop Over Items 예시:*
입력: [아이템1, 아이템2, 아이템3]
1회차 → 루프 출력: [아이템1] → 개별 처리 노드
2회차 → 루프 출력: [아이템2] → 개별 처리 노드
3회차 → 루프 출력: [아이템3] → 개별 처리 노드
완료 → 완료 출력: [처리결과1, 처리결과2, 처리결과3] → 다음 노드
노드와 인증 정보
외부 서비스와 연동하는 노드는 인증 정보(Credentials)가 필요합니다.
인증 정보란
API 키, OAuth 토큰 등 외부 서비스에 접근하기 위한 자격 증명입니다. 인증 정보는 암호화되어 안전하게 저장됩니다.
인증 방식
**인증 방식의 종류**
방식 | 설명 | 사용 노드 예시 |
|---|---|---|
API 키 | 서비스에서 발급받은 키를 입력 | OpenAI, Brave Search, Tavily |
OAuth2 | Google 계정 로그인으로 인증 | Gmail, Google Sheets, YouTube |
액세스 키 | 클라우드 서비스 접근 키 | AWS S3 |
인증 정보 연결하기
노드를 클릭하여 설정 패널 열기
인증 정보 항목에서 기존 인증 정보를 선택하거나 새로 생성
필요한 키/토큰 입력 후 저장
노드가 실행될 때 자동으로 인증 적용
인증 정보에 대한 자세한 내용은 인증 정보 가이드를 참고하세요.
표현식으로 노드 간 데이터 전달
노드의 파라미터에 표현식(Expression)을 사용하면 이전 노드의 출력 데이터를 동적으로 참조할 수 있습니다.
기본 표현식
**기본 표현식 유형**
표현식 | 설명 |
|---|---|
| 바로 이전 노드 출력의 필드 참조 |
| 특수문자가 포함된 키 참조 |
| 배열의 특정 인덱스 접근 |
다른 노드의 출력 참조
**다른 노드 참조 표현식**
표현식 | 설명 |
|---|---|
| 특정 노드의 출력 참조 |
| 모든 입력 아이템을 배열로 반환 |
| 특정 인덱스의 입력 아이템 |
내장 변수 및 함수
**내장 변수 및 함수**
표현식 | 설명 |
|---|---|
| 현재 반복 인덱스 |
| 현재 시각 |
| 환경 변수 |
| 워크플로우 전역 변수 |
| 랜덤 문자열 생성 |
사용 예시
OpenAI 노드의 프롬프트에 이전 노드의 검색 결과를 넣는 경우:
다음 뉴스 기사를 3줄로 요약해 주세요:
{{ $json.articleContent }}
Gmail 노드에서 동적으로 수신자를 설정하는 경우:
{{ $('Google Sheets').json.email }}
워크플로우 안에서 노드의 실행 흐름
실행 순서
워크플로우가 실행되면 노드는 연결 순서대로 실행됩니다.
[트리거] → [노드 A] → [노드 B] → [노드 C]
① ② ③ ④
트리거 노드가 실행되어 초기 데이터를 생성
노드 A가 트리거의 출력을 입력으로 받아 실행
노드 B가 노드 A의 출력을 입력으로 받아 실행
노드 C가 노드 B의 출력을 입력으로 받아 실행
분기와 병합
┌→ [검색] ──────────┐
[트리거] → [If] [Merge] → [결과 전송]
└→ [캐시 조회] ──────┘
If 노드에서 조건에 따라 다른 경로로 분기
Merge 노드에서 여러 경로의 결과를 다시 합침
반복 처리
[데이터 조회] → [Loop Over Items] ⟲ [개별 처리] → [완료 후 다음 노드]
Loop Over Items 노드는 입력 아이템을 하나씩 순환하며 처리
모든 아이템 처리가 끝나면 "완료" 출력으로 결과를 전달
에러 처리
노드 실행 중 에러가 발생하면:
기본적으로 워크플로우 실행이 중단됩니다
노드 설정에서 "에러 시 계속 실행"을 켜면 에러를 무시하고 다음 노드로 진행합니다
Throw Error 노드를 사용하면 의도적으로 에러를 발생시킬 수 있습니다
노드 카테고리별 목록
트리거 노드
**트리거 노드 목록**
노드 | 설명 | 상세 가이드 |
|---|---|---|
Manual Trigger | 수동 실행 | 가이드 |
Schedule Trigger | 스케줄 실행 | 가이드 |
Webhook | 웹훅 수신 | 가이드 |
흐름 제어 노드
**흐름 제어 노드 목록**
노드 | 설명 | 상세 가이드 |
|---|---|---|
If | 조건 분기 | 가이드 |
Loop Over Items | 반복 처리 | 가이드 |
Merge | 데이터 병합 | 가이드 |
Wait | 대기 | 가이드 |
Throw Error | 에러 발생 | 가이드 |
데이터 가공 노드
**데이터 가공 노드 목록**
노드 | 설명 | 상세 가이드 |
|---|---|---|
Set | 필드 설정/수정 | 가이드 |
Transform | 데이터 변환 | 가이드 |
JSON Parser | JSON 파싱 | 가이드 |
데이터 출력 | 가이드 |
AI 노드
**AI 노드 목록**
노드 | 설명 | 상세 가이드 |
|---|---|---|
OpenAI | GPT 텍스트 생성 | 가이드 |
Gemini Text Gen | Gemini 텍스트 생성 | 가이드 |
Grok xAI | Grok 텍스트 생성 | 가이드 |
ElevenLabs | 음성 합성 | 가이드 |
Gemini TTS | Gemini 음성 합성 | 가이드 |
Typecast AI | 음성 합성 | 가이드 |
Kling AI | AI 영상 생성 | 가이드 |
Flux Kontext | AI 이미지 생성 | 가이드 |
미디어 제작 노드
**미디어 제작 노드 목록**
노드 | 설명 | 상세 가이드 |
|---|---|---|
Creatomate | 영상 렌더링 | 가이드 |
Render Video | 영상 렌더링 | 가이드 |
검색 및 정보 수집 노드
**검색 및 정보 수집 노드 목록**
노드 | 설명 | 상세 가이드 |
|---|---|---|
Brave Search | 웹 검색 | 가이드 |
Tavily | AI 검색 | 가이드 |
Google 서비스 노드
**Google 서비스 노드 목록**
노드 | 설명 | 상세 가이드 |
|---|---|---|
Google Sheets | 스프레드시트 | 가이드 |
Gmail | 이메일 | 가이드 |
YouTube | 동영상 관리 | 가이드 |
파일 저장소 노드
**파일 저장소 노드 목록**
노드 | 설명 | 상세 가이드 |
|---|---|---|
AWS S3 | S3 스토리지 | 가이드 |
메시지 전송 노드
**메시지 전송 노드 목록**
노드 | 설명 | 상세 가이드 |
|---|---|---|
Solapi | SMS/알림톡 | 가이드 |
기타 노드
**기타 노드 목록**
노드 | 설명 | 상세 가이드 |
|---|---|---|
Sticky Note | 메모 | 가이드 |
Nano Banana | Nano Banana API | 가이드 |
자주 묻는 질문
노드를 추가하려면 어떻게 하나요
워크플로우 캔버스에서 "+" 버튼을 클릭하거나, 기존 노드의 출력 연결점을 드래그하면 노드 선택 패널이 나타납니다. 원하는 노드를 검색하여 추가할 수 있습니다.
노드 실행 결과를 확인하려면
노드를 클릭하면 실행 결과 탭에서 입력 데이터와 출력 데이터를 확인할 수 있습니다. 개별 노드를 테스트 실행하여 결과를 미리 볼 수도 있습니다.
노드 간 연결을 삭제하려면
연결선을 클릭하여 선택한 후 Delete 키를 누르면 삭제됩니다.
하나의 노드 출력을 여러 노드에 연결할 수 있나요
네, 가능합니다. 하나의 출력을 여러 노드에 연결하면 같은 데이터가 모든 연결된 노드로 전달됩니다.
노드 실행 중 에러가 발생하면
에러 메시지를 확인하고, 설정을 수정한 후 다시 실행하세요. 인증 정보 만료, 잘못된 파라미터, 외부 서비스 장애 등이 주요 원인입니다.