Slack Status 자동 동기화 (/settings sync)
집중요정과 Slack status를 연결하면, /start · /pause · /end를 입력할 때마다 본인 Slack status가 자동으로 바뀌어요. 동료들이 프로필만 봐도 지금 집중 중인지 알 수 있어요.
User Presence vs User Status
Slack에는 비슷해 보이지만 다른 두 개념이 있어요.
user presence (프로필 옆 초록 점)
현재 대화 가능 여부를 나타내요. 이 값을 봇이 건드리려면 슬랙 앱의 권한을 새로 요청해서 업데이트한 뒤 봇 재설치까지 필요해요.
user status (휴가 중·회의 중 같은 상태 설정)
각 유저가 한 번만 user token 사용을 허가하면, 봇이 재설치 없이도 status를 바꿀 수 있어요.
집중요정은 가볍게 도입할 수 있도록 user status만 건드리는 방향으로 디벨롭했어요.
사용 방법
1. /settings sync 입력
채널이나 DM에서 /settings sync를 입력하면 봇이 Slack status 동기화 안내 메시지를 보내요.
/settings sync메시지에는 /start, /pause, /end 시 status가 어떻게 바뀌는지 안내와 함께 권한 허용 버튼이 같이 떠요.
2. 권한 허용 버튼 누르기
버튼을 누르면 권한 승인 페이지로 이동해요.
3. 워크스페이스 선택 후 권한 허용
권한 승인 페이지에서 워크스페이스를 선택하고 권한을 허용하면, 연결 완료 페이지가 표시돼요.
상태 매핑
연결하면 다음 명령어 입력 시 Slack status가 자동 변경돼요. 익스텐션, App Home, 컨트롤 패널 버튼으로 해도 똑같이 바뀌어요.
| 명령어 | Slack status | 사라지는 시각 |
|---|---|---|
/start · /resume | 💻 집중 중 | 다음 상태로 바뀔 때 |
/pause | ☕ 잠깐 자리비움 | 다음 상태로 바뀔 때 |
/end | 💤 오늘 2시간 40분 집중 | 다음 날 오전 6시 |
/end 하면 status를 비우지 않고 💤와 그날 집중한 시간을 보여줘요. 다음 날 아침에는 자동으로 사라지니까, 💤 = 오늘은 끝, 빈 status = 오늘 아직 시작 전으로 구분돼요.
자정을 넘겨 끝내면
집중 기록은 시작한 날에 쌓여요. 그래서 밤 11시에 시작해 새벽 1시에 끝내면 전날 기록이 되고, status도 “어제”로 표시돼요.
| 경우 | 표시 | 사라지는 시각 |
|---|---|---|
| 저녁 7시 종료 | 💤 오늘 5시간 10분 집중 | 다음 날 오전 6시 |
| 새벽 1시 종료 (밤 11시 시작) | 💤 어제 6시간 30분 집중 | 그날 오전 6시 |
| 새벽 7시 종료 (밤샘) | 💤 어제 9시간 집중 | 다음 날 오전 6시 |
직접 설정한 status 지키기
”📅 회의 중”, ”🏠 재택근무”처럼 직접 설정한 status는 덮어쓰지 않아요.
- 집중을 시작할 때 직접 설정한 status가 있었다면 기억해뒀다가, 집중이 끝나면 원래 status로 되돌려요. (그 status의 만료 시각이 이미 지났다면 💤를 보여줘요.)
- 집중하는 동안 status를 직접 바꿨다면, 쉬어가기·종료할 때 그대로 둬요.
이를 위해 status를 바꾸기 전에 지금 status를 한 번 읽어요 (users.profile:read 권한).
연결 해제
다시 /settings sync를 입력하면 현재 연결 상태와 함께 연결 해제 버튼이 떠요. 버튼을 누르면 권한이 철회되고 더 이상 status가 자동 변경되지 않아요.