tracks
n8n은 에이전틱 AI 분야에서 인기 있고 강력한 프레임워크로 자리 잡았습니다. 복잡한 코딩 없이 자동화된 워크플로우를 구축할 수 있도록 해 줍니다.
이 글에서는 이 강력한 플랫폼을 최대한 활용해 두 가지 프로세스를 자동화하는 방법을 단계별로 설명합니다.
- 먼저, Gmail의 이메일을 자동으로 처리하는 AI 에이전트를 설정하는 과정을 안내합니다. 이를 통해 시간을 절약하고 수작업을 줄일 수 있습니다.
- 다음으로, 어떤 문서든 대화하듯 질의응답할 수 있는 지능형 에이전트를 만들어 필요한 정보를 신속하게 찾을 수 있도록 합니다.
우리는 독자분들께 매주 금요일 무료 뉴스레터 The Median을 보내 최신 AI 소식을 정리해 드립니다. 구독하고 매주 몇 분만 투자해 흐름을 놓치지 마세요.
n8n이란?
n8n은 다양한 앱과 서비스를 연결해 워크플로우를 만드는 오픈 소스 자동화 도구로, 일종의 디지털 조립 라인처럼 작동합니다. 각 단계에 해당하는 노드로 워크플로우를 시각적으로 설계할 수 있습니다.
n8n을 사용하면 광범위한 프로그래밍 지식 없이도 작업을 자동화하고, 데이터 흐름을 관리하며, API까지 통합할 수 있습니다. 이 튜토리얼에서 만들어볼 자동화 예시는 다음과 같습니다.

세부 사항은 차치하고, 이 자동화가 하는 일을 간단히 설명하면 다음과 같습니다.
- Gmail 계정에 접속해 새로운 이메일을 확인합니다.
- 새 이메일을 ChatGPT로 보내 AI 처리를 수행합니다.
- AI가 관련 정보를 식별하고, 이를 스프레드시트에 저장합니다.
n8n 사용 방법
n8n을 사용하는 방법은 두 가지입니다.
- 웹 인터페이스를 여기서 사용합니다. 계정과 유료 구독이 필요하지만, 이 튜토리얼을 따라 해볼 수 있도록 14일 무료 체험을 제공합니다.
- 오픈 소스이므로 로컬에서 실행하거나 자체 호스팅할 수도 있습니다. 무료이며 대부분의 기능을 사용할 수 있습니다(일부 기능은 유료 클라우드 또는 엔터프라이즈 요금제 전용).
두 옵션 모두 비용 없이 이 튜토리얼을 진행할 수 있습니다. 여기서는 로컬 실행을 사용하지만, 웹 인터페이스를 선호하셔도 단계는 동일합니다.
n8n 2.0의 새로운 기능
참고: n8n 2.0은 2025년 말에 출시되어 초안/게시 워크플로 시스템, 자동 저장(2026년 1월), 캔버스 컨텍스트를 잃지 않고 노드를 편집할 수 있는 업데이트된 포커스 패널, 그리고 보안을 강화하기 위해 워크플로 실행을 격리하는 태스크 러너를 도입했습니다.
아래 워크플로우는 2.x에서 동작합니다. 1.x를 사용 중이라면, 따라 하기 전에 업그레이드를 고려하세요.
n8n 로컬 설정
n8n 공식 저장소에는 로컬에서 n8n을 설정하는 방법이 안내되어 있습니다. 가장 간단한 방법은 다음과 같습니다.
-
Node.js를 공식 웹사이트에서 다운로드해 설치합니다.
-
터미널을 열고
npx n8n명령을 실행합니다.
이게 전부입니다! 명령을 실행하면 터미널에 다음과 같은 화면이 표시됩니다.

인터페이스를 열려면 키보드에서 "o"를 누르거나 터미널에 표시된 localhost URL을 여세요. 제 경우는 http://localhost:5678입니다.
n8n 이해하기
첫 자동화를 만들기 전에, n8n의 작동 방식을 이해하는 것이 좋습니다. n8n 워크플로우는 일련의 노드로 구성됩니다. 워크플로우 실행 조건을 지정하는 트리거 노드로 시작합니다.

