n8n을 사용하여 Google Sheets와 대화하기: 팀이 스프레드시트에 질문하는 방법을 자연어로 구현
요약
본 글은 n8n을 활용하여 Google Sheets에 대한 질문을 자연어 대화 형태로 구현하는 방법을 설명합니다. 사용자가 채팅창에 평이한 영어로 질문하면, AI 에이전트가 스프레드시트를 읽고 몇 초 만에 답변을 제공합니다. 이 시스템은 메모리 노드를 포함하여 후속 질문에도 맥락을 유지하며 작동합니다.
핵심 포인트
- n8n과 AI 에이전트를 결합해 Google Sheets를 대화형 데이터베이스로 변환할 수 있습니다.
- 사용자는 복잡한 필터링이나 공식 없이 자연어로 데이터를 질의할 수 있습니다.
- 메모리 노드를 사용하여 이전 질문의 맥락을 기억하고 후속 답변에 활용합니다.
- 이 템플릿은 읽기 전용(read-only)으로 설계되어 데이터 안전성을 확보했습니다.
모든 소규모 기업은 동일한 스프레드시트를 가지고 있습니다. 컨설팅 회사라면 클라이언트 명단이 바로 그것입니다. 누가 고객인지, 어떤 사람이 계정을 관리하는지, 월별 유지보수 비용(retainer)은 얼마인지, 갱신 예정 월은 언제인지, 그리고 '활성(Active)', '위험(At Risk)', 또는 '일시 중지(Paused)' 상태를 나타내는 상태 열이 있습니다. 파트너가 알아야 할 모든 것이 그 안에 들어있습니다. 하지만 이 정보를 빠르게 추출할 수 있는 사람은 거의 없습니다.
문제점: 답은 존재하지만, 누군가 15분을 소비해야 한다
월요일 아침 회의를 상상해 보세요. 한 파트너가 "어떤 클라이언트들이 위험 상태에 있나요?" 또는 "누가 11월에 갱신하나요?"라고 질문합니다. 누군가는 시트를 열고, 필터링하고, 정렬하고, 아마도 피벗 테이블(pivot table)을 만들어서 그 결과를 채팅창에 붙여넣어야 합니다. 계정 관리자들은 일주일에 수십 번 이 작업을 반복합니다. 질문하는 사람들은 필터 메뉴를 즐길 가능성이 가장 낮은 사람들이기 때문에, 다른 사람이 기다리거나 기억에 의존하여 답을 결정하게 됩니다.
진짜 비용은 스프레드시트 자체가 아니라 그 주변에서 발생하는 방해(interruption)입니다. 모든 "간단한 질문"은 한 사람의 업무 흐름을 끊어버리고, 답변이 도착할 무렵에는 이미 정보가 구식이 되어 있습니다.
변화하는 점: 동료에게 묻듯이 시트에 질문하기
n8n은 Google Sheet 앞에 채팅창을 배치하는 인기 있는 템플릿(갤러리에서 번호 7639)을 가지고 있습니다. 사용자는 평이한 영어(plain English)로 질문을 입력하면, AI 에이전트가 행들을 읽고 몇 초 만에 답변합니다. 제가 강의에 사용했던 실습 명단에서는 다음과 같은 방식으로 잘 작동했습니다.
- "위험 상태인 클라이언트들은 무엇인가요?"라는 질문에는 Northwind Insurance와 Riverbend Accounting이 반환되었습니다.
- "11월에 갱신하는 클라이언트들은 무엇인가요?"라는 질문에는 Atlas Logistics Co와 Northwind Insurance가 반환되었습니다.
- 후속 질문으로 "그 두 곳 중 위험 상태인 곳은 어디인가요?"라고 물었을 때도 작동했는데, 이는 해당 템플릿이 대화를 기억하는 메모리 노드(memory node)를 포함하고 있기 때문입니다.
필터도 없고, 공식(formula)도 없으며, 동료를 기다릴 필요도 없습니다. 파트너가 질문하면, 시트가 답변합니다.
구축 방법 (다섯 개의 노드)
이 템플릿은 다섯 가지 작동하는 노드를 가지고 있습니다:
- Chat with Your Data는 채팅 트리거(chat trigger)입니다. 사용자의 메시지를 받습니다.
- Talk to Your Data는 질문을 가지고 무엇을 할지 결정하는 AI 에이전트입니다.
- OpenAI Chat Model은 에이전트가 생각하는 두뇌 역할을 합니다.
- Memory는 대화를 기억하여 후속 질문이 맥락에 맞게 이루어지도록 합니다.
- Analyze Data는 Get Row(s)로 설정된 Google Sheets 도구 세트입니다. 이 기능을 통해 에이전트가 스프레드시트를 읽습니다.
Notice that Analyze Data only reads. The agent in this template cannot change your sheet, which is exactly what you want for a first deployment on real client data. (참고: Analyze Data는 읽기만 합니다. 따라서 이 템플릿의 에이전트는 시트를 변경할 수 없으며, 이는 실제 클라이언트 데이터에 처음 배포할 때 정확히 원하는 기능입니다.)
설정 단계: 두 개의 연결(connections)
템플릿은 누구의 키도 가지고 시작할 수 없기 때문에 빈 자격 증명(credentials)으로 열립니다. 이 과정을 두 단계로 완료해야 합니다.
OpenAI 연결하기. OpenAI Chat Model 노드를 열고 사용자의 OpenAI 자격 증명을 선택합니다. 만약 없다면, OpenAI API Keys 페이지에서 키를 생성하고, Billing 항목에 소액의 금액을 추가한 후 n8n의 새 자격 증명에 이 키를 붙여넣으세요. 템플릿은 가장 저렴한 모델인 gpt-4.1-nano를 사용하므로 연습 비용이 극히 적습니다. 만약 모델 목록이 로드되지 않으면, 작은
언어 모델(Language models)은 적절한 행을 찾는 데 능숙하지만, 산술 계산에는 덜 신뢰할 수 있습니다. 또한 모델은 실행할 때마다 달라지기 때문에, 여러분의 답변이 제가 틀렸던 곳에 맞거나 그 반대일 수 있습니다. 비즈니스 관점에서 보면 간단한 규칙이 있습니다. 에이전트(agent)를 사용하여 찾고 목록화하는 데 사용하고, 클라이언트에게 총액을 보고하거나 보고서에 넣기 전에 직접 (또는 시트 함수로) 숫자를 더하세요. 만약 에이전트가 그 행들을 보여주도록 하면, 확인하는 데 10초밖에 걸리지 않습니다.
'누구(who)', '어떤 것(which)', '언제(when)'와 같은 계산 및 목록화 질문이 가장 효과적입니다. 돈과 관련된 총액은 사람이 직접 확인해야 합니다.
비용 및 예상 결과
- 설정 시간: 키를 얻은 후 약 8분 소요.
- 실행 비용: nano 모델은 매우 저렴하며, 일반적인 질문에는 아주 작은 센트(cent)의 일부만 비용이 듭니다.
- 위험도: 낮습니다. 에이전트는 읽기만 하기 때문입니다. 전체 명단(roster)을 볼 필요가 없는 사람들과 채팅 내용을 공유하지 마세요. 왜냐하면 에이전트는 지정된 모든 행을 읽을 수 있기 때문입니다.
다른 사람이 사용하도록 하려면 워크플로우(workflow)를 게시해야 합니다. 이는 별도의 단계이며, 진행하기 전에 누가 접근할지 결정하는 것이 좋습니다.
연습 방법
위의 워크플로우는 세 부분으로 총 22단계로 구성되어 있습니다: OpenAI 연결, 시트 연결, 데이터 질문하기. 저는 이를 임의의 데이터를 사용하는 n8n 에디터의 무료 인터랙티브 레슨으로 만들었기 때문에, 실제 계정에는 아무것도 건드리지 않고 비용이 청구되지 않습니다.
만약 이미 고객 명단, 업무 목록 또는 주문 시트를 가지고 있다면, 이것은 전체 팀이 질의할 수 있는 형태로 만드는 가장 빠른 방법 중 하나입니다. 가장 자주 질문받는 시트부터 시작하세요.
자신의 데이터에 적용하기 전에 n8n에서 단계를 연습하고 싶다면, 무료 레슨을 여기서 이용할 수 있습니다: n8n: Talk to Your Google Sheets with ChatGPT.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기