반응형
핵심 아이디어
- n8n을 백엔드로 사용해 이메일/캘린더 등의 기능을 수행하고
- GPTs를 프론트처럼 활용해 사용자의 명령을 받아 API 호출까지 수행하게 만든다
결국 "GPT에게 말만 걸면 백엔드가 자동 실행되는 구조"를 만들 수 있다는 얘기다.
목표 / 기대 효과
GPTs에 액션 기능을 연결해 입력 → 처리 → 전달까지 완전 자동화된 AI 비서를 만들고 싶었다.
n8n의 백엔드 기능과 GPTs의 프론트 역할을 결합해 대화형 자동화 시스템을 구축하는 게 목표였다.
환경 정보:
- OS: Windows 10
- 플랫폼: ChatGPT Plus (GPTs 기능 포함), n8n (커뮤니티 클라우드 서버)
- 문제: GPTs는 로컬 주소(localhost)를 인식할 수 없음
- 해결: n8n을 클라우드 서버에 배포하거나 ngrok을 이용해 공개 URL 생성
-
- 사용 도구: Gmail API, Google Calendar API, OpenAPI Assistant (GPTs 기반)
- 인증 방식: OAuth2 (Google API 콘솔)
시스템 구성도
사용자 프롬프트 → GPTs (프론트 역할) → Actions(API 호출) →
n8n (백엔드 역할) → Gmail/Google Calendar 등 외부 서비스
구현 방식
1. GPTs에서 나만의 액션 생성
- GPTs (ChatGPT Plus 구독 중) 생성(+만들기)
- OpenAPI 스펙은 도우미 GPT(OpenAPI Assistant)를 활용해 자동 생성
- 이름, 설명 지침(GPT로 관련 프롬프트 작성)
- 기능의 경우는 웹 검색만 선택(추후 성능 고도화 필요시 설정)
- 작업(Action) - Webhook 노드를 통해서 연결을 해줌(https://cord-ai.tistory.com/193)
- 해당 절차대로 했다면 작업란에 도메인 주소가 적혀있습니다.
- 바퀴모양 들어가서 인증의 경우 중요하다 싶으시면 API키, OAuth 설정(Test의 경우 없음해도 무방)
- 스키마( GPT - 관련 스키마 작성 요청 )
- 이메일 전송에 필요한 파라미터: to(누구에게), subject(제목), content(내용)
- 캘린더 이벤트에 필요한 파라미터: eventTitle(일정), eventDate(시간), startTime(일정 시작), endTime(일정 종료)
- 스키마 Error가 없다면 가능한 작업(Actions)에 활성화됨
2. n8n에서 Webhook 기반 워크플로우 생성
[이메일 전송 워크플로우]
- Webhook 노드 생성 (POST 방식으로 설정)
- Gmail Send 노드 연결전에 데이터가 잘 들어오는지 확인
- n8n Webhook 노드에서 listen for test event 클릭
- 생성한 GPTs(이미지1)창에서 Test 클릭
- Action 활성화되고, 보안 이슈 관련 확인 안내문(Confirm 클릭)
- n8n Webhook에서 Data가 들어오는지 확인
- Gmail 노드 연결 (Send message)
- Gmail 노드 설정창에서, Webhook 요청 Body의 to, subject, content 값을 Gmail 노드에 매핑
5. Respond to Webhook 노드 추가 (최종 성공 여부를 GPT에게 응답)Gmail 노드 - Respond with - No Data
- Options(add Option) - Response Code - 200
- 추가후 webhook 노드에서 respond설정(이미지2 참조, Using 'Respond to Webhook...)
< Respond to Webhook 하는 이유>
🚨Webhook Issue
문제: n8n 기본 설정은 요청을 받자마자 200 응답을 보내 GPT가 무조건 성공했다고 착각
해결: Respond to Webhook 노드를 워크플로우 말미에 추가하여 실제 처리 완료 후 응답
- webhook 노드에서 respond설정(3가지)
- 즉시
- 마지막 노드가 끝날때
- 되돌려줌 = respond노드 추가하라고 뜸
3. 결과
- 모든 설정이 끝났으면 (이미지1)창에서 우측 상단에 Update 클릭
- 업데이트 후 (이미지3)에서 GPT보기를 눌러 Chating 진행
- n8n 노드를 다 연결하고 'Test WorkFlow'
'Test WorkFlow'을 누르지 않고 상시 활성화 하는 방법
- n8n 만들어놓은 Workflow창에서 오른쪽 상단에 Active 클릭
- 이렇게 바꿔주면 Webhook에 있던 Test URL >> Production URL로 변경됨
- 그리고 스키마에 적혀있던 Url 수정이 필요하다(Test URL에는 test라는 문구가 있다.)
-test 삭제(Servers에 해당 문구가 적혀있을 수 있음, 스키마에 따라 다름)
반응형
'n8n, Automation Tool' 카테고리의 다른 글
n8n + Supabase + GPT, 나만의 RAG 기반 AI 챗봇 만들기 (0) | 2025.05.14 |
---|---|
n8n + GPTs, AI비서 만들기(Google Calendar, 일정(Event) 잡기) (0) | 2025.05.12 |
n8n, Google Credential 연동하기 (0) | 2025.05.12 |
n8n + OpenAI Chat Model 연동 시 발생한 오류 해결기 (1) | 2025.05.09 |
n8n에서 Webhook 사용하기, Docker + Ngrok (0) | 2025.05.09 |
댓글