Project
사내 개인화 공지 발송 시스템
스프레드시트 기반으로 개인별 맞춤 메시지를 슬랙 DM으로 대량 발송하고, 읽음 확인까지 추적할 수 있는 사내 공지 시스템입니다. 유료 서비스(BulkSend 등)를 대체하여 내부 도구만으로 구현했습니다.
Details
Tags
전체 공지는 쉽습니다. 어려운 것은 "같은 내용인데 사람마다 조금씩 다른 메시지"를 보내는 일입니다. 연봉 안내, 복지 포인트 잔액, 평가 일정처럼 개인별로 달라지는 정보가 들어가는 순간, 단체 메시지로는 해결되지 않습니다.
배경
사내에서 개인화된 안내를 보내야 하는 상황이 자주 있었습니다. 그때마다 담당자가 시트에서 이름과 값을 확인하고 하나씩 Slack DM을 보내거나, 유료 발송 서비스를 검토하는 상황이 반복되었습니다. 이후 아기고래(babywhale)에서 BulkSend라는 Slack 공지봇 서비스가 출시되었는데, 이미 올해 초 평가보상제도 운영부터 자체 개발한 시스템을 활용하고 있었습니다.
설계 포인트
Google Sheets에 수신자 목록과 변수 데이터를 정리하면, Apps Script가 메시지 템플릿에 개인별 값을 채워 프렌즈봇을 통해 Slack DM으로 발송하는 구조입니다. 담당자는 시트만 채우면 되고, 발송은 버튼 하나로 실행됩니다.
메시지에 확인 버튼을 포함시켜 수신자가 클릭하면 읽음 여부를 추적할 수 있습니다. 누가 메시지를 확인했는지 시트에서 바로 파악할 수 있어, 미확인자에 대한 후속 안내도 수월해졌습니다.
메시지 템플릿과 데이터를 완전히 분리했기 때문에, 새로운 안내 유형이 생겨도 템플릿만 추가하면 됩니다. 같은 시스템으로 HR 안내, 복지 안내, 제도 변경 공지 등 다양한 용도에 재사용하고 있습니다.
개발 과정
Gemini CLI를 활용해 약 2시간 만에 기본 기능을 완성했습니다. 기술적으로 복잡한 시스템은 아니지만, 유료 서비스 없이 필요한 수준의 개인화 발송과 읽음 확인 기능을 모두 갖출 수 있었습니다.