사내 자동화 · 채용 + 마감 리스크
사내 반복 알림 자동화 — 마감 누락 리스크까지
면접 안내·HR·법인카드부터 제안서 마감까지, 여러 반복 알림을 한 엔진으로 병렬 자동화한 사내 봇. 일부는 반복 업무 시간을 줄이고, 일부는 '마감·일정 누락으로 인한 기회 손실'을 막습니다 — 후자가 이 봇의 가장 큰 가치입니다.

문제
면접 안내나 제안서 마감처럼 놓치면 손실이 큰 일정(면접 노쇼·사업 참여 기회 상실)을 담당자가 수동으로 챙기다 보니 누락·착오·담당자별 편차가 생겼습니다. 흩어진 캘린더·시트를 매일 사람이 확인하는 구조 자체가 리스크였습니다.
접근
캘린더·Google Sheet에서 일정을 매일 자동 수집 → 유형별 D-day 패턴으로 발송 대상만 추출 → 메신저로 1:1 발송합니다. 채용은 면접 일정을 취합해 면접관·지원자 당일 안내를, 제안사업은 각 담당자의 Google Sheet에서 제안서 마감일을 자동 추출해 3일 전부터 알림합니다. OS 스케줄러로 무인 배치하고, 메시징 모듈은 알림 유형(면접·마감·HR 등)별로 재사용합니다.
결과
면접 안내 누락·일정 착오를 줄이고, 제안서 마감 누락에 따른 사업 기회 상실 위험을 낮춥니다. 면접 당일 안내만으로도 월 2~3시간의 반복 업무를 절감하지만, 핵심 가치는 '놓치면 큰 사고'를 줄이는 데 있습니다. 동일 모듈을 다른 알림으로 재활용해 두 번째부터 빠르고 저렴하게 확장합니다.
Architecture
어떻게 동작하는가
- 01일정·마감 수집Calendar API · Sheets API
면접 일정은 캘린더에서, 제안서 마감일은 각 담당자 Google Sheet에서 자동 수집합니다.
- 02D-day · 이벤트 필터
알림 유형별 패턴으로 발송 대상만 추출합니다.
- 03메신저 1:1 발송Playwright
브라우저 자동화 어댑터입니다. 시크릿·프로파일은 알림별로 격리합니다.
- 04무인 배치 실행OS Scheduler
정해진 시각에 자동 실행하며, 담당자 개입이 없습니다.
- 05운영 대시보드 · 로그PyWebView · Sheets API
단계별 진행 + 발송 로그를 한 화면에서 봅니다.
조회 → 필터 → 발송 → 무인 배치. 메시징 모듈을 알림 유형별로 재사용해 도메인을 계속 확장합니다.
Decisions · 4
왜 이렇게 설계했는가
기술 선택의 근거와 트레이드오프 — 코드 대신 의사결정으로 설계를 설명합니다.
?이 자동화의 가치를 어떻게 볼까 — 시간 절감인가, 사고 예방인가?
- 선택
- 둘 다 — 단 마감 누락처럼 '놓치면 큰일'인 알림은 신뢰성을 최우선으로
- 근거
- 여러 알림을 한 엔진으로 병렬 운영합니다. 어떤 건 반복 시간을 줄이고, 어떤 건(제안서 마감 등) 누락 시 손실이 절감 시간으로 환산되지 않습니다. 그래서 후자는 매일 빠짐없이 정확히 도는 신뢰성에 초점을 뒀습니다.
- 트레이드오프
- 기능 욕심보다 누락 0·동작 신뢰성 우선 — 단순하지만 매일 정확히 도는 구조로 설계했습니다.
?메신저 공식 API vs 브라우저 자동화 어댑터?
- 선택
- Playwright 브라우저 자동화로 사내 메신저 1:1 발송
- 근거
- 담당자가 실제 쓰던 메신저 채널에 그대로 붙여, 사람이 보내던 1:1 메시지를 자동화로 재현합니다. 별도 봇·승인 절차 없이 기존 운영 흐름을 그대로 자동화합니다.
- 트레이드오프
- 메신저 UI 변경에 취약해 유지보수가 필요합니다. 대신 공식 API가 없는 채널에도 즉시 적용합니다.
?알림마다 새로 만들기 vs 재사용 모듈?
- 선택
- 메시징 모듈을 알림 유형(마감·HR·카드)에 재사용 가능한 컴포넌트로 분리
- 근거
- 첫 알림(입찰 마감) 이후 HR 오프보딩·법인카드도 같은 '조회→필터→발송' 골격이 반복됩니다 — 모듈화로 두 번째 알림부터 빠르고 저렴하게 추가합니다.
- 트레이드오프
- 초기 추상화 비용이 듭니다. 대신 도메인 확장 시 한계비용이 급감합니다.
?클라우드 호스팅 vs 로컬 + OS 스케줄러?
- 선택
- 로컬 데스크톱 앱 + OS 작업 스케줄러 무인 배치
- 근거
- 사내 계정·브라우저 세션을 그대로 쓰고 외부 호스팅 없이 운영해 보안·비용 부담을 최소화합니다.
- 트레이드오프
- 해당 PC가 켜져 있어야 합니다. 사내 상시 워크스테이션엔 적합합니다.
Gallery · 4
실제 화면

01메인 대시보드 — 면접 리마인더 · 입찰 마감 · 작동 테스트 · 법인카드 발급 · 퇴사자 계정 정리, 5개 알림 작업이 한 화면에 있습니다. 하단에서 발송 로그 + 로그인 유지 상태를 확인합니다. 
02각 알림마다 실행 시각·요일을 따로 운영합니다. OS 작업 스케줄러와 연동되어 무인 배치로 매일 자동 실행합니다. 
03입찰 마감 알림 편집 — 캘린더 키워드, 조회 범위(D-3 / D-Day), 수신자 리스트, 발송 채널까지 운영자가 직접 조정할 수 있습니다. 
04법인카드 발급 알림 편집 — 동일 모듈을 다른 알림에 재사용합니다. 변수([이름]·[입사일]·[3개월차D-n] 등) 기반 템플릿 + 플로우 메신저 자동화 채널을 제공합니다.
Tech · 7
사용 기술
구현: AI (Claude 등) · 구조 결정과 검증: Ray Moon
- Python
- Calendar API
- Playwright
- OS Scheduler
- PyWebView
- Directory API
- Sheets API
다른 케이스도 같은 (문제 → 접근 → 결과 → 아키텍처 → 의사결정) 구조로 정리되어 있습니다.
← 케이스 목록 보기