토. 8월 16th, 2025

D: 🚀 n8n의 Set 노드는 워크플로우에서 데이터를 조작하고 변환하는 데 필수적인 도구입니다. 이 가이드에서는 Set 노드의 모든 기능을 상세히 설명하고, 실제 활용 예시 10가지를 통해 데이터를 자유자재로 다루는 방법을 알려드리겠습니다!

🔍 Set 노드란?

Set 노드는 n8n 워크플로우에서 데이터를 생성, 수정, 삭제할 수 있는 핵심 노드입니다. JSON 데이터를 쉽게 조작할 수 있어 API 응답 가공, 데이터베이스 입력 전처리 등에 활용됩니다.

// 기본 구조 예시
{
  "name": "John",
  "age": 30,
  "city": "New York"
}

📌 Set 노드 주요 기능

  1. 값 설정 (Set)

    • 새 필드 추가 또는 기존 필드 값 변경
    • {{ $node["PreviousNode"].json["field"] }} 형태로 다른 노드 값 참조 가능
  2. 값 삭제 (Delete)

    • 불필요한 필드 제거
    • 민감정보 가공시 유용
  3. 문자열 처리

    • 대소문자 변환, 문자열 결합 등
    • 예: {{ $json["firstName"].toUpperCase() }}
  4. 수학 연산

    • 가격 계산, 할인율 적용 등
    • 예: {{ $json["price"] * 0.9 }} (10% 할인)

🎯 10가지 실전 활용법

1. API 응답 가공하기

// 원본 API 응답
{
  "user_id": 12345,
  "user_name": "john_doe"
}

// Set 노드 설정
"displayName": "{{ $json.user_name.toUpperCase() }}",
"userId": "USER_{{ $json.user_id }}"

2. 데이터베이스 입력 전처리

"fullAddress": "{{ $json.street }}, {{ $json.city }} {{ $json.zipcode }}",
"createdAt": "{{ new Date().toISOString() }}"

3. 다중 데이터 소스 병합 (✨ 인기 패턴!)

"userProfile": {
  "basic": "{{ $node['CRM'].json }}",
  "purchase": "{{ $node['OrderDB'].json }}"
}

4. 조건부 데이터 처리

"discountPrice": "{{ $json.price > 100 ? $json.price * 0.8 : $json.price }}"

5. 배열 데이터 변환

"productTitles": "{{ $json.products.map(p => p.title).join(', ') }}"

6. 날짜 포맷팅

"readableDate": "{{ new Date($json.timestamp).toLocaleDateString() }}"

7. 데이터 마스킹 (보안)

"securePhone": "{{ $json.phone.slice(0,3) }}****{{ $json.phone.slice(7) }}"

8. 다국어 처리 준비

"i18n": {
  "en": "Hello {{ $json.name }}!",
  "ko": "안녕하세요 {{ $json.name }}님!"
}

9. 웹훅 데이터 정규화

"normalized": {
  "eventType": "{{ $json.event_type.toLowerCase() }}",
  "receivedAt": "{{ new Date().toISOString() }}"
}

10. 에러 핸들링용 플래그 추가

"isValid": "{{ $json.email.includes('@') && $json.password.length > 8 }}"

💡 고급 사용 팁

  1. 표현식 빌더 활용: 코드 작성을 도와주는 GUI 도구
  2. JavaScript 함수 사용: split(), join(), Math 함수 등 적용 가능
  3. 다중 작업 구성: 한 Set 노드에서 여러 작업 순차 실행
  4. 디버깅: 오른쪽 패널에서 단계별 결과 확인

⚠️ 주의사항

  1. 너무 복잡한 로직은 Function 노드로 분리
  2. 대량 데이터 처리시 성능 저하 가능성
  3. 표현식 오류시 null 반환되므로 기본값 설정 추천

🏁 마무리

Set 노드는 n8n에서 가장 강력하면서도 자주 사용되는 노드 중 하나입니다. 이 가이드의 예제들을 참고하면 복잡한 데이터 변환도 쉽게 처리할 수 있을 거예요! 🎉

> 💬 실제 프로젝트에서 Set 노드를 어떻게 활용하시나요? 댓글로 여러분의 창의적인 사용법을 공유해주세요!

📌 더 배우고 싶다면?

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다