노드는 데이터를 이동하고 처리하기 위해 연결됩니다. 이 예에서는 Gmail 트리거 노드가 OpenAI 노드와 연결됩니다. 즉, 이메일을 ChatGPT에 전달해 처리합니다. 마지막으로 ChatGPT 출력이 Google Sheet 노드로 전달되어 Google Drive의 Google 스프레드시트에 새 행을 작성합니다.
이 워크플로우는 ChatGPT를 사용해 결제해야 할 청구서를 식별하고, 청구서 ID와 금액을 시트의 한 줄에 기록합니다.

n8n 워크플로우는 훨씬 더 복잡해질 수 있습니다. n8n은 400개가 넘는 공식 통합(코어 노드)과 600개 이상의 커뮤니티 노드, 그리고 HTTP Request 노드를 통한 커스텀 연결을 지원하므로, 튜토리얼에서 모두 다룰 수는 없습니다.
대신 작동 원리에 대한 전반적인 감을 잡고, 스스로 탐색할 수 있는 배경 지식을 제공하는 데 집중하겠습니다. 평소 자주 쓰는 도구가 있다면, n8n이 이미 지원하거나 수동으로 통합할 수 있을 가능성이 큽니다.
예제 1: 이메일에서 청구서 처리 자동화
이 섹션에서는 위의 워크플로우를 만드는 방법을 배웁니다.
이는 제가 실제로 임대 청구서 관리를 위해 사용하는 사례입니다. 여러 방을 임대하는 집이 있고, 공과금은 세입자 간에 균등하게 나눕니다. 청구서를 받을 때마다 세입자와 공유하는 스프레드시트에 총액을 추가해야 합니다.
집 관련 청구서가 전달되는 전용 이메일 주소를 사용합니다. 이렇게 하면 해당 메일함의 모든 이메일이 청구서에 해당함을 확신할 수 있습니다. 이메일 내용을 ChatGPT에 보내 청구서 ID와 총액을 식별하게 하고, 이 정보를 공유 스프레드시트에 새 행으로 추가합니다.
이메일 트리거 구성
새 워크플로우를 시작하려면 "Add first step..." 버튼을 클릭합니다.

첫 번째 노드는 반드시 트리거여야 하므로, 트리거 노드를 선택하는 패널이 표시됩니다. 트리거 노드는 워크플로우 실행 조건을 정의합니다.

사용할 수 있는 트리거 노드는 매우 다양합니다. 검색창에 "gmail"을 입력하고 Gmail 노드를 선택해 보겠습니다.

그런 다음 Gmail에서 제공하는 유일한 트리거인 "On message received"를 선택합니다.

그러면 노드 구성 패널이 열리며, n8n 워크플로우가 Gmail 계정에 접근할 수 있도록 Gmail 자격 증명을 설정해야 합니다. 이를 위해 "New credential"을 클릭합니다. 다음 창이 열립니다.

오른쪽(1)에 Google Cloud에서 자격 증명을 구성하는 단계가 안내되어 있습니다. n8n에서 제공하는 가이드는 매우 자세하므로 여기서 반복하지 않겠습니다. Google Cloud Console에서 Gmail API도 활성화하세요.
구성이 끝나면 Google Cloud에서 클라이언트 ID(2)와 클라이언트 비밀(3)을 n8n의 자격 증명 설정에 복사합니다.
모든 설정이 올바른지 확인하려면 "Fetch Test Event"를 클릭해 노드를 테스트할 수 있습니다.

테스트 후에는 받은편지함의 가장 최근 이메일이 출력 섹션에 표시됩니다. 이메일 내용은 snippet 필드입니다.

snippet 필드에 이메일 본문이 저장됩니다. 4월 인터넷 청구서가 확인 가능하다는 내용이며, 청구서 ID와 총 납부 금액이 제공됩니다. 이 정보를 스프레드시트에 추가할 것입니다.
테스트를 위해 오른쪽 상단의 핀 버튼을 클릭해 출력을 고정하는 것을 권장합니다.

이렇게 하면 결과가 해당 트리거에 고정되어, 워크플로우를 실행할 때마다 동일한 출력이 사용됩니다. 새로운 이메일 수신에 따라 결과가 달라지지 않아 테스트가 쉬워집니다. 워크플로우 구성이 완료되면 고정을 해제하겠습니다.
이 단계에서 워크플로우에는 트리거 노드 하나만 있어야 합니다(왼쪽의 작은 번개 모양 표식으로 트리거 노드임을 알 수 있습니다).

