MAKE 와 n8n을 알려줬더니, 클로드데스크탑 MCP 와 클로드코드로 강의신청폼을 만드냐!!!
소개
전문가로 소속되어 있는 곳에서는 "회원의 날"을 정해 강사가 강의를 진행하곤 합니다.
마침 이번달은 저의 차례이기도 하고 책을 소개도 할겸, 스몰랜딩페이지 형태로 간단한 신청폼을 만들어 전달하면 좋겠다는 생각이 들었습니다. 그래서 만들어 봤습니다. 가능하면 메이크나 n8n을 활용해 만들면 좋았겠지만 사실은 아직도 어색합니다. 하는 업무의 특성상 자동화가 아직은 어색해서 그런가??? 하는 핑계로 위안을 삼고는 합니다.
진행 방법
자동화를 위해 다양한 도구들을 조합해봤습니다. 기술적으로 아주 복잡한 건 아니었지만, 익숙하지 않아서 시행착오도 꽤 많았어요.
사용한 도구들
Claude Desktop MCP, Claude Code: 자연어로 코드 생성 및 실행을 시도
구글 시트 & 앱스 스크립트: 신청폼 데이터 수집 및 자동 정리
GitHub: 스크립트 저장 및 관리
시도한 흐름
마침 얼마 전부터 클로드데스크탑 MCP를 (플레이롸이트, 데스트탑커맨더, 컨텍스트7, 시퀀셜씽킹) 도구로 해서 "경영~끝났다"디자인팀 프로젝트를 통해 진행을 하던 작업이 있어서 그것을 활용하면 되겠다는 생각이 들었습니다. 바로 호출을 합니다.
클로드데스크탑의 "경영~끝났다" 프로젝트를 열고 바로 프롬프트를 입력합니다.
간단한 북콘서트 형식의 2시간 정도 강의안을 만들 예정이야.
짧고 임팩트 있게, 후크성있는 한장의 포스터 형식으로 만들고 싶어.
강사: 이상수 저자
날짜와 시간 : 9월 25일 2 시 에이큐브 본사
내용 : 간단한 책 소개와 실전에 바로 사용하는 프롬프트 사용과 비법 공개 (2시간 + 알파)프로젝트의 지침에 따라 MCP를 이용하여 열심히 일을 하기 시작합니다.
계속해서 열심히 만듭니다.
한번에 프로젝트까지 완료되었다고 하네요. (대~to~ the ~박)
벌써 끝....
.
.
.
설 마 그럴리가 없겠죠?
끝났다고 다 만들었다고 해서 몇가지 질문을 연속적으로 던지기 시작합니다.
실제 입력하면 DB 수집도 가능해?구글을 연결해서 하라고 몇가지 방법을 알려줍니다. (끝났다고 해놓고 이제부터는 저를 시킵니 다. 지일이 끝났다는 거였어요. T. T.)
그래도 미련 반 기대 반 (시스템을 알면 하지 말아야 할 것 같은) 으로 다시 질문
직접 연결해서 만들어 줄 수 있어?
사용자가 신청하면 어디서 확인해?문제는… LLM이 너무 영악하다는것.
할 수 있냐? 고 물어보는게 우문일수 있다는 깨달음을 가지고,
만들어준 파일을 확인을 바로 해봤습니다. ( 사실 이제부터 시작이네요 ~~헉!)
클로드코드로 바톤을 이어 받다.
지금까지 만들어준 파일을 클로드코드로 분석을 하고 원하는 작업을 요청했습니다.
커서로 열고 파일을 불러 작업을 하기 시작했습니다.
< 아픔의 흔적들> - 구글시트와 구글앱스 스크립트 과정에서 오류의 흔적
구글시트와 앱스스크립트는 첨부하는 MD파일을 보고 진행합니다.
# Google Forms 연동 설정 가이드
## 개요
스몰 랜딩페이지와 Google Forms를 연동하여 실제 참가 신청 데이터를 수집하는 완전한 시스템 구축 가이드입니다.
## 1단계: Google Forms 생성
### 1.1 Google Forms 접속
1. 웹브라우저에서 https://forms.google.com 접속
2. Google 계정으로 로그인
3. "새 양식 만들기" 클릭
### 1.2 양식 기본 설정
1. 양식 제목: "이상수 강사 회원의 날 참가 신청"
2. 설명: "실전 프롬프트 비법 공개 - 9월 25일 에이큐브 본사"
### 1.3 필수 필드 생성
#### 필드 1: 이름
- 질문 유형: 단답형
- 질문: "이름"
- 필수 항목: 체크
#### 필드 2: 연락처
- 질문 유형: 단답형
- 질문: "연락처"
- 필수 항목: 체크
#### 필드 3: 이메일
- 질문 유형: 단답형
- 질문: "이메일"
- 응답 검증: 이메일 주소
- 필수 항목: 체크
## 2단계: Google Sheets 연동
### 2.1 응답 연결 설정
1. Forms 상단 "응답" 탭 클릭
2. "스프레드시트에서 응답 수집" 아이콘 클릭
3. "새 스프레드시트 만들기" 선택
4. 스프레드시트 이름: "회원의 날 참가 신청자 명단"
5. "만들기" 클릭
### 2.2 자동 이메일 알림 설정
1. Google Sheets에서 "도구" → "알림 규칙" 클릭
2. "양식이 제출될 때마다" 선택
3. 이메일 주소 입력 (관리자 이메일)
4. "저장" 클릭
## 3단계: 연동 정보 추출
### 3.1 Forms Action URL 확인
1. Google Forms에서 우상단 "보내기" 클릭
2. 링크 아이콘 클릭하여 공유 URL 확인
3. URL에서 Forms ID 추출 (예시 참조)
**URL 형식:**
```
https://docs.google.com/forms/d/e/1FAIpQLSd[여기가_FORMS_ID]/viewform
```
**Action URL 형식:**
```
https://docs.google.com/forms/d/e/1FAIpQLSd[여기가_FORMS_ID]/formResponse
```
### 3.2 필드 이름 확인 방법
1. Google Forms 미리보기 페이지 열기
2. 브라우저에서 F12 키 (개발자 도구)
3. "Elements" 탭에서 입력 필드 검사
4. 각 input 태그의 name 속성 값 확인
**확인해야 할 필드:**
- 이름 필드: entry.########## (10자리 숫자)
- 연락처 필드: entry.########## (10자리 숫자)
- 이메일 필드: entry.########## (10자리 숫자)
## 4단계: 랜딩페이지 설정 업데이트
### 4.1 설정값 수정
`index-database.html` 파일에서 다음 부분을 실제 값으로 수정:
```javascript
const GOOGLE_FORMS_CONFIG = {
// 실제 Google Forms URL로 교체
formUrl: 'https://docs.google.com/forms/d/e/[실제_FORMS_ID]/formResponse',
// 실제 필드 이름으로 교체
fields: {
name: 'entry.[실제_이름_필드_번호]',
phone: 'entry.[실제_연락처_필드_번호]',
email: 'entry.[실제_이메일_필드_번호]'
}
};
```
### 4.2 설정 예시
```javascript
const GOOGLE_FORMS_CONFIG = {
formUrl: 'https://docs.google.com/forms/d/e/1FAIpQLSdABC123XYZ789/formResponse',
fields: {
name: 'entry.1234567890',
phone: 'entry.9876543210',
email: 'entry.5556667770'
}
};
```
## 5단계: 테스트 및 확인
### 5.1 기능 테스트
1. 수정된 `index-database.html` 파일을 웹브라우저에서 열기
2. "지금 참가 신청하기" 버튼 클릭
3. 테스트 정보 입력 후 신청 완료
4. Google Sheets에서 데이터 수집 확인
### 5.2 데이터 확인 방법
1. Google Sheets 새로고침
2. 신청 데이터가 새 행에 추가되었는지 확인
3. 이메일 알림 수신 확인
### 5.3 문제 해결
- 데이터가 저장되지 않는 경우: 필드 이름 재확인
- 오류 메시지 발생 시: 브라우저 개발자 도구 콘솔 확인
- 이메일 알림이 오지 않는 경우: 스팸함 확인
## 6단계: 운영 및 관리
### 6.1 참가자 관리
- Google Sheets에서 실시간 참가자 현황 확인
- 필요시 참가자에게 개별 연락
- 참가자 수 제한 관리
### 6.2 백업 데이터
랜딩페이지는 자동으로 로컬 저장소에도 데이터를 백업합니다.
브라우저 개발자 도구에서 다음 명령어로 확인 가능:
```javascript
viewApplications()
```
### 6.3 데이터 활용
- Google Sheets에서 엑셀 파일로 내보내기
- 메일 머지 기능으로 일괄 이메일 발송
- 참가자 통계 분석
## 보안 및 개인정보 보호
### 개인정보 처리 방침
1. Google Forms 설정에서 "응답 1회로 제한" 설정
2. 개인정보 수집 목적 명시
3. 이벤트 종료 후 데이터 삭제 계획 수립
### 접근 권한 관리
1. Google Sheets 공유 설정을 "특정 사용자"로 제한
2. 관리자 계정만 편집 권한 부여
3. 정기적인 접근 권한 검토
## 추가 기능 확장
### 자동 확인 이메일
Google Forms의 "응답자에게 응답 사본 전송" 기능 활용
### 참가자 제한
Google Forms 설정에서 "응답 수락 중지" 기능으로 인원 제한 가능
### 실시간 알림
Google Apps Script를 활용한 실시간 Slack 또는 Discord 알림 연동
이 가이드를 따라 설정하면 완전한 데이터베이스 수집 시스템이 구축됩니다.와~~ 이것도 이전 시간에 구글 앱스스크립 실습 안해봤으면 엄청 고생했을 것 같았습니다.
(공유, 권한부여 등이 큰 난관이니까요~~, 근데 이것도 잘 알려줍니다.)
오류를 수정하다보니 아무래도 새로 파일을 만들어서 진행하는게 좋을것 같아 "회원의 날" 파일을 다시 만들어서 최종 정리 작업을 합니다.
우여곡절 끝에 랜딩페이지의 신청폼을 통해 접수되었을때, 메일로 확인 가능하고, 데이터베이스로 저장이 가능해집니다.
2시간 이상의 다툼과 달램 끝에 연결 확인.
깃허브에 올리고 페이지로 배포.
결과와 배운 점
처음에는 "과연 어디까지 가능할까?" 하는 생각이 많았습니다. 자연어로 코딩하는 것은 말처럼 쉽지 않았고, 중간 중간 오류에 부딪히며 좌절도 했습니다. 하지만 놀라웠던 건, 디버깅 시간은 이전보다 훨씬 줄었다는 점이었습니다.
하지만 가장 크게 느낀 점은 이거예요:
기술이 발전해도, 기본을 아는 사람만이 진짜 혜택을 누릴 수 있다
프롬프트의 고도화, 컨텍스트 구성, PRD/TRD 같은 문서 구조의 중요성… 이런 것들을 모르고 있으면, 아무리 좋은 AI 도구가 있어도 다루기 어렵습니다. 그래서 저는 최근 들어, 기본 용어나 프레임워크, 문서 구성 방식 등을 익히려고 노력하고 있습니다.
언젠가, 이 경험들이 쌓이면 분명 '날개'가 되어줄 거라고 믿고 있습니다.
독자에게 전하고 싶은 말
저는 아직도 자동화가 어렵습니다. 특히 Make나 n8n 같은 툴은 더더욱요.
하지만 한 가지는 확신합니다. 시간이 지나면, 그리고 계속 시도하면 분명 해결됩니다.
예전엔 PPT 한 장도 못 만들고, 엑셀도 전혀 못 다뤘던 제가 지금은 자연어로 간단한 자동화 를 시도하고 있습니다. 노션, 옵시디언조차도 MCP라는 도구를 활용하면 자연어로 콘텐츠를 넣을 수 있어요.
한꺼번에 많은 걸 하려 하지 마세요. 한 계단, 두 계단씩 올라가다 보면, 어느 순간에 에스컬레이터가 기다리고 있을 겁니다. 그리고, 그 끝에는 엘리베이터도 있을겁니다. 보이지 않는다고 겁먹지 말고, 작은 시도부터 시작해보세요.
도움 받은 글 (옵션)
1인 사업가를 위한 Claude MCP로 끝내는 마케팅 웹사이트의 9월 10일 이모카님
재엽님 사례.
https://www.gpters.org/nocode/post/lets-easily-manage-mcp-7ob33QVABhDw2DT