brunch

매거진 이슈잇슈

You can make anything
by writing

C.S.Lewis

by 코코 Jan 26. 2023

자동화 끝판왕 슬랙봇 만들기(입문)

구글스프레드시트 + Apps Script + 슬랙으로 채용운영 효율 개선

채용 업무를 하다보면(아마 채용업무 뿐만 아니라 대부분의 일이 그렇듯)

몇가지 불편함, 번거로움이 존재하기 마련이다.


나는 채용 업무를 진행하면서 채용 데이터는 구글스프레드시트에 커뮤니케이션 도구는 슬랙을 주로 활용하는데 이 둘을 이어주는 슬랙봇을 활용하면서 약간의 자동화를 맛봤고 이후 활용만 잘한다면 채용은 물론이고 HR전체 아니 어떤 업무를 하던지 그 활용성은 무궁무진 할 것 같다는 확신이 들었다.


만약 구글워크스페이스(구글스프레드시트, 구글 드라이브 등등)와 슬랙을 활용하여 업무를 진행하고 계신 분들이라면 꼭 한 번 시도해는 것을 강력 추천!!!








준비물 : 구글스프레드시트, 슬랙

(엔터프라이즈, 유료계정아니어도 괜찮다 무료계정도 가능)



1. 구글스프레드 시트를 준비하기

채용 업무를 하고 있기 때문에 구글스프레드 시트를 사용해서 슬랙에 알림을 전달해보려고 한다


각 표지션별로 Raw Data가 있고 각 포지션별로 지원자의 합계를 보여주는 표가 있는데

포지션별 지원 현황에 대해서 슬랙 방에 알림을 줄 예정이다


준비 끝-


2. 슬랙채널 준비하기

워크스페이스, 채널, 다이렉트 메시지 어떤 형태로도 가능하지만 보통은 채널에 알림을 주는게 일반적이긴 하니까 이번엔 채널로 알림을 전달해보자












기업에서는 유료계정을 많이 사용할테지만 무료도 사용 가능하기 때문에 테스트로 무료계정으로 워크스페이스와 채널을 생성했다


3. 슬랙봇 생성하기

https://api.slack.com/apps/

슬랙 api페이지에 접속하여 슬랙봇을 생성해보자

3-1> Create New App 버튼을 클릭하여 새로운 앱을 만든다


3-2> From scratch를 선택


3-3> 앱 이름과 해당 알림을 받을 채널이 속한 워크스페이스를 선택한다

(일단 채용봇으로 정하고, 나중에 수정도 얼마든지 가능)


채용봇이 생성된 모습이다. 앞으로 이 페이지를 통해서 슬랙봇의 이름, 로고, 상세 설명, 세부 설정 등 여러가지를 바꾸고 조정할 수 있다.

(개인계정이라서 별도의 승인 없이 생성이 되었지만 슬랙봇을 별도의 팀에서 관리하는 기업의 경우에 일부 승인 절차가 필요할 수도 있다, 보안팀에게 빨리 승인해달라고 요청을 해아할수도)



4. 슬랙봇 기본 설정하기

4-1> Basic Information-Add features-Bots


4-2> App Display Name - Edit을 클릭하여 설정을 변경한다


4-3> 슬랙워크스페이스에서 봇의 이름이 어떻게 보일지를 설정하고 

username을 설장한다. 나중에 변경 가능하니 아.무.거.나. 입력


4-4> Basic Information-Add features-Incoming Webhooks


4-5> Incoming Webhooks의 전원을 On으로 변경한다

(이는 슬랙 채널에 메시지를 쏴주기 위한 설정에 해당한다)


4-6> 하단에 Add New Webhook to Workspace를 클릭


4-7> 메시지가 전송되어야 할 채널을 선택하고 허용 버튼 클릭


4-8> Webhook URL이 생성된 모습을 확인할 수 있다. 

이 URL은 정말 소듕소듕한 URL이니 꼭 고이고이 간직해두길 이따가 중요한 곳에 사용될 예정.


4-9> Basic Information 가장 하단 부분 Display Information부분을 채워 넣어준다

(앱 아이콘, 설명, 배경 색상 지정 등 앱이 하는 일들이나 관련 사항을 다른 사람들이 알기 쉽도록 기재한다)



5. Google Apps Script 코드 작성하기

자 이제 슬랙에서 해줘야하는 셋팅은 모두 끝났고 구글스프레드시트에서 슬랙으로 알림을 전달하기만 하면 된다 전달하는 역할을 도와줄 Google Apps Script를 소개한다. 겁먹을 것 없다. 정말 쉽다. 침착해.. 침ㅊ..


5-1> 구글스프레드시트 확장프로그램-Apps Script를 클릭하여 열어준다


5-2> 문서 이름을 변경한다 보통 해당 시트의 이름과 동일하게 맞추는 게 알아보기가 편하다

이제 오른쪽에 보이는 편집기 화면에 코드를 작성해야하는데 어렵지 않다 정말 쉽다

하나하나 차분하게 따라오면 된다


Code-1> 일단 sendMessage라는 함수를 만들어준다 모르면 일단 따라서 타이핑을 한다.

우리가 만들어준 구글 시트를 불러와서 A:G까지의 범위만 가지고 온다음

아까 소중했던 우리의 URL 여기에 붙여넣어주면 된다


Code-2> 보내야하는 메시지를 만들어주는 부분이다

텍스트는 ""사이에 넣어주면되고 변수는 +로 합쳐주면 되는데

data[1][6] 이런 형태의 부분이 스프레드시트의 셀 변수에 해당하는 부분

(1번째 행에 6번째 열의 변수를 가져온다는 뜻, 우리가 만든 시트로 따지자면 iOS개발 지원자 2에 해당)

*참고로 프로그래밍은 모두 0번째 부터 시작한다


Code-3> 슬랙으로 발송할 메시지를 설정해주는 부분

(사실 이부분은 그냥 타이핑하면 된다. 메시지를 뿌려주는 규약에 대한 설정을 해주는 부분인데 제대로 이해하려면 네트워크를 알아야함


Code-4> 슬랙으로 메시지를 뿌려주는 부분(보내주라 얍!!)


전체 완성된 코드



5-3> 상단에 실행버튼 클릭-권한 검토 클릭


5-4> 고급 클릭



5-5> 안전하지 않음 클릭



5-6> 허용 클릭




드디어 메시지가 발송된 것을 확인할 수 있다 :)





6. 트리거 설정하기

그럼 우리가 매일 아침 실행버튼을 여기 와서 클릭해줘야 알림이 오는건가?

아니다 그건 너무 노가다.. Google Apps Script를 너무 무시했다..




6-1> 좌측 끝부분에 트리거 클릭


6-2> 우측 하단 부분에 트리거 추가 클릭


6-3> 실행할 함수에 우리가 만들어준 sendMessage함수를 선택해주고

이벤트 소스는 시간 기반, 트리거 기반 시간 유형 선택은 일단위 타이머,

시간 선택은...오전? 보통 오전 10시 정도에 출근하니 그즈음..으로..!

저장을 눌러주면(?)


앞으로 매일 오전 10시에 우리가 만들어준 sendMessage함수가 실행되면서 슬랙으로 알림이 오게 될 것!

이렇게 10분짜리 분량의 간단한 슬랙봇을 만들어봤지만 이정도 만들어봤으면 분명 느껴질것이다.

활용성은 무궁무진 할 예정이라는 거..

메시지 디자인 방법, 채널 말고 다이렉트 메시지를 보내는 방법, 발송 조건 생성 등등 좀 더 고도화된 활용법을 다뤄봐도 좋을 것 같다..!




이상 끝 - 



브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari