매일 Gmail로 들어오는 수많은 이메일, 손으로 하나하나 정리하기 힘드시죠? 이번 글에서는 Gmail과 Google Sheets를 연동하여 메일을 자동으로 정리하고 시각화하는 업무용 대시보드를 만드는 방법을 소개합니다.
프로그래밍을 몰라도 따라할 수 있도록 Apps Script를 활용한 자동화 과정을 A부터 Z까지 친절하게 설명드릴게요.
1. 준비물
- Google 계정 (Gmail + Google Sheets)
- Google Apps Script 사용 권한
- 자동 정리할 메일 규칙 (예: 제목에 ‘고객문의’ 포함)
2. 구글 시트 문서 만들기
- Google Sheets에서 새 문서 생성
- 문서 제목: Gmail 대시보드
- 시트 이름을 Inbox로 변경
- A1~E1 셀에 아래 항목 입력:
- A열: 날짜
- B열: 발신자
- C열: 제목
- D열: 본문 요약
- E열: 원본 링크
3. Gmail 메일 자동 수집 스크립트 작성
- 상단 메뉴 → 확장 프로그램 > Apps Script 클릭
- 다음 코드 붙여넣기:
function importGmailToSheet() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Inbox");
var threads = GmailApp.search('subject:"고객문의" newer_than:7d'); // 최근 7일 '고객문의' 메일
var startRow = sheet.getLastRow() + 1;
threads.forEach(function(thread) {
var message = thread.getMessages()[0];
var date = message.getDate();
var from = message.getFrom();
var subject = message.getSubject();
var body = message.getPlainBody().slice(0, 100); // 100자 요약
var link = "https://mail.google.com/mail/u/0/#inbox/" + thread.getId();
sheet.appendRow([date, from, subject, body, link]);
});
}
위 코드는 제목에 "고객문의"가 포함된 최근 7일간의 메일을 읽고 시트에 자동으로 저장합니다.
4. 자동 실행 트리거 설정
- 좌측 시계 아이콘(⏰) 클릭 → 트리거 추가
- 함수: importGmailToSheet
- 이벤트: 시간 기반 → 1시간마다 실행
이제 매시간마다 Gmail을 체크해서, 새로운 메일이 오면 자동으로 시트에 기록됩니다.
5. 실시간 대시보드 만들기 (차트 시각화)
🎯 목표는?
우리가 만든 Inbox 시트에는 Gmail에서 수집한 메일들이 저장돼 있습니다.
각 메일은 아래와 같은 형태로 들어있죠:
날짜 발신자 제목 본문 요약 원본 링크
2025-04-03 | example@mail.com | 고객문의 | 링크 | |
2025-04-03 | other@mail.com | 환불요청 | 링크 | |
2025-04-04 | hello@mail.com | 문의합니다 | 링크 |
이제 하고 싶은 건 날짜별로 몇 개의 메일이 들어왔는지 숫자로 보여주는 것이에요.
그걸 바탕으로 꺾은선 그래프나 막대 그래프로 시각화하는 거죠.
✅ 어떻게 할까?
👉 이 작업은 새 시트에서
- 날짜별로 중복 없는 리스트 만들고 (UNIQUE 함수)
- **날짜별 메일 수를 세는 함수(COUNTIF)**를 사용하면 됩니다.
🧩 Step-by-Step 실습
✅ 1단계: 새 시트 만들기
- Inbox 시트 옆에 새 시트를 만듭니다.
- 이름을 Dashboard로 변경합니다.
✅ 2단계: 날짜별로 중복 없는 목록 만들기
📌 목적: Inbox 시트의 날짜(A열)에 있는 날짜들을 중복 없이 한 줄씩 가져오기
- Dashboard 시트의 A2 셀에 아래 수식을 입력:
=UNIQUE(Inbox!A2:A)
이렇게 하면 Inbox 시트의 날짜들 중 중복 없이 한 번씩만 가져옵니다.
(즉, 4월 3일에 5건이 있어도 “2025-04-03”은 한 줄만 나옴)
✅ 3단계: 날짜별 메일 수 세기
📌 목적: 각 날짜가 Inbox에 몇 번 등장했는지 세기
- Dashboard 시트의 B2 셀에 아래 수식을 입력:
=ARRAYFORMULA(COUNTIF(Inbox!A2:A, A2:A))
✔ 이 수식은 A열에 있는 날짜별로 Inbox 시트에서 몇 건의 메일이 있는지 자동으로 계산합니다.
✅ 4단계: 차트 만들기 (대시보드 시각화)
- Dashboard 시트에서 A열(날짜)과 B열(메일 수)을 블록 지정
- 상단 메뉴 → [삽입] > [차트]
- 꺾은선형(Line) 또는 막대형(Bar) 차트 선택
- 제목: "날짜별 메일 수" 또는 "Daily Email Volume"
이제 날짜별로 몇 건의 메일이 있었는지 한눈에 볼 수 있는 대시보드가 완성됩니다!
📌 예시 결과
날짜 메일 수
2025-04-03 | 5 |
2025-04-04 | 2 |
2025-04-05 | 7 |
→ 이 데이터를 바탕으로 그래프가 자동 생성됩니다
6. 확장 활용 예시
- GPT API 연동: 메일 본문 요약 자동 생성
- 특정 키워드 필터링: “환불”, “문의” 메일만 자동 정리
- 답변 지연 시간 측정: 고객응대 품질 분석
마무리
Gmail과 Google Sheets를 연동하면 복잡한 툴 없이도 실시간 메일 분석 + 업무 대시보드를 구현할 수 있습니다. 이 기능은 고객문의 대응, 팀원 이메일 모니터링, 개인 프로젝트 관리 등 다양한 분야에 활용 가능합니다.
한 번 만들어두면 수동 작업 없이도 자동으로 정리되므로 시간을 절약하고 업무 효율을 높이는 최고의 자동화 도구가 됩니다. 지금 바로 실습해보세요!