본문 바로가기
won2dev-log
HomeArchiveTagsCategoriesAboutProjects
HomeArchiveTagsCategoriesAboutProjects
won2dev-logwon2dev-logwon2dev-log

비전공 개발자의 로그 | won2dev-log

Navigation
  • Home
  • Archive
  • About
  • Projects
Categories
  • Docs
  • TIL
  • Automation
  • Git · GitHub
  • Project
Tags
  • TIL
  • Java
  • Spring
  • Backend
  • n8n
더보기
About

기록을 거름 삼아 공유는 성장을 만든다.

LicensePrivacy
© won2dev 2026. All rights reserved.
Home›Automation›TIL – n8n AI 노드 JSON 전달 문제 해결
Automation

TIL – n8n AI 노드 JSON 전달 문제 해결

won2dev·2025년 11월 04일
#n8n#JavaScript#TIL
TIL – n8n AI 노드 JSON 전달 문제 해결

📌 기능

  • 오늘 일정 확인 및 자동 요약 생성: Google Calendar에서 오늘 일정을 조회하여 하루 일정 요약을 자동으로 생성
  • 정시 메일 발송: 생성된 일정 요약을 오전 9시에 지정된 이메일로 자동 발송
  • AI 노드 자동 필드 설정: 사용자가 입력한 요청 프롬프트를 분석하여 to, subject, body 등 Send Email 노드에 필요한 JSON 필드를 자동으로 채움
  • 자동 JSON 파싱 및 전달: AI가 JSON 구조를 판단하여 문자열이 아닌 object 타입으로 변환 후 노드 간 전달

📌 문제 상황

  • AI 노드에서 생성한 JSON을 Send Email 노드로 전달 시

    Cannot read properties of undefined (reading 'split') 오류 발생

  • 원인은 AI 노드에서 출력된 JSON이 문자열 형태로 래핑되어 있었고, Send Email 노드가 object 타입을 기대했기 때문

🔍 시도 과정

  • 처음에는 Send Email 노드 설정 문제로 의심
  • AI 노드 출력값 확인 → 문자열(JSON string) 형태로 래핑됨
    이미지
  • 문자열을 그대로 전달하니 Send Email 노드에서 split 관련 오류 발생
  • 직접 JSON object로 변환해 테스트 시 정상 작동 확인

✅ 해결 방법

  1. code 노드 추가
    • AI 노드 출력값 문자열을 JSON.parse()로 파싱
    • 필요한 필드(to, subject, body)만 object로 재구성
  2. Send Email 노드 연결
    • Function 노드에서 반환된 object를 올바른 입력값으로 지정
    • 메일 발송 정상화

code 노드 자바스크립트 예시

javascript
return [{
  json: {
    to: JSON.parse($json["output"]).email.to,
    subject: JSON.parse($json["output"]).email.subject,
    body: JSON.parse($json["output"]).email.body
  }
}];
return [{
  json: {
    to: JSON.parse($json["output"]).email.to,
    subject: JSON.parse($json["output"]).email.subject,
    body: JSON.parse($json["output"]).email.body
  }
}];

🤖 신기한 AI 필드

이미지
  • AI 노드의 “Defined automatically by the model” 기능 덕분에, 사용자가 입력한 요청에 따라 필요한 JSON 필드(to, subject, body, schedule)를 자동으로 생성하고 채워줌
  • 예시:
    • 스케줄러 필드에서 {{ $fromAI('Before', ``, 'string') }} → AI가 능동적으로 "2025-11-04T23:59:59" 같은 실제 시간 값으로 자동 변환
    • 요청: “오늘 일정 요약” → AI가 JSON 구조를 분석해 Send Email 노드에 맞는 필드와 스케줄 필드까지 자동 세팅
    • 요청: “이번 주 일정 요약” → AI가 JSON 구조를 능동적으로 변경하여 필요한 필드를 자동 조정
  • 덕분에 반복적이고 세세한 필드 세팅 없이도 워크플로우가 원활하게 동작

💡 느낀 점 및 배운 점

  • AI 노드 덕분에 워크플로우 설계가 훨씬 직관적으로 변했다.
  • 기존에는 코드 노드와 Slack 등 단순한 코드 기반 자동화만 경험했지만, AI 에이전트 노드를 사용하니 n8n를 100% 활용하는 느낌을 받을 수 있었음
  • 반복적이고 세세한 JSON 필드 설정도 AI가 자동으로 채워주며, 요청에 따라 능동적으로 조절되는 기능이 매우 유용했다. 앞으로 다양한 자동화에 활용하면 좋을거같다.

🏷️ 필수 키워드

TIL

n8n

Google Calendar

AI Node

JSON

Function Node

공유하기
이전 글 TIL – n8n Notion + Slack 데이터 자동화다음 글 TIL - Google Sheet × n8n 데이터 합산 문제 해결

목차

  • 📌 기능
  • 📌 문제 상황
  • 🔍 시도 과정
  • ✅ 해결 방법
  • 🤖 신기한 AI 필드
  • 💡 느낀 점 및 배운 점
  • 🏷️ 필수 키워드

카테고리

Automation

태그

#n8n#JavaScript#TIL

최근 글

Git 요약 (1) - Rebase, Stash, Squash MergeTIL - MSA 핵심 요소 정리TIL - (4) Spring 어노테이션 정리: Mockito를 활용한 단위 테스트TIL - (3) Spring 어노테이션 정리: Lombok Getter, Setter와 생성자TIL - (2) Spring MVC와 WebFlux의 차이: 블로킹과 논블로킹