← 모든 글

n8n 에서 Code node 를 줄이는 법

n8n 워크플로우의 Code node 가 절반을 넘는 순간, 그게 코드 저장소냐 워크플로우냐.

n8n 의 매력은 시각화된 워크플로우다. 그런데 어느 순간 보니 노드 30개 중 18개가 Code node 였다. JavaScript 가 워크플로우의 절반을 차지하면, 그건 코드를 운영하는 거지 워크플로우를 운영하는 게 아니다.

무엇이 Code node 가 됐나

  • 응답 JSON 정규화 (필드 rename, 누락 default)
  • 날짜 포맷 변환
  • 한 줄 짜리 조건 분기 (Switch 노드 쓰기 귀찮아서)
  • 외부 API 호출 (HTTP Request 노드보다 편해서)

줄이는 세 가지

  1. JSON 정규화는 Set node: Set node 의 expression mode 로 ={{ $json.title || $json.subject }} 한 줄. Code node 다섯 줄 → Set 한 칸.
  2. 분기 두 갈래는 IF node: 같은 워크플로우 안에 IF/Switch 가 어색해 보이지만, 한 번 익숙해지면 Code node 의 if/else 보다 훨씬 명확.
  3. 외부 API 호출은 HTTP Request node: 인증, retry, timeout 이 UI 에 노출된다. 코드로 짜면 그것들이 다 코드 안에 묻힌다.

효과

워크플로우 한 개에서 Code node 18개 → 4개. 노드 개수는 약간 늘었지만 (Set + IF 가 더 많아짐), 남에게 보여줄 때 5분 안에 흐름이 설명된다. 이게 Code node 위주 워크플로우와 가장 큰 차이.

다음에는 다르게 할 한 가지

워크플로우에서 Code node 비중이 30% 를 넘기면 표준 노드로 안 풀리는 이유 를 한 번 검토한다. 거의 모든 경우 “내가 Set/IF 노드 학습을 미뤘기 때문” 이었다.


🛒 이 글과 어울리는 추천 상품

위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.