소개
지피터스 스터디가 AI 맛도리로 소문이 나면서, B2B 혹은 기관의 교육 요청이 꽤 들어옵니다.
이걸 매번 메일로 받고, 적 절한 강사분을 찾고, 수작업으로 메일 써서 연결해드리고... 일하는 사람은 적은데 반복 업무는 가중되고 있어요.
그래서 문득 이런 생각이 들었죠.
“교육 요청을 자동으로 받아서, 그 니즈에 맞는 제안서까지 자동 발송되면 좋지 않을까?”
막연한 바람으로, 작은 실험을 시작했습니다.
진행 방법
1. Airtable로 베이스 만들기
에어테이블 Omni 기능을 활용해서 매번 수동으로 세팅해줘야하는 필드를 순식간에 설정했습니다.
교육 요청 테이블을 만들고 → 이걸 기반으로 설문 폼도 생성
커리큘럼 모듈테이블도 만들어서, 지피터스가 제공할 수 있는 강의 항목을 더미 데이터로 정리예) 1회성 강의, 1:1 코칭, 해커톤 운영 등
2. n8n으로 워크플로우 세팅
기업 교육 담당자가 에어테이블 폼을 제출하면 - webhook으로 제출을 감지하도록 했습니다.
1) 기업 교육 담당자의 요청 내용과, 2) 지피터스 커리큘럼을 하나로 묶어서 Merge노드로 통합을 시킵니다.
그리고 OpenAI 노드에 다음과 같은 프롬프트를 입력했습니다.
당신은 B2B 기업 대상 AI·자동화 교육을 설계하는 전문 컨설턴트입니다.
출력은 마크다운 형식이며, 다음 구조를 지켜 작성합니다:
1) 개요 (니즈 요약)
2) 제안 커리큘럼 (표 형태)
3) 일정 및 견적
4) 기대 효과
5) 다음 단계
**[조건]**
- 고객 요청에 딱 맞는 형태의 교육이 없더라도, 보유 모듈을 적절히 변형하거나 조합해 제안하세요.
- 말투는 비즈니스 한국어, 간결하되 신뢰감 있게.
- CUSTOM 모듈은 고객이 희망 주제를 입력한 경우에만 포함 가능.
- 제안 커리큘럼은 **3~6개 모듈**을 선정하여 제시하세요.
- 표의 컬럼은: `분류 | 이름 | 시간 | 핵심 내용 | 산출물/특징`
---
## 🧾 고객 요청 정보
- 회사명: {{ $json['회사명'] }}
- 수업 방식: {{ $json['수업 방식'] }}
- 수강 인원: {{ $json['수강인원'] }}
- 수업 기간: {{ $json['수업 기간'] }}
- 수업 방식(복수 선택): {{ $json['수업 방식(복수 선택)'].join(', ') }}
- 희망 주제: {{ $json['희망 주제'] }}
- 가용 예산(안): {{ $json['가용 예산(안)'] }}
- 지역 (오프라인인 경우): {{ $json['지역(오프라인인 경우)'] }}
- 희망 교육 시작 일정: {{ $json['희망 교육 시작 일정'] }}
---
## 📚 사용 가능한 교육 모듈 목록
{{ (() => {
return $json.modules.map(m =>
`- [${m['분류']}] ${m['이름']}
시간: ${m['기본 길이/기간']}
구성: ${m['핵심 내용‧구성']}
산출물/특징: ${m['주요 산출물‧특징']}`
).join('\n\n');
})() }}
---
## 🧭 지시
- 위 요청과 모듈을 바탕으로 가장 적합한 교육 제안서를 작성하세요.
- 제안 커리큘럼의 총 예상 시간도 함께 명시하세요.
어찌어찌 제안서를 만들어줬습니다. (지금은 자동화에 포커싱을 하고 있기 때문에 실제로 제안서가 잘 나왔는지 프롬프트 검증은 추후에 할 예정입니다)
당연히 못생긴 형태로 결과물이 나올 것이 자명하기 때문에, 해당 결과물을 한 번 더 OpenAI 노드로 가공시켜서 예쁜 HTML 형식의 이메일로 만들어달라고 했습니다.
아래에 제공된 콘텐츠는 마크다운 형식 또는 일반 텍스트로 작성된 교육 제안서입니다.
이를 **깔끔하고 보기 좋은 HTML 문서**로 변환해주세요.
### 📌 출력 규칙
- 전체 출력은 `<html>` 전체 구조를 포함한 **완성된 HTML**입니다
- 반드시 `<head>` 안에 `<style>` 태그로 기본 CSS를 포함합니다 (폰트, 표 스타일, 마진 등)
- 제목은 `<h1>`, `<h2>`, `<h3>` 등으로 변환
- 표는 `<table>` 요소로 변환 (테이블 헤더 포함)
- 줄바꿈은 `<p>`로 변환하거나 `margin`으로 적절히 처리
- 이메일이나 PDF로 출력해도 깨지지 않게 작성해주세요
- 창의적으로 바꾸지 말고, **포맷만 바꾸세요** (내용은 유지)
---
### 📥 입력 콘텐츠
- 다음 입력은 이미 마크다운 또는 HTML입니다.
- 이를 HTML 문서 전체로 포맷팅만 하세요.
- 아래는 입력:
{{ $json.message.content }}
현재 이메일 템플릿은 간단한 HTML만 적용된 상태. 더 예쁘게 만들고 싶지만 아직 못 했어요 🥲
3. Lovable로 랜딩페이지 제작
GPTs를 활용해 PRD(기획서) 먼저 뽑고 → Lovable로 변환 (아래는 캡처 일부)
GitHub 리포지토리로 내보내서 Cursor 에디터로 열고 약간 수정
교육 요청하기버튼에는 Airtable 폼을 임베드해서 연동 (커서한테 임베딩 해달라함) ✅
Vercel로 배포한 웹사이트 (링크)
결과와 배운 점
지금 상태는?
자동화 흐름은 "거의 다 세팅되었지만 아직은 비활성화 상태"
커리큘럼 모듈도 실제 데이터가 아닌 더미
랜딩페이지는 잘 만들어졌고, Airtable 폼도 연동 완료
시행착오 🤯
n8n 유료 플랜 제약 때문에 아직 워크플로우를 직접 테스트하진 못함
HTML 메일 포맷은 손대기엔 시간이 부족했고, 디자인도 더 손봐야 할 것 같음
추후 하고 싶은 것 & 해야할 것
각각 모듈별로 강의, 멘토링 가능한 강사풀을 연결해서 매칭 자동화
같은 에어테이블에 각 모듈 강의 진행한 강사 풀 테이블을 만들기
제안서가 들어온 후 교육 진행하는 것이 확정되면 - 해당 강사풀에 소속된 강사들에게 일괄 이메일 및 문자가 발송됨
예) 몇 월 몇 일 ## 기관에서 ## 주제로 ##시간 강의 요청이 들어왔습니다. 가능하실까요? 최종 진행 여부는 추후 연락드릴 예정입니다.
강사가 최종 확정되면 지피터스 캘린더와 강사 캘린더에도 자동으로 일정 등록까지 n8n 워크플로우로 진행
실제로 지피터스의 교육 모듈 DB를 업데이트하고, 교육 요청 폼 내용에 따라 적절하게 제안서가 발송되는지 검토 필요 - 근데 이건 프롬프트만 빡세게 잘 쓰면 될 것 같아요!