ONE STEP AWAY

근태관리 자동화(1.2.기획 구체화) 본문

n8n 자동화 워크플로우/근태관리

근태관리 자동화(1.2.기획 구체화)

jeong0722 2025. 11. 20. 14:54

1. 문제정의

현재 사내 근태 관리는 직원들이 Slack 스레드에 '출근완', '퇴근완' 직접 입력하여 수동으로 확인하는 방식입니다. 이러한 방식은 데이터 관리의 비효율성을 초래하며, 체계적인 근태 내역 확인 및 데이터 누적 관리가 어렵습니다. 이에 근태 확인 절차를 자동화하여 데이터 관리의 효율성을 높이고자 본 프로젝트를 기획하게 되었습니다.

 

Before: 스레드 확인하여 직접 엑셀에 입력

-> After: 사용자 정보를 자동으로 엑셀 시트에 적재

 

(1) What - 무엇을?

Slack 기반의 근태 관리(출퇴근) 프로세스를 자동화하는 봇을 개발합니다.

 

(2) Why - 왜?

  • 문제점: 현재 직원이 Slack 스레드에 수동으로 '출근완', '퇴근완'을 입력하는 방식은 데이터 관리가 비효율적입니다.
  • 목표: 체계적인 데이터 누적 관리를 위하여, 근태 확인 절차를 자동화하여 데이터 관리의 효율성을 높입니다.

 

(3) How - 어떻게?

  1. 연동: n8n 자동화 툴과 Slack API를 연동합니다.
  2. 트리거: 사용자가 Slack 출퇴근 채널에 특정 키워드('출근완' 등)를 입력합니다.
    1. 실행: n8n이 해당 메시지의 사용자 정보, 기록 시각, 스레드 내용 등을 수집합니다.
  3. 저장: 수집된 데이터를 Google Sheets에 자동으로 추가하여 누적시킵니다.

 

(4) Result - 결과

  • 산출물: 다음과 같은 항목이 포함된 Google Sheets 근태 관리 데이터베이스가 생성됩니다.
    • 날짜, 사용자명, 출근시각, 퇴근시각, 휴게시간, 근무시간, 기타(특이사항)

 

  • 기대효과: 근태 내역이 자동으로 누적되어, 데이터 관리가 체계화되고 수동 관리의 비효율성이 제거됩니다.

 

🌸유사 케이스 - 봇 개발

[슬랙 커뮤니티 활성화를 위한 봇 사용 사례]

https://daco2020.tistory.com/812

  • 글 제출 내역 관리 (0회 제출, 날짜, 링크)
  • 글 검색 (키워드, 작성자 이름, 카테고리 기준으로 검색 가능)
  • 유용한 링크 북마크
  • 메시지 저장 ($ 키워드로 메시지를 모아서 관리 가능)

[커뮤니티 활성화 및 유저 참여율 증가 유도를 위한 개인화 메시지 봇]

https://geultto.github.io/blog/bokjumoney-message/

→ 개별 사용자에게 개인 메시지로 자신의 활동 내역을 요약 분석하여 전송

  • 활동 패턴에 따른 유저 분류
  • 활동 패턴에 따른 활동 점수 부여
  • 활동 정보에 따른 가중치 부여 (커피챗, 구독, 북마크, 댓글, 이모지)
  • 데이터 마트 생성 - 메시지 템플릿 개선 - 개인 메시지 발송(with python)
  • 개인 메시지 발송 전과 후를 비교하여 가설에 따른 활동 및 참여율 비교

2. 예상 사용자/부서

  • Slack을 이미 도입했거나 도입하려는 조직.
  • 인사팀 (HR): 전사 근태 내역을 취합하고 급여 정산, 휴가 관리에 활용합니다.
  • 각 팀 리더/매니저: 팀원의 출퇴근 현황을 파악하고 리소스를 관리합니다.

3. 기술 검토

  • 자동화 툴: n8n (Cloud 또는 Self-Hosted)
  • 주요 사용 노드 (n8n):
    • Slack Trigger (또는 Webhook): 특정 채널의 '출근완', '퇴근완' 키워드를 실시간으로 감지합니다.
    • Set / Function Node: 수집된 데이터(사용자 ID, 시간 등)를 Google Sheets 형식에 맞게 가공합니다. (예: 사용자 ID를 이름으로 변환)
    • Google Sheets Node: 가공된 데이터를 지정된 Google Sheets 문서에 행(row)으로 추가합니다.
  • 연동 API:
    • Slack API (Bot Token): 메시지 수신 및 사용자 정보 조회(users.info)
    • Google Sheets API : 시트 데이터 쓰기
  • 데이터베이스: Google Sheets

4. 사용 방법

  • 구현 시 준비사항
    1. 분석하고자 하는 커뮤니티 (슬랙 워크스페이스)
    2. n8n 클라우드 또는 셀프호스팅 계정
  • 관리자 (최초 1회 설정):
    1. 데이터를 누적할 Google Sheets 문서를 생성하고, 1행에 '날짜', '사용자명' 등 컬럼 헤더를 입력합니다.
    2. n8n 워크플로우를 생성하고, Google Sheets 및 Slack 노드에 API 인증(로그인/자격증명)을 완료합니다.
    3. n8n 워크플로우의 Google Sheets 노드에 위에서 생성한 문서 ID와 시트 이름을 지정합니다.
    4. 워크플로우를 활성화(Active)시킵니다.
    5. Slack 근태 관리 채널에 생성한 봇을 초대합니다.
  • 사용자 (임직원):
    • 지정된 Slack 채널에서 정해진 키워드('출근완', '퇴근완')만 입력하면 됩니다. (별도 설정 불필요)

5. 레퍼런스