참고로, 메일함에 청구서 이메일이 없을 가능성이 높기 때문에 이후 ChatGPT가 엉뚱한 답을 할 수 있습니다. 이 워크플로우를 그대로 테스트하고 싶다면 아래 내용(또는 유사한 내용)으로 본인에게 테스트 이메일을 보내세요.
Dear customer,
Your internet invoice number FT 2025**/****** for April is now available in the attachment.
Amount
€**.**
This invoice must be paid by 19/05/2025.
보낸 후에는 결과 고정을 해제하고, Gmail 노드를 다시 실행한 다음 새 결과를 고정해야 합니다.
ChatGPT 노드 구성
다음 단계는 OpenAI 노드를 구성하는 것입니다. Gmail 트리거 노드 오른쪽의 "+" 버튼을 클릭하는 것으로 시작합니다.

"OpenAI"를 입력하고 목록에서 해당 옵션을 선택합니다.

그런 다음 "Text Actions"에서 "Message a model" 노드를 선택합니다. 이 노드는 LLM에 메시지를 보내는 데 사용됩니다.

앞서와 마찬가지로 OpenAI에 접근할 자격 증명을 만들어야 합니다. 한 번 만들어두면 어떤 워크플로우에서도 재사용할 수 있어 매번 설정할 필요는 없습니다.
OpenAI 자격 증명에는 API 키만 있으면 됩니다. 아직 없다면 여기에서 생성할 수 있습니다. 어려움이 있으면 n8n의 가이드를 참고하세요.
구성 측면에서는 사용할 AI 모델과 모델에 보낼 메시지를 선택해야 합니다.
모델은 GPT-4.1을 사용하겠습니다. OpenAI는 이후 GPT-5 패밀리(5.4, 5.4-mini, 5.5)를 출시하고 ChatGPT에서 4.1을 제외했지만, API에서는 여전히 사용할 수 있으며 이런 간단한 추출 작업에는 충분합니다.

메시지 필드에는 프롬프트를 작성해야 합니다. 이 예에서는 이메일 내용을 모델에 제공하고 청구서 ID와 총 납부 금액을 식별하도록 요청합니다. 제가 사용한 프롬프트는 다음과 같습니다.

이메일 내용은 {{ $json.snippet }}로 제공합니다. n8n에서는 프롬프트에 이전 노드의 출력에서 채워지는 변수를 포함할 수 있으며, 여기서는 이메일입니다. 사용 가능한 필드 목록은 왼쪽에서 볼 수 있습니다. 필드를 직접 입력하거나 드래그 앤 드롭으로 프롬프트에 넣을 수 있습니다.

테스트하려면 구성 패널 상단의 "Test Step" 버튼을 클릭합니다. 결과는 오른쪽에 표시됩니다.

결과는 모델의 답변이 담긴 문자열입니다. 메시지를 추가로 처리하지 않도록 두 필드를 별도로 받고 싶습니다. 이를 위해 LLM의 출력을 JSON으로 바꿀 수 있습니다.

이 단계를 다시 테스트하면 두 필드를 JSON 데이터로 받을 수 있습니다.

데이터를 Google Sheet로 보내기
이 워크플로우의 마지막 단계는 청구서 ID와 금액을 Google 스프레드시트의 새 행으로 전송하는 것입니다. 여기서는 OpenAI 노드의 출력을 Google Sheets에 연결해야 합니다. 이전과 마찬가지로 노드 왼쪽의 "+" 버튼을 클릭합니다.

여기서는 Google Sheets를 입력하고 "Append row in sheet" 노드를 선택합니다.

Gmail 접근에 사용한 것과 동일한 자격 증명을 사용할 수 있습니다. 다만 Google Cloud Console에서 다음 API를 활성화해야 합니다.
- Google Sheets API
- Google Drive API
Google Sheets 노드를 구성하려면 시트를 선택하고 필드를 채울 값을 지정해야 합니다. 시트는 청구서 ID와 총액을 위한 두 개의 열로 미리 만들어 두세요.

값은 OpenAI 노드의 출력에서 가져옵니다. 열로 드래그 앤 드롭하면 됩니다.

워크플로우 실행
완료되었습니다! 이제 청구서를 자동으로 Google 스프레드시트에 처리하는 워크플로우가 준비되었습니다. 하단의 "Test workflow"를 클릭해 테스트해 볼 수 있습니다.

실행한 뒤 Google 스프레드시트로 이동하면 데이터가 담긴 새 행을 확인할 수 있습니다.

기본적으로 워크플로우는 매분 실행됩니다. 워크플로우에 따라 적절한 실행 빈도를 설정하는 것이 좋습니다. 본 예에서는 1분마다 실행은 과도합니다. 하루 한 번 정도가 적절합니다.
트리거 노드를 더블 클릭해 "Poll Times" 필드에서 다른 값을 설정하면 됩니다.

예제 2: RAG 에이전트 구축
이 섹션에서는 더 복잡한 RAG 에이전트 워크플로우를 구축합니다. RAG는 데이터베이스나 문서에서 관련 정보를 검색한 뒤, 검색된 정보를 바탕으로 언어 모델이 응답을 생성하는 기법입니다.
긴 문서처럼 특정 지식 기반이 있을 때, 이에 대해 질문에 답할 수 있는 AI 에이전트를 만드는 데 매우 유용합니다.
저는 보드게임을 좋아하는데, 친구들과 종종 규칙을 두고 논쟁하다가 플레이 대신 규칙을 찾느라 시간을 쓰곤 합니다. 게임 규칙을 기반으로 RAG 에이전트를 만들면, 다음에 질문이 생겼을 때 에이전트에게 물어보면 되므로 좋은 해결책이 됩니다.
이 에이전트를 만들기 위해 두 개의 워크플로우를 만듭니다.
- 데이터를 Pinecone 데이터베이스에 업로드하기 위해 한 번만 실행하는 워크플로우
- RAG 에이전트를 구동하고 Pinecone 데이터베이스를 사용해 질문에 답하는 워크플로우
Pinecone으로 데이터 적재
Pinecone은 벡터 형태로 데이터를 관리하는 데이터베이스입니다. RAG 에이전트에 매우 적합하며, 관련 정보를 빠르게 조회하고 이해하도록 도와 더 정확한 답변을 제공할 수 있게 합니다.
이 워크플로우는 한 번만 실행하면 되므로, 수동 트리거 노드를 사용할 수 있습니다. 이는 워크플로우를 수동으로 실행할 때 쓰는 트리거입니다.

수동 트리거 노드를 "Google Drive" 노드에 연결해 Google Drive에서 데이터를 다운로드합니다.

다음과 같이 구성합니다.

저는 공개된 mtgrules.txt 파일(트레이딩 카드 게임 매직: 더 개더링의 규칙)을 사용했습니다. 질문하고 싶은 어떤 파일이든 사용할 수 있으며, 워크플로우는 동일합니다.
Pinecone을 구성하려면 Pinecone에 로그인해 API 키를 복사하고, "Create index" 버튼으로 인덱스를 만듭니다. 저는 인덱스 이름을 rules로 하고 text-embedding-3-small 모델을 선택했습니다.

n8n으로 돌아와 Google Drive 노드의 출력을 Pinecone Vector Store 노드의 "Add documents to vector store" 액션에 연결합니다.
노드를 구성하려면 API 키를 붙여넣고 방금 만든 Pinecone 인덱스를 선택해 자격 증명을 생성해야 합니다. Pinecone Vector Store 노드 아래에는 임베딩 모델과 데이터 로더 두 가지를 추가로 구성해야 합니다.

임베딩은 OpenAI Embedding 노드를 만들고 모델을 text-embedding-3-small로 설정합니다.

데이터 로더는 기본 데이터 로더(Default Data Loader) 노드를 만들고 바이너리 데이터 타입으로 설정합니다.

마지막으로, 데이터 로더에는 파일의 데이터를 벡터 스토어로 만들 때 어떻게 분할할지 지정하는 텍스트 스플리터가 필요합니다. 대부분의 애플리케이션에 권장되는 Recursive Character Text Splitter 노드를 사용합니다.

청크 크기는 1,000, 청크 오버랩은 200으로 설정합니다.

청크 크기와 오버랩을 선택할 때, 긴 문서에는 더 큰 청크 크기를 사용해 충분한 내용을 담고, 중복 없이 문맥을 유지할 수 있도록 더 작은 오버랩을 고려하세요.
최종 워크플로우는 다음과 같습니다.

"Test workflow"를 클릭해 실행할 수 있으며, 완료되면 Pinecone에서 데이터가 적재되었는지 확인할 수 있습니다.
RAG 에이전트 만들기
RAG 에이전트의 최종 구성은 다음과 같습니다.

연습 삼아, 아래 내용을 읽기 전에 구조를 이해하고 로컬에서 직접 재현해 보시길 권합니다.
먼저 "On chat message" 트리거 노드로 시작합니다. 채팅 워크플로우를 만들 때 사용하는 트리거입니다.

다음으로 채팅 트리거를 기본 옵션의 "AI Agent" 노드에 연결합니다.

AI Agent 아래에서는 세 가지를 구성할 수 있습니다.
- 에이전트가 사용할 AI 모델
- 메모리: 에이전트가 대화 문맥을 기억하는 방식
- 도구: 에이전트가 접근할 수 있는 도구. 여기서는 문서에 대한 질문에 답할 수 있도록 Pinecone 데이터베이스를 도구로 제공합니다.
AI 모델은 "OpenAI Chat Model" 노드를 선택하고 이전과 같이 GPT-4.1을 사용합니다. GPT-5 패밀리가 현재 모델이지만, 4.1은 100만 토큰 컨텍스트 윈도우를 제공해 RAG에 적합합니다.

메모리는 "Simple Memory" 노드를 사용하고 컨텍스트 길이는 5로 설정합니다. 이는 에이전트가 답변 시 직전 5번의 상호작용을 기억하고 고려한다는 의미입니다.
도구에는 다음과 같은 구성의 "Pinecone Vector Store" 노드를 추가합니다.

설명 필드에는 도구를 언제 사용해야 하는지 명확히 기재하는 것이 중요합니다. 에이전트가 도구 호출 여부를 판단할 때 이 설명을 참고합니다.
마지막으로, 벡터 스토어에서 사용할 임베딩을 구성해야 합니다. 앞서와 같이 OpenAI Embedding 노드를 사용하고 모델은 text-embedding-3-small로 설정합니다.

워크플로우 구성이 완료되었으며, 이제 에이전트와 대화할 수 있습니다. 예시는 다음과 같습니다.

오른쪽에서 에이전트가 질문에 답하기 위해 수행한 단계를 확인할 수 있습니다. 특히, Pinecone 데이터베이스에 접근해 관련 규칙 정보를 가져왔음을 볼 수 있습니다.
n8n 템플릿
n8n에는 워크플로우 제작 속도를 크게 높여 줄 유용한 기능인 n8n 템플릿 라이브러리가 있습니다.
이 라이브러리는 커뮤니티와 n8n 전문가가 만든 사전 구축 워크플로우 모음입니다. 단순한 작업부터 복잡한 프로세스까지 자동화하려는 어떤 경우든, 우리 요구에 맞는 워크플로우가 이미 있을 가능성이 큽니다.
워크플로우를 n8n 설정에 가져오면 항상 처음부터 시작할 필요가 없습니다. 대신 다른 사용자가 만든 창의적인 해법을 활용할 수 있습니다. 가져온 후에는 우리 자격 증명으로 구성하고, 필요에 맞게 약간 수정만 하면 됩니다.
이메일 처리부터 소셜 미디어 관리까지 자동화하고 싶은 거의 모든 작업에 대해, 라이브러리에 템플릿이 있을 가능성이 매우 높습니다.
마무리
n8n은 방대한 통합 생태계를 제공하여, 천 개가 넘는 서비스와 도구를 연결해 AI 에이전트를 만들 수 있게 합니다. 이 튜토리얼에서는 n8n의 기능 중 극히 일부만 살펴보았습니다. 일상적인 작업을 자동화하는 AI 에이전트를 n8n으로 구축하는 방법을 탐색하며, 이제 그 가능성의 문을 열었습니다.