반복 업무는 자동화의 시작점이다 🎯
업무 자동화 컨설팅을 하다 보면 가장 많이 듣는 고민이 있습니다.
“매일 아침 똑같은 엑셀 다운받아서 정리하는데, 이거 자동화 안 될까요?”
전형적인 자동화 적용 케이스죠. 재고 현황, 매출 데이터, 광고 성과 리포트… 협력사나 외부 시스템에서 매일 정해진 시간에 엑셀을 메일로 보내주는 경우가 많은데, 이걸 매번 수동으로 처리하는 건 시간 낭비입니다.
오늘은 Gmail + Google Apps Script를 활용해서 이 프로세스를 완전 자동화하는 방법을 알려드리겠습니다.
왜 ChatGPT가 아닌 Gemini인가 🤖
구글 앱스 스크립트 자동화를 구현할 때는 Gemini를 쓰는 게 압도적으로 유리합니다.
이유는 간단합니다:
- Google Workspace API에 대한 이해도가 높음
- Apps Script 환경의 제약사항을 정확히 파악
- Drive API, Gmail API 연동 코드 정확도 차이
실제로 같은 프롬프트를 ChatGPT와 Gemini에 넣어보면, Gemini가 생성한 코드가 첫 실행 성공률이 월등히 높습니다.
Gemini 프롬프트 엔지니어링 💬
자동화 구현의 핵심은 명확한 요구사항 정의입니다. 아래 프롬프트를 상황에 맞게 수정해서 사용하세요.
넌 구글 스프레드시트 앱스 스크립트 개발 전문가야.
아래 조건에 맞는 코드를 작성해 줘.
코드는 최대한 간결하게 작성해 줘.
코드가 완성되면 오류가 있는지 다시 한번 살펴보고 오류가 없는 코드를 제시해 줘.
* 목적
매일 아침 8시 10분에 지메일에 수신된 이메일에서 [회사명]에서 보낸 메일을 검색해서
첨부된 엑셀 파일을 구글 스프레드시트 데이터로 변환하는 작업
* 찾을 메일
1. 메일 제목에 "[검색할 제목 키워드]"이 포함되어 있음
2. 보낸 사람 이메일 도메인이 "@[도메인].com"임
3. 첨부파일이 있음
4. 최근 7일에 수신된 메일 중에 가장 최신 메일이어야 함
* 엑셀 파일 변환 방법
1. Drive API를 사용할 것
2. 임시 구글 스프레드시트 파일을 만들고, 데이터를 가져온 다음에는 임시파일을 삭제할 것
* 저장할 스프레드시트 정보
1. 타겟 구글 스프레드시트: [구글 시트 URL]
2. 구글 스프레드시트 시트명: [시트 이름]
프롬프트 작성 팁:
- 대괄호
[ ]부분만 실제 값으로 치환 - 메일 검색 조건은 구체적일수록 좋음
- 첨부파일이 여러 개면 우선순위 명시
구현 단계별 가이드 ⚙️
Step 1: 환경 준비
- 데이터를 저장할 Google Sheets 생성
- 해당 시트에서 확장 프로그램 → Apps Script 실행
- 기본 코드 전체 삭제
Step 2: Drive API 활성화
Apps Script는 기본적으로 Gmail, Sheets API만 활성화되어 있습니다. Excel 파일을 Google Sheets로 변환하려면 Drive API가 필수입니다.
활성화 방법:
- 좌측 메뉴 서비스(Services) 클릭
- + 추가 버튼
- Drive API 검색 및 추가
💡 트러블슈팅: Drive API 추가 후에도 오류가 발생하면, API를 삭제했다가 재추가해 보세요. Google의 권한 캐싱 이슈로 첫 번째 추가가 제대로 적용 안 되는 경우가 있습니다.
Step 3: 코드 배포
- Gemini가 생성한 코드를
Ctrl+V로 붙여넣기 - 프로젝트 저장 (Ctrl+S)
- 함수 선택 후 실행 버튼 클릭
Step 4: 권한 승인
처음 실행 시 Google OAuth 인증 플로우가 진행됩니다.
승인 프로세스:
- “승인 필요” → 권한 검토
- 계정 선택
- “안전하지 않은 앱” 경고 → 고급 → 이동
- 요청된 권한 확인 후 허용
Google이 자체 개발한 스크립트에도 이 경고를 띄우는데, 본인이 작성한 코드니까 문제없습니다.
자동 실행 트리거 설정 ⏰
수동 실행으로 정상 작동을 확인했다면, 이제 자동화 트리거를 설정해야 합니다.
설정 방법:
- 좌측 메뉴 트리거(Triggers) 클릭
- + 트리거 추가
- 함수 선택:
importInventoryDataUsingDriveConvert - 이벤트 소스: 시간 기반
- 시간 간격: 일 타이머 → 오전 8~9시
운영 팁:
- 메일 발송 시간보다 10~15분 여유 두기
- 실패 알림 이메일 수신 설정 권장
- 초기 1주일은 수동 검증 병행
실무 적용 시 체크리스트 ✅
데이터 검증
- 원본 엑셀과 변환된 시트의 행/열 수 일치 확인
- 숫자/날짜 포맷 변환 오류 체크
- 특수문자나 한글 깨짐 여부 확인
에러 핸들링
- 메일이 안 올 경우 대응 로직
- 첨부파일이 없는 경우 처리
- Drive API 호출 실패 시 재시도 로직
보안
- 스프레드시트 공유 권한 최소화
- Apps Script 코드 접근 권한 제한
- 민감 정보(ID, 도메인) 하드코딩 지양
확장 가능한 자동화 시나리오 🚀
이 기본 구조를 응용하면 다양한 업무에 적용할 수 있습니다:
재무/회계팀
- 일일 매출 데이터 자동 집계
- 세금계산서 발행 내역 통합
- 법인카드 사용 내역 자동 분류
마케팅팀
- 광고 플랫폼별 성과 리포트 통합
- SNS 인사이트 데이터 자동 수집
- 경쟁사 가격 모니터링 데이터 정리
영업팀
- 거래처별 주문 현황 실시간 업데이트
- 재고 부족 알림 자동화
- 견적서 발송 이력 관리
자동화의 본질은 시간 확보다 ⏱️
단순 반복 업무 30분을 자동화하면, 연간 120시간을 확보할 수 있습니다.
이 시간으로 더 중요한 일에 집중할 수 있죠. 데이터 분석, 전략 수립, 새로운 프로젝트… 자동화는 단순히 편해지는 게 아니라 업무의 질을 높이는 투자입니다.
처음엔 설정이 번거로워 보일 수 있는데, 한 번 구축해 두면 계속 재사용할 수 있습니다. 궁금한 점 있으면 댓글 남겨주세요.
📌 실무에 바로 적용해 보고 피드백 공유해 주시면 감사하겠습니다

답글 남기기