10. n8n Set 노드 사용법: 필요한 데이터만 골라 정리하는 방법

Gmail 노드 Output을 처음 열었을 때 낯선 필드가 20개 넘게 나왔어요. 어떤 게 이메일 제목인지, 어떤 게 본문인지 찾는 것부터 시간이 걸렸어요.

그 많은 데이터를 그대로 Google Sheets에 연결하려니 어떤 필드를 어느 열에 넣어야 할지 감이 안 왔어요. Set 노드로 먼저 필요한 값만 정리하고 나니 연결이 훨씬 쉬워졌어요. 그때부터 Set 노드가 자동화에서 얼마나 중요한 자리인지 실감했어요.

이번 글에서는 Set 노드가 무엇인지, 어떤 상황에서 쓰는지, 실제로 어떻게 설정하는지를 정리해볼게요. 이메일 문의 데이터를 구글시트에 저장하기 전에 정리하는 흐름을 예시로 살펴볼게요.

n8n에서 Set 노드는 Edit Fields(Set)라는 이름으로 표시될 수 있어요. 메뉴 이름과 화면 구성은 업데이트에 따라 달라질 수 있으니, 공식 문서를 함께 확인해주세요.



Set 노드가 하는 일

Set 노드는 자동화 흐름 중간에서 데이터를 정리하는 작업대예요. 크게 두 가지 일을 해요.

  • 이전 노드 값 가져오기 — 앞 노드 Output에서 필요한 값을 골라 새 필드 이름으로 정리해요
  • 새 값 직접 만들기 — 이전 노드에 없는 값을 직접 입력해서 만들어요 (예: status = "대기")
Set 노드는 "앞 노드에서 넘어온 복잡한 데이터를 다음 노드가 쓰기 좋게 다듬는 중간 단계"예요.

데이터를 정리하지 않고 바로 Google Sheets에 연결하려면 어떤 필드를 어느 열에 넣는지 하나하나 찾아야 해요. Set 노드로 먼저 이름을 정리해두면 이 작업이 훨씬 단순해져요.

Set 노드가 필요한 대표적인 상황 3가지

1. 앞 노드 데이터가 너무 많을 때

Gmail, RSS, Webhook, API 노드처럼 외부에서 데이터를 가져오는 노드는 Output에 많은 값이 담겨요. 실제로 필요한 값은 그 중 일부인 경우가 많아요. Set 노드로 필요한 값만 골라 다음 단계로 넘기면 이후 설정이 단순해져요.

2. 구글시트에 저장하기 전 필드 이름을 맞출 때

Google Sheets 노드에 저장하려면 시트의 열 이름과 n8n 필드를 연결해야 해요. Set 노드에서 미리 필드 이름을 "고객이메일", "문의제목"처럼 정리해두면 연결이 명확해져요. Set 노드 없이 Gmail 데이터를 바로 연결하려다 한참 헤맸던 경험이 있어요.

3. 이전 노드에 없는 값을 추가해야 할 때

Gmail에는 "처리 상태"라는 필드가 없어요. 하지만 구글시트에는 그 열이 필요할 수 있어요. Set 노드에서 status = "대기"처럼 새 필드를 만들면 돼요. 이걸 알고 나서 자동화 설계가 훨씬 자유로워졌어요.

Set 노드 설정 화면, 실제로 어떻게 쓰나?

Set 노드를 추가하고 클릭하면 설정 패널이 열려요. 여기서 필드를 추가하고 값을 연결해요.

