[n8n 튜토리얼] 챗봇의 시작, 'When chat message received' 노드 A to Z

n8n은 단순히 정해진 시간에 작업을 반복하는 것을 넘어, 사용자와 실시간으로 상호작용하는 챗봇까지 직접 구축할 수 있는 강력한 기능을 제공한다. 그 시작점이 바로 'When chat message received' 트리거 노드이다. 이 노드는 별도의 서버나 복잡한 설정 없이, 고유한 URL을 가진 웹 채팅창을 즉시 생성하고 사용자의 입력을 워크플로우의 시작 신호로 사용하게 해준다.
1. 'When chat message received' 노드 상세 설정 분석
워크플로우에 'When chat message received' 노드를 추가하면, 아래 이미지와 같은 설정 패널이 나타난다. 각 항목의 기능은 다음과 같다.

- Parameters (파라미터)
- Chat URL: n8n이 자동으로 생성하는 이 챗봇의 고유 주소이다. 워크플로우가 활성화되면, 이 URL에 접속하는 누구나 챗봇과 대화를 시작할 수 있다.
- Make Chat Publicly Available: 이 스위치를 켜야만 Chat URL이 활성화되어 외부에서 접속할 수 있다. 개발 중이거나 일시적으로 챗봇을 비활성화하고 싶을 때 끌 수 있다.
- Mode: 현재는 n8n이 제공하는 기본 채팅 인터페이스를 사용하는 'Hosted Chat' 모드만 지원된다.
- Authentication: 챗봇에 대한 접근 제어 방식을 설정한다. 'None'으로 설정하면 누구나 URL만으로 접속 가능하며, 다른 옵션을 통해 특정 헤더 키를 가진 요청만 허용하는 등의 보안 설정이 가능하다.
- Initial Message(s): 사용자가 채팅창에 처음 접속했을 때 챗봇이 먼저 건네는 시작 메시지이다. 이미지에서는 "Hi there! 👋 My name is Nathan. How can I assist you today?"로 설정되어 있다.
- Options: 사용자에게 객관식 답변(버튼)을 제시하고 싶을 때 사용한다. 'Add Field'를 눌러 버튼의 텍스트와 값을 설정할 수 있다.
2. 챗봇 실행 및 데이터 수신 확인
노드 설정이 완료되고 워크플로우가 활성화(Active) 상태가 되면, Chat URL을 통해 실제 챗봇이 어떻게 동작하는지 확인할 수 있다.
2.1. 채팅창 접속 및 메시지 전송
노드에 명시된 Chat URL(http://n8n.voyanote.com/webhook/.../chat
)을 웹 브라우저에서 열면, 아래와 같이 설정된 초기 메시지와 함께 채팅창이 나타난다. 사용자가 입력 필드에 "안녕"과 같은 메시지를 입력하고 전송하면, 이 데이터는 즉시 n8n 워크플로우로 전달된다.

워크플로우를 테스트할 때는 'Test workflow' 버튼을 누른 상태에서 메시지를 보내야 즉시 실행 결과를 확인할 수 있다. 워크플로우를 활성화(Activate)하면, 모든 채팅 메시지가 'Executions' 탭에 기록으로 남는다.
2.2. 워크플로우 실행 내역 및 결과 데이터
사용자가 메시지를 보내는 순간, n8n의 'Executions' 탭에는 새로운 실행 내역이 기록된다. 이 실행 내역을 클릭하면 트리거 노드가 어떤 데이터를 받았는지 상세히 볼 수 있다.

결과(OUTPUT) 데이터를 보면, 사용자의 입력이 어떤 형식의 JSON 데이터로 수신되었는지 명확히 알 수 있다.
[
{
"action": "sendMessage",
"sessionId": "df6b4014-8a3e-4e8e-8d8b-bd5efe16d1ff",
"chatInput": "안녕"
}
]
- action: 사용자가 수행한 행동의 종류. 메시지를 보냈으므로 'sendMessage'이다.
- sessionId: 각 대화방을 구분하는 고유한 ID. 이를 통해 여러 사용자의 대화가 섞이지 않도록 관리할 수 있다.
- chatInput: 사용자가 실제로 입력한 메시지 내용. "안녕"이라는 텍스트가 담겨 있다.
이제 개발자는 이 chatInput
데이터를 후속 노드(예: OpenAI, Notion, Google Sheets 등)로 전달하여 질문에 답변하거나, 내용을 기록하는 등의 자동화 로직을 구현할 수 있다.
결론
'When chat message received' 노드는 n8n을 단순한 백엔드 자동화 툴에서 사용자와 상호작용하는 서비스로 확장시키는 관문이다. 이 노드의 설정 방법을 이해하고 수신되는 데이터 구조를 파악하는 것만으로도, 아이디어에 따라 무한한 가능성을 가진 나만의 챗봇 서비스를 구축할 수 있는 기반을 마련하게 된다.