n8n 자동화의 완성: AI 응답을 개별 포스트로 분리하는 JavaScript 코드 가이드|가나투데이

n8n 자동화의 완성: AI 응답을 개별 포스트로 분리하는 JavaScript 코드 가이드|가나투데이

AI가 생성한 7~10개의 스레드 뭉치를 하나씩 나누어 전송하는 것은 자동화의 마지막 퍼즐입니다. AI Node 다음에 위치할 Code Node에 적용할 최적화된 스크립트와 활용법을 공개합니다.


1. 왜 JavaScript를 통한 텍스트 분할이 필요한가?

AI는 보통 하나의 긴 응답 메시지에 모든 스레드 내용을 담아 출력합니다. 하지만 X(트위터)나 스레드 API는 한 번에 하나의 포스트만 게시할 수 있습니다.

  • 개별 제어 가능: 각 포스트를 배열(Array) 형태로 분리해야만 순차적으로 API 전송이 가능합니다.

  • 데이터 정제: 불필요한 공백이나 구분자([Post 1])를 제거하여 깔끔한 본문만 추출할 수 있습니다.

  • 워크플로우 유연성: 분할된 데이터를 바탕으로 포스팅 간격(Wait Node)을 조절하는 등 정교한 자동화가 가능해집니다.


2. [How-to] Code Node용 JavaScript 스크립트

n8n의 Code Node를 추가하고, 언어를 JavaScript로 설정한 뒤 아래 코드를 복사하여 붙여넣으세요. 이 코드는 앞서 설정한 시스템 프롬프트의 [Post n] 형식을 기준으로 작동합니다.

코드 구성 및 로직

JavaScript
// 1. 이전 노드(AI Node)에서 생성된 전체 텍스트를 가져옵니다.
const fullText = items[0].json.output; // 'output'은 AI 노드의 출력 필드명에 맞게 수정하세요.

// 2. [Post 1], [Post 2] 등의 구분자를 기준으로 텍스트를 분할합니다.
// 정규표현식을 사용하여 숫자와 상관없이 [Post n] 패턴을 찾아 자릅니다.
const posts = fullText.split(/\[Post \d+\]/i);

// 3. 분할된 배열에서 첫 번째 빈 요소(구분자 앞부분)를 제거하고 정제합니다.
const cleanPosts = posts
  .map(post => post.trim())
  .filter(post => post.length > 0);

// 4. n8n이 인식할 수 있는 개별 아이템 형식으로 반환합니다.
return cleanPosts.map((content, index) => {
  return {
    json: {
      postIndex: index + 1,
      content: content
    }
  };
});

노드 설정 팁

  • 입력 매핑: items[0].json.output 부분에서 output은 실제 AI Node가 내뱉는 결과 값의 키 이름으로 변경해야 합니다.

  • 반환 값: 이 코드를 거치면 n8n은 1개의 아이템이 아닌, 7~10개의 독립된 아이템으로 데이터를 인식하게 됩니다.


3. 워크플로우 연결 및 SEO 전략 적용

분리된 포스트를 실제 SNS에 게시할 때 고려해야 할 트래픽 최적화 전략입니다.

  • Split In Batches 활용: 분리된 10개의 포스트를 한꺼번에 전송하지 말고, Split In Batches 노드와 Wait 노드를 조합하여 1~2분 간격으로 게시하세요. 이는 플랫폼 알고리즘이 스팸으로 인식하는 것을 방지합니다.

  • CTA 및 링크 유지: 마지막 아이템(postIndex가 마지막인 경우)에는 반드시 블로그 원문 링크가 포함되도록 설계하여 트래픽을 블로그로 유도해야 합니다.

  • 가독성 점검: 코드 단계에서 불필요한 마크다운 기호가 남지 않았는지 확인하십시오. (이미 시스템 프롬프트에서 ** 제거 설정을 했으므로 텍스트는 깨끗하게 출력될 것입니다.)


결론: 자동화된 콘텐츠 공장 가동하기

이제 시스템 프롬프트로 바이럴한 글을 쓰고, JavaScript 코드로 데이터를 정제하며, API 노드로 실시간 배포하는 완벽한 자동화 라인이 구축되었습니다. 이 시스템은 귀하가 잠든 사이에도 블로그의 트래픽을 SNS에서 끌어오는 강력한 마케팅 엔진이 될 것입니다.

#가나 투데이 #ganatoday

그린아프로