캘린더 일정에 연동하여 슬랙 상태를 자동으로 변경할 수 있도록 한 이야기

발 연구소 Advent Calendar 2017 의 9일째는 어제 내용 의 응용편입니다.

바쁜 방향으로 지금 북산업


  • 사내에서 매일 Slack을 사용하기 때문에이 상태를 실시간 상태와 일치시키고 싶습니다
  • 상태의 수동 변경은 잊을 수도 있고 번거롭기 때문에 자동화하고 싶습니다
  • 캘린더 일정에 연동하여 iruca를 업데이트 할 수 있다면 Slack 상태에서도 할 수 있다고 생각해 보았습니다.

    배경과 하고 싶은 일



    당사에서는 업무상의 커뮤니케이션 툴로서 일상적으로 Slack을 이용하고 있습니다.
    Slack의 스테이터스로 재석이나 외출등의 상황을 나타내고 있는 직원도 많기 때문에, 한마디 하기 전에 캘린더나 Slack의 스테이터스를 보는 것이 자주 있습니다.

    Slack의 스테이터스를 양으로 취급하면 됩니다만, 수동으로 변경하고 있어는 잊는 일도 있고, 매번 변경하는 것도 귀찮습니다. 그래서 캘린더의 예정 상태에 연동하여 Slack의 상태를 다음과 같이 변경하고 싶습니다.
  • 사내 또는 외출에서의 회의 중에는 「취입 중」으로
  • 사내의 회의가 끝나면 「재석」에
  • 외출 이동 중에는 "이동 중"으로

  • 메커니즘



    캘린더에서 약속 상태를 감지하고 Slack 상태를 변경하는 메커니즘은 거의 Auto iruca Powered by RODEM Ver.2.0의 유용성으로 IFTTT 위에 구축되었습니다.

  • 이벤트 시작은 Google 캘린더의 'Event from search starts(특정 키워드가 포함된 이벤트 시작 시 반응)' 트리거를 사용하여 내부 및 외부 협의 및 이동 시작을 감지합니다.

  • Which calendar? 参照したいカレンダー(アカウント)の指定
  • Keyword or phrase どんなキーワードの入った予定に反応させたいか
  • Time before event starts イベント(予定)開始の何分前に通知を出したいか


  • 이벤트 종료는 Google 캘린더의 'New event from search ends(특정 키워드가 포함된 이벤트 종료 시 반응)' 트리거를 사용하여 내부 회의 종료를 감지합니다.

  • Which calendar? 参照したいカレンダー(アカウント)の指定
  • Keyword or phrase どんなキーワードの入った予定に反応させたいか


  • 슬랙 상태 변경은 webhook 트리거를 사용합니다.

  • URL https://slack.com/api/users.profile.set
  • Method POST
  • Content Type application/x-www-form-urlencoded
  • Body token=トークン&profile={"status_text":"テキスト","status_emoji":":絵文字コード:"}
  • 토큰은 여기 에서 generate 할 수 있습니다
  • 이모티콘 코드는 치트 시트




  • 상태에는 이모티콘도 넣어두면 타임 라인에서도 이해하기 쉽다고 생각합니다.
  • 재석 "status_text":"在席","status_emoji":":office:"
  • 캡처 중 "status_text":"取込中","status_emoji":":two_men_holding_hands:"
  • 이동 중 "status_text":"移動中","status_emoji":":rocket:"




  • 요약



    ・Slack의 스테이터스도 캘린더의 예정에 연동하게 되었습니다
    ・캘린더에 예정만 넣으면 상태가 자동 변경되므로 변경을 잊어버리거나 수고를 줄일 수 있다

    참고한 기사



    Slack의 상태 변경 API의 구조는 다음을 참고로 했습니다.
    사무실에 있는 동안 Slack의 상태를 자동으로 회사 이모티콘으로 설정

    좋은 웹페이지 즐겨찾기