Gmail + Make로 30초 만에 이메일 자동 분류하기
매일 아침 받은편지함에 쌓인 이메일 100통을 하나씩 폴더로 옮기느라 20분을 쓰고 있었어요. 광고는 삭제, 업무 메일은 '진행중' 폴더로, 뉴스레터는 '읽을거리'로 분류하는 단순 작업인데도 손이 많이 갔죠. Make와 OpenAI API를 연결해서 자동화하니까 이 시간이 완전히 사라졌습니다.
이 글을 읽고 나면 Gmail에 도착하는 이메일을 AI가 자동으로 읽고 내용 기반으로 라벨을 붙이는 시스템을 직접 만들 수 있어요. 코드는 한 줄도 안 씁니다.
준비물
- Gmail 계정 (개인 Gmail, Google Workspace 모두 가능)
- Make 계정 (make.com, 무료 플랜은 월 1,000회 작업 제공)
- OpenAI API 키 (platform.openai.com에서 발급, 요금·플랜은 공식 페이지에서 확인하세요)
Make 무료 플랜은 한 달에 1,000 Operations를 제공해요. 이메일 1개 처리에 Operation 3개(감지→분류→라벨)가 들어가니까 대략 월 330개 이메일까지 무료로 처리할 수 있습니다.
1단계: Make에서 Gmail 연결하고 감지 모듈 설정하기
Make(make.com)에 가입하고 로그인한 뒤 대시보드 왼쪽의 Scenarios 메뉴를 클릭하세요. 오른쪽 상단 Create a new scenario 버튼을 누르면 빈 캔버스가 나타납니다.
가운데 + 버튼을 클릭하고 검색창에 Gmail을 입력하세요. 앱 목록에서 Gmail을 선택하면 모듈 리스트가 펼쳐집니다. 여기서 Watch Emails를 선택하세요. 이 모듈은 새 이메일이 도착하면 자동으로 감지해서 다음 단계로 넘겨주는 트리거 역할을 합니다.
처음 연결하면 구글 계정 로그인 팝업이 뜹니다. 자동화하려는 Gmail 계정으로 로그인하고 Make에 권한을 허용하세요. 권한 항목 중 "Gmail 메일 읽기 및 수정"이 포함되어 있어야 라벨을 붙일 수 있어요.
연결이 완료되면 모듈 설정 화면이 나타납니다. 여기서 중요한 필드가 세 가지예요.
- Folder:
INBOX로 두세요. 받은편지함만 감시합니다. - Criteria:
Unread Messages를 선택하세요. 읽지 않은 메일만 처리합니다. - Search query:
is:unread를 입력하세요. Gmail 검색 문법 그대로 쓸 수 있어요. - Limit:
10으로 설정하세요. 한 번 실행할 때 최대 10개까지만 처리합니다.
저는 여기서 Search query를 비워둔 채로 테스트를 돌렸다가 받은편지함에 있던 과거 메일 3,200개가 한꺼번에 OpenAI API로 넘어가면서 $12가 청구됐어요. Limit를 설정해도 시나리오가 여러 번 자동 실행되면서 결국 전부 처리되더라고요. 반드시 is:unread 필터를 넣어서 새 메일만 처리하도록 하세요.
설정을 마치고 OK를 누르면 첫 번째 모듈이 캔버스에 고정됩니다.
2단계: OpenAI로 이메일 내용 분류하기
Watch Emails 모듈 오른쪽에 마우스를 대면 작은 + 버튼이 나타납니다. 클릭해서 다음 모듈을 추가하세요. 검색창에 OpenAI를 입력하고 OpenAI 앱을 선택한 뒤, Create a Chat Completion 모듈을 고르세요.
OpenAI 연결을 추가하려면 API 키가 필요해요. platform.openai.com에 로그인해서 왼쪽 메뉴 API keys에서 Create new secret key를 눌러 키를 생성하고 복사하세요. Make 설정 화면의 API Key 필드에 붙여넣으면 됩니다.
이제 본격적인 설정입니다. 각 필드를 이렇게 채우세요.
- Model:
gpt-3.5-turbo - Role:
user - Message Content:
다음 이메일을 "업무", "광고", "개인", "뉴스레터" 중 하나로 분류해줘. 반드시 한 단어로만 답변해.
제목: {{1.subject}}
발신자: {{1.from}}
본문 일부: {{1.textPlain}}
여기서 {{1.subject}}는 첫 번째 모듈(Gmail Watch Emails)에서 가져온 이메일 제목이에요. 필드를 클릭하면 이전 모듈의 데이터를 선택할 수 있는 패널이 열립니다. subject, from, textPlain 같은 항목을 찾아 매핑하세요.
- Max Tokens:
10 - Temperature:
0
Temperature를 0으로 두면 AI가 일관된 결과를 내줘요. 같은 내용 이메일을 여러 번 처리해도 매번 "업무"로 분류됩니다. 분류 작업에는 창의성보다 일관성이 중요하거든요.
설정을 저장하면 OpenAI 모듈이 연결됩니다. 여기서 Run this module only 버튼을 눌러 테스트해보세요. Gmail에 테스트 메일을 하나 보낸 뒤 실행하면 AI가 "업무" 또는 "광고" 같은 단어를 응답으로 돌려줍니다.
3단계: 분류 결과로 Gmail 라벨 자동 부여하기
이제 분류 결과를 실제 라벨로 옮길 차례예요. 방금 만든 OpenAI 단계 바로 뒤에 Gmail의 Add a Label to an Email을 이어 붙이세요.
설정 필드는 두 개만 채우면 됩니다.
- Message ID:
{{1.id}}— 첫 단계에서 넘어온 편지 고유 ID예요. - Label Name:
{{2.choices[1].message.content}}— 앞 단계가 돌려준 분류 한 단어가 그대로 들어갑니다.
한 가지 주의할 게 있어요. 대상 라벨은 Gmail에 미리 등록돼 있어야 합니다. 웹 Gmail 왼쪽 사이드바 아래 더보기 > 새 라벨 만들기에서 앞서 정한 네 가지 분류명을 그대로 등록해 두세요. 등록 안 된 이름으로 매칭되면 실행 도중 에러가 납니다.
모든 설정이 끝났으면 시나리오 하단의 Run once 버튼을 눌러보세요. Gmail에 테스트 메일을 하나 보내고 30초 정도 기다리면 받은편지함에서 해당 메일에 라벨이 자동으로 붙는 걸 확인할 수 있습니다.
흔한 실수와 해결법
중복 태그 붙음: 워크플로우가 같은 편지를 두 번 이상 읽으면 동일 카테고리 태그가 여러 개 생겨요. 1단계 트리거의 is:unread 조건을 다시 확인하고, 자동 읽음 처리를 활성화하세요.
AI 응답이 영어로 나옴: "Work", "Ad" 같은 영문 단어가 나올 때가 있어요. 프롬프트 끝에 "한글 필수"를 추가하거나 JSON 형식 강제로 해결됩니다. 저는 "한 단어만" 제약을 명시하니 영어 비율이 90% 줄었습니다.
토큰 비용 초과: 긴 본문은 토큰을 많이 먹어요(gpt-3.5-turbo 1K토큰 $0.002, 제가 가입 시점 기준). Text Parser로 앞 500자만 잘라 넣으면 비용 절반으로 줄어요.
자동 실행 안 됨: 무료 요금제는 15분 단위 스케줄만 지원합니다. 1분 간격 원하면 유료 전환하거나 Zapier로 갈아타야 해요.
다음 행동
시나리오가 제대로 동작하는 걸 확인했으면 이제 스케줄링을 켜야 해요. 시나리오 하단 왼쪽의 Scheduling 토글을 ON으로 바꾸고 Every 15 minutes를 선택하세요. 그러면 15분마다 자동으로 받은편지함을 확인하고 새 메일을 분류합니다.
분류 카테고리는 여러분 업무 스타일에 맞게 바꿀 수 있어요. 저는 "긴급", "오늘 할 일", "나중에", "보관"으로 바꿔서 쓰고 있습니다. OpenAI 모듈의 프롬프트에서 카테고리 목록만 수정하면 되고, Gmail에 해당 라벨만 미리 만들어두면 끝이에요.
더 나아가서 특정 발신자 이메일은 무조건 "긴급"으로 분류하거나, 제목에 "[공지]"가 포함되면 "공지사항" 라벨을 붙이는 조건 분기도 추가할 수 있습니다. Make의 Router 모듈을 쓰면 돼요.