1
이전 노드 Output 먼저 확인 Set 노드를 설정하기 전에 앞 노드를 실행하고 Output 탭에서 어떤 필드 이름으로 데이터가 넘어오는지 확인해요. 이 단계를 건너뛰면 잘못된 값을 연결하기 쉬워요.
2
"Add field" 버튼으로 필드 추가 설정 패널 아래에 "Add field" 버튼이 있어요. 처음에 스크롤을 안 해서 못 봤는데, 이 버튼을 눌러야 필드 입력창이 생겨요.
3
필드 이름 입력 내가 원하는 필드 이름을 입력해요. "customer_email", "email_subject"처럼 나중에 봤을 때 의미가 바로 보이는 이름이 좋아요.
4
값 설정 — 직접 입력 또는 이전 노드 값 연결 직접 값을 입력하거나(예: "대기"), 이전 노드의 Output 필드를 선택해서 연결할 수 있어요. Expression 모드로 전환하면 이전 노드 값을 참조할 수 있어요.
5
Set 노드 실행 후 Output 확인 설정이 끝나면 실행하고 Output 탭에서 입력한 필드와 값이 제대로 나오는지 확인해요. 여기서 확인 후 다음 노드로 이어가야 해요.

실무 예시 — 이메일 문의 데이터를 구글시트 저장 전에 정리하기

상황: Gmail에서 새 문의 이메일을 가져온 뒤, Set 노드로 필요한 값만 정리하고 Google Sheets에 저장한다

Gmail 노드 Output에는 많은 필드가 있지만, 실제로 저장할 값은 이 정도면 충분해요.

[Set 노드 설정 예시]

customer_email  ← Gmail의 from 값 참조
email_subject   ← Gmail의 subject 값 참조
email_body      ← Gmail의 text 값 참조
received_at     ← Gmail의 date 값 참조
status          ← 직접 입력: "대기"
source          ← 직접 입력: "이메일"

이렇게 정리하면 Google Sheets 노드에서 각 열에 연결할 값이 명확해져요.

구글시트 열Set 노드 필드
고객 이메일customer_email
문의 제목email_subject
문의 내용email_body
접수 시간received_at
처리 상태status
유입 경로source

Set 노드 없이 Gmail 데이터를 바로 Google Sheets에 연결하면 이 매칭 작업이 훨씬 복잡해져요. Gmail Output 필드 이름이 직관적이지 않은 경우가 많거든요.

필드 이름, 어떻게 정하면 좋을까?

'data1', 'value', 'text'처럼 대충 지었다가, 나중에 어떤 값이 어느 필드인지 헷갈려서 워크플로우를 처음부터 다시 이해해야 했어요. 그 뒤로는 필드 이름을 정할 때 기준이 생겼어요.

❌ 이런 이름은 피하세요
  • data1, value, text
  • a, b, c
  • temp, test
  • date (날짜인지, 수신일인지 모호)
✅ 이런 이름을 쓰세요
  • customer_email
  • email_subject
  • received_at
  • inquiry_status

필드 이름은 자동화의 설명서 역할도 해요. 나중에 워크플로우를 다시 열었을 때 이름만 보고도 "이게 뭔 데이터구나"를 알 수 있어야 해요. 특히 워크플로우가 3개 이상 되면 이름 관리가 정말 중요해져요.

Set 노드로 할 수 있는 것들

Set 노드는 단순히 값을 정리하는 것 외에도 여러 방식으로 활용할 수 있어요.

  • 필요한 값만 남기기 — 앞 노드 Output에서 실제로 쓸 값만 골라 정리
  • 새 필드 만들기 — status = "대기", source = "이메일"처럼 이전 노드에 없는 값 추가
  • 필드 이름 바꾸기 — "from"을 "customer_email"로 알아보기 쉽게 변경
  • 기본값 설정 — 빈 값이 있을 때 "미배정", "확인 필요"처럼 기본 문구 넣기
  • 알림용 메시지 만들기 — "새 문의: [제목], 보낸 사람: [이메일]"처럼 텍스트 조합
  • 테스트 데이터 만들기 — 외부 서비스 없이 샘플 데이터를 직접 입력해서 흐름 연습

Set 노드에서 초보자가 자주 막히는 부분

1. "Add field" 버튼을 못 찾는다

설정 패널 아래쪽으로 스크롤하면 "Add field" 버튼이 있어요. 이 버튼을 눌러야 필드 입력창이 생겨요. 위쪽만 보다가 못 찾는 경우가 많아요.

