소개
원데이 클래스를 운영하면서 수강생 예약 관리부터 사후 관리까지 하루 약 1시간을 소비하고 있었습니다.
반복되는 업무들:
카톡 알림 확인 → 캘린더 수동 입력
수업 7일 전, 당일 오전마다 수강생 전화번호 확인 후 개별 문자 발송
수업 당일 아침마다 일정 확인하고 장소/인원 체크
수업 종료 후 개별 사진 링크 포함한 안내 문자 발송
현재 업무 흐름에서 가장 번거로운 부분은
일부 플랫폼은 60분마다 바뀌는 안심번호로 알림톡 발송
심지어 알림톡에는 번호가 보이지 않고 앱에 직접 들어가야만 확인 가능
매번 앱 열고 → 안심번호 복사 → 문자 발송... 반복입니다.
이 모든 과정을 자동화하여 시간 절약과 실수 방지를 목표로 했습니다.
<진행 방법>
시스템 설계 과정으로
초기 계획은 Notion을 활용한 자동화 구축 시도 였지만
복잡함과 분산되다 보니 스터디장님의 조언으로 구글 생태계로 통합 후 Apps Script로 자동화 하기로 결정 했습니다.
사용한 도구로는
Google Sheets - 데이터 관리
- sheets에 문자템플릿과 변수가 있는 장소와 같은 정보들을 구조화하여 기재Google Calendar - 예약 정보 입력
- 카톡 알림 받으면 캘린더에 등록Google Apps Script - 자동화 로직
- sheets 와 calenae 정보 확인 하여 시간대별 문자 + 이메일 자동 발송 지정Solapi (문자 발송 API) - 수강생 자동 문자 발송
Gmail - 당일 나에게 알림 수신
Claude (AI) - 코드 작성 및 디버깅 지원
자동화의 구조입니다.
📱 카톡 예약 알림 수신
↓
📅 구글 캘린더 수동 등록 (30초)
↓
🤖 Apps Script 자동 실행
├─ 매일 08시: 캘린더 → 시트 동기화
├─ 매일 10시: 7일 후 수업 체크 → 1주전 안내 문자
└─ 매일 07시: 당일 수업 체크 → 당일 문자 + 나에게 이메일
↓
📸 수업 종료 후: 이미지 링크 입력 (2분)
↓
📨 종료 안내 문자 자동 발송
<실제 구현>
기본 자동화 구축, 문자 발송 자동화까지만 1차적으로 진행해 보았습니다.
알림톡에서 수기로 Calendar 에 수업 정보 입력
클래스 자동화 테스트 예시
파란색 원이 있는 달력
Google sheets 에 자동으로 수강생 정보 입력과 1주전 발송 Y 표시 완료
여러 행과 열을 보여주는 Google 스프레드시트의 스크린샷
solapi 자동 발송 완료
중국사이트 스크린샷
시행착오와 해결 과정
문제1) 전화번호 형식 문제
// 시트에 숫자로 입력되면 에러 발생
to.replace is not a function해결:
// 문자열로 변환 후 처리
to = String(to).replace(/-/g, '').trim();
```
---
#### 2. **Solapi API 인증 실패**
**문제:**
```
생성한 signature를 확인하세요 (400 에러)
문제2) 함수 누락 에러
ReferenceError: isSameDay is not defined
해결:
// 유틸리티 함수 추가
function isSameDay(date1, date2) {
return date1.getFullYear() === date2.getFullYear() &&
date1.getMonth() === date2.getMonth() &&
date1.getDate() === date2.getDate();
}
function isSameDateTime(date1, date2) {
return date1.getTime() === date2.getTime();
}기술적 배운점으로는 별도 서버 없이 Google Apps Script로 자동화가 가능하다는 점에
편리성을 느꼈고, 코딩 경험이 거의 없는 비개발자도 자동화 운영이 가능하다는 점이 가장 큰 수확이었습니다.
특히 Claude와의 협업으로 에러가 발생해도 로그를 공유하면 즉시 해결책을 제시받을 수 있어 기술적 장벽이 생각보다 높지 않다는 것을 깨달았습니다.
아직 개선이 필요한 부분은 알림톡에서 캘린더 입력 부분인데
일부 플랫폼에선 60분마다 바뀌는 안심번호로 제공되고,
앱을 직접 들어가야만 확인이 가능한 부분이 있어 이 부분은 알림톡을 캡쳐해 make.com에서 이미지 OCR로 텍스트로 추출하는 방법을 풀어볼지 어떤식으로 풀어나가야 할지 고민중에 있습니다.
다음 사례글에서는 좀 더 보완된 자동화 시스템을 구축해서 공유하겠습니다!