매주 월요일 아침이면 어김없이 반복되는 일이 있었어요. 지난주 실적을 정리해서 팀원 12명에게 이메일로 보내는 일이었죠. 엑셀에서 숫자 확인하고, 메일 열어서 주소 하나하나 복사하고, 본문에 숫자 옮겨 적고... 매번 15분 넘게 걸렸는데, 어느 날은 급하게 처리하다가 팀장님 메일 주소를 빠뜨린 채 발송한 적도 있었습니다. 그날 이후로 "이거 자동화할 방법 없을까" 하고 검색하다가 찾은 게 바로 구글 시트 앱스 스크립트(Google Apps Script)였어요. 오늘은 구글 시트만 있으면 코딩 지식이 거의 없어도 매일 정해진 시간에 업무 메일을 자동으로 발송하는 방법을 정리해보려고 합니다. 혹시 여러분도 매일 아침 같은 메일을 손으로 복사 붙여넣기 하고 계신가요?
반복되는 업무 메일, 왜 자동화해야 할까?
솔직히 말하면 처음엔 "이 정도는 그냥 손으로 하지"라고 생각했어요. 그런데 계산해보니 하루 15분씩 주 5일이면 한 달에 5시간, 1년이면 60시간 가까이를 단순 반복 작업에 쓰고 있더라고요. 여기에 실수로 인한 재발송, 담당자 변경 시 주소록 업데이트 누락 같은 부수적인 비용까지 더하면 절대 작은 숫자가 아니었습니다.
게다가 사람이 직접 하는 작업은 항상 실수 확률이 존재합니다. 제 경험상 바쁜 시기일수록, 예를 들어 월말 마감이나 분기 보고 시즌에는 오히려 실수가 더 잦아졌어요. 이런 반복 업무야말로 자동화가 가장 효과를 발휘하는 영역입니다. AI 도구로 문서를 요약하는 것도 좋지만, 애초에 "매일 반복되는 발송 작업" 자체를 없애버리는 게 더 근본적인 해결책이더라고요.
구글 앱스 스크립트란? 코딩 몰라도 되는 이유
구글 앱스 스크립트는 구글 시트, 문서, 지메일 같은 구글 서비스를 자바스크립트 기반 코드로 제어할 수 있게 해주는 무료 도구입니다. 별도 프로그램 설치 없이 구글 시트 메뉴에서 바로 실행할 수 있고, 신용카드 등록이나 유료 결제도 전혀 필요 없어요.
핵심 함수는 단 한 줄입니다.
MailApp.sendEmail("받는사람@example.com", "제목", "본문 내용");
이 한 줄만 알아도 이메일 자동 발송의 80%는 끝난 셈이에요. 처음엔 저도 "스크립트"라는 단어에 겁을 먹었는데, 막상 열어보니 엑셀 함수 몇 개 배우는 것과 크게 다르지 않았습니다. 구글 워크스페이스의 다양한 AI 기능과 비교해봤을 때도, 이렇게 직접 자동화 로직을 짜는 방식이 오히려 세밀하게 제어하기 좋았어요. 이 부분은 예전에 노션 AI와 구글 워크스페이스 제미나이를 비교했던 글에서도 다룬 적이 있는데, 관심 있으시면 함께 참고하시면 좋을 것 같아요.
실전: 매일 자동 이메일 발송 스크립트 만들기
실제로 만드는 과정은 생각보다 단순합니다.
- 구글 시트를 하나 열고, A열에 받는 사람 이메일 주소, B열에 이름 등 필요한 정보를 정리합니다.
- 상단 메뉴에서 확장 프로그램 → Apps Script를 클릭합니다.
- 아래와 같은 형태로 함수를 작성합니다.
function sendDailyReport() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getRange("A2:B13").getValues(); // 12명 기준
for (var i = 0; i < data.length; i++) {
var email = data[i][0];
var name = data[i][1];
var subject = "오늘의 업무 리포트";
var body = name + "님, 오늘도 좋은 하루 보내세요!\n\n오늘의 리포트 내용을 확인해주세요.";
MailApp.sendEmail(email, subject, body);
}
}
- 저장 후 처음 한 번은 직접 실행 버튼을 눌러 권한 승인을 해줍니다. 구글 계정 접근 권한을 묻는 창이 뜨는데, 여기서 "고급" → "이동"을 눌러 허용해주면 됩니다.
이렇게만 해도 12명에게 보내던 15분짜리 작업이 버튼 클릭 한 번, 혹은 완전 자동이라면 클릭 없이도 끝나게 됩니다.
트리거 설정으로 완전 자동화하기
여기서 한 단계 더 나가면 사람이 버튼을 누를 필요조차 없어집니다. Apps Script 화면 왼쪽의 시계 모양 트리거 메뉴에서 "트리거 추가"를 누르고, 실행할 함수(위 예시에서는 sendDailyReport)를 선택한 뒤 "시간 기반 → 일 단위 타이머 → 원하는 시간대(예: 오전 8시~9시)"를 지정하면 끝입니다.
이렇게 설정해두면 정말로 매일 아침 정해진 시간에 자동으로 메일이 발송됩니다. 제가 이 방식으로 바꾼 뒤로는 월요일 아침 리포트 발송을 까먹은 적이 단 한 번도 없었어요. 다만 한 가지 주의할 점은 발송 한도입니다. 일반 개인 구글 계정(Gmail)은 하루 100통, 구글 워크스페이스 유료 계정은 요금제에 따라 하루 1,500통까지 발송할 수 있습니다. 팀 전체에 대량으로 보내는 게 아니라면 개인 계정으로도 충분합니다.
자주 만나는 오류와 해결법
실제로 설정하다 보면 몇 가지 막히는 지점이 있습니다.
- "권한이 없습니다" 오류: 처음 실행 시 권한 승인을 건너뛰었을 가능성이 높습니다. 스크립트 편집기에서 함수를 다시 한번 수동으로 실행해 권한 창을 끝까지 승인해주세요.
- 트리거가 실행되지 않는 경우: 트리거 메뉴에서 최근 실행 기록을 확인하면 실패 원인이 로그로 남습니다. 대부분 시트 범위(Range) 지정이 잘못되었거나, 빈 셀이 포함된 경우입니다.
- 한도 초과 오류: 앞서 말한 일일 발송 한도를 넘기면 다음 날까지 발송이 막힙니다. 대량 발송이 필요하다면 워크스페이스 유료 플랜으로 전환하는 것을 고려해보세요.
코딩이 부담스럽다면? 노코드 자동화 도구도 있어요
앱스 스크립트가 그래도 부담스럽다면 노코드 자동화 도구를 쓰는 방법도 있습니다. 예를 들어 재피어(Zapier)는 무료 플랜에서 월 100개의 작업(task)까지 무료로 자동화를 실행할 수 있고, 더 많은 자동화가 필요하면 스타터 플랜이 월 19.99달러부터 시작됩니다. 메이크(Make)는 무료 플랜에서 월 1,000회의 오퍼레이션을 제공하고, 유료 플랜은 월 9달러부터 시작하니 예산에 맞춰 선택하기 좋아요. 코드 한 줄 없이 드래그 앤 드롭으로 "시트에 새 행이 추가되면 메일 발송" 같은 흐름을 만들 수 있다는 게 장점입니다. 저는 개인적으로는 앱스 스크립트 쪽이 더 세밀하게 커스터마이징하기 좋아서 선호하지만, 처음 자동화를 시작하는 분이라면 노코드 도구부터 익혀보는 것도 나쁘지 않은 선택이라고 생각해요.
마무리하며
정리하면, 구글 시트와 앱스 스크립트만 있으면 별도 비용 없이도 매일 반복되는 이메일 발송 업무를 완전히 자동화할 수 있습니다. MailApp.sendEmail 한 줄로 기본 발송을 익히고, 트리거로 시간을 지정해두면 그 다음부터는 신경 쓸 일이 없어져요. 하루 15분이라도 쌓이면 1년에 60시간이라는 걸 생각하면, 한 번 설정해두는 수고가 결코 아깝지 않더라고요. 혹시 여러분은 업무에서 매일 반복하는 작업 중에 자동화해보고 싶은 게 있으신가요? 댓글로 어떤 반복 업무가 가장 귀찮으신지 알려주시면, 다음 글에서 그 부분을 다뤄보겠습니다.