2. 이전 노드를 실행하지 않고 Set 노드부터 설정한다

이전 노드 Output을 먼저 확인해야 어떤 필드 이름으로 데이터가 넘어오는지 알 수 있어요. Output 확인 없이 필드 이름을 추측으로 입력하면 빈 값이 저장되는 일이 자주 생겨요.

3. Set 노드 실행 후 Output 확인을 건너뛴다

Set 노드를 설정하고 바로 Google Sheets 노드로 넘어가면, Set 노드 Output에 실제로 값이 제대로 담겼는지 확인할 기회가 없어요. 반드시 Set 노드를 실행하고 Output 탭을 눌러서 확인해야 해요.

4. 새 값 만들기와 이전 값 참조를 혼동한다

status = "대기"는 새 값을 직접 입력하는 거예요. email_subject = Gmail의 subject는 이전 노드 값을 참조하는 거예요. 둘의 차이를 이해하면 Set 노드 설정이 훨씬 명확해져요.

Set 노드에서 주의해야 할 보안 포인트

Set 노드에 이메일 주소, 이름, 문의 내용, API 키 같은 값이 들어갈 수 있어요. 실습 중 화면을 캡처하거나 워크플로우를 공유할 때 민감한 정보가 노출되지 않도록 주의해야 해요.
  • 실습용 데이터에는 실제 고객 이름·이메일을 쓰지 않기
  • API 키·토큰을 Set 노드에 직접 입력하지 않기 (Credentials로 관리)
  • 화면 캡처 시 개인정보가 보이는 필드 가리기
  • 워크플로우 공유 전 Set 노드 값에 민감한 정보가 없는지 확인하기

마무리: 데이터를 먼저 정리하면 자동화가 쉬워진다

Set 노드를 한 문장으로 정리하면 이렇게 돼요.

앞에서 넘어온 복잡한 데이터를 다음 노드가 쓰기 좋게 정리하는 중간 작업대.

Set 노드에서 할 수 있는 것들을 다시 정리할게요.

  • 앞 노드 Output에서 필요한 값만 골라 정리하기
  • 이전 노드에 없는 새 필드 직접 만들기 (status, source 등)
  • 알아보기 쉬운 필드 이름으로 바꾸기
  • Google Sheets 저장 전 열 이름에 맞게 데이터 구조 맞추기
  • 외부 계정 없이 샘플 데이터로 흐름 연습하기

n8n에서 화려한 자동화를 만들기 전에 데이터 정리가 먼저예요. 데이터가 깔끔할수록 이후 조건 분기, 구글시트 저장, 알림 자동화 설정이 훨씬 수월해져요.

다음 글에서는 IF 노드 사용법을 살펴볼게요. IF 노드를 활용하면 조건에 따라 업무 흐름을 나눌 수 있어요. 예를 들어 문의 제목에 "긴급"이 포함되면 담당자에게 즉시 알림을 보내고, 일반 문의는 구글시트에만 저장하는 식의 자동화가 가능해져요.


※ 이 글은 n8n 비개발자 자동화 시리즈 10화입니다. n8n의 노드 이름과 화면 구성은 버전에 따라 달라질 수 있으며, 실제 사용 전에 공식 문서를 함께 확인해주세요.

참고자료

  • n8n Docs, Edit Fields (Set) node
  • n8n Docs, Setting values for processing orders
  • n8n Docs, Approaches for transforming data
  • n8n Docs, Understanding the data structure
  • n8n Docs, Expressions
  • n8n Docs, Expression reference
  • n8n Docs, Referencing previous nodes
  • n8n Docs, Gmail Trigger node
  • n8n Docs, Gmail node
  • n8n Docs, Google Sheets node
  • n8n Docs, Google Sheets Sheet Within Document operations
  • n8n Docs, Google Sheets node common issues
  • n8n Docs, Credentials library
  • n8n Docs, Execution data redaction