Zapier로 슬랙 메시지에 특정 단어가 포함되면 자동으로 이모지 붙이기

·2023년 6월 10일
1
post-thumbnail

TL;DR

#z-기술블로그 라는 채널에 우리 회사 블로그가 올라오면 제일 먼저 👍이모지를 붙이고 싶었습니다.

Zapier로 구현했고, Webhooks by Zapier 를 사용했습니다.
아래 예시로 Webhooks by Zapier를 이해해서, 노코드에 코딩 한 스푼을 추가하면 좀 더 파워풀하게 Zapier를 쓸 수 있음을 공유하고 싶습니다.

준비물

  • Zapier 유료 버전

Zapier에서 설정

Zapier의 기본은 Trigger => Action 로 동작합니다.

또한 Trigger => Condition => Action 처럼 Trigger와 Action 사이에 Condition을 추가할 수 있습니다.

Trigger

  • App & event

    • App : Slack
    • Event : New Message Posted to Channel
  • Account : 본인 슬랙 계정 로그인

  • Trigger

    • Channel : #z-기술블로그
  • Test : Test 실행하여 하면 동작 결과 예시 확인

각 단계별 오른쪽 옆에 동그라미 ✅녹색 체크가 확인되면 정상적으로 설정된 것 입니다.

Condition

+ 누르고 Filter 를 선택합니다. Filter는 Condition 중 하나입니다.

  • App : Filter by Zapier

  • Filter setup & testing
    직관적으로 알 수 있듯이 메시지에 우아한형제들 or 배민다움 이라는 단어포함 되면 이라는 필터를 걸어줍니다.

    각 항목을 클릭하면, 필터의 재료가 될 데이터가 매우 다양합니다.
    또한 And 조건 또는 Or 조건으로 조합할 수 있습니다.

Action

Action 단계의 Slack에는 다양한 Event 설정이 있지만 아쉽게도 이모지 붙이기 Event는 없습니다.

하지만 유료 Zapier에서 제공하는 Webhooks by Zapier을 활용하면 이모지 붙이기를 할 수 있습니다.
✨이 설정 방법이 노코드에 코딩 한 스푼이 됩니다.

Webhooks by Zapier를 선택합니다.

  • App & event
    • App : Webhooks by Zapier
    • Event : POST
  • Action
    • URL : https://slack.com/api/reactions.add
    • Payload Type : form
    • Data
      - token : xoxp- 시작하는 토큰값 // 토큰 생성방법 생략
      - channel : Channel Id
      - name : thumbsup-wiggle // 이모지 앞 뒤의 : 제거
      - timestamp : Ts

빈 땅을 클릭하면 Trigger와 Condition 상위 단계에 수집된 데이터를 모두 참조할 수 있습니다.
🎈 처음 Zapier를 접하면 이 부분이 완전 대박 신기합니다.

https://slack.com/api/reactions.add 은 이모지 붙이는 API 엔드포인트 입니다.

https://api.slack.com/methods/reactions.add 에 접속해서 문법을 확인해보세요.
위 설정에 Event는 POST, Data에 token, channel, name, timestamp 왜 필요했는지 바로 이해가 되실 겁니다.

  • Test : Test 실행하여 하면 기대 동작을 합니다.
    동일하게 2번째 테스트를 하면 error : already_reacted 가 발생합니다.
    수동으로 이모지 붙은걸 떼고 다시 시도하면 됩니다.

Publish를 하고, 버전 이름도 설정합니다.


On/Off 설정을 할 수 있습니다.
Zap 이름을 클릭하면 Version, History 등을 추가로 확인할 수 있습니다.

예: Condition 즉 Filter 조건에 부합되지 않은 경우 Skip된 케이스 History 상세보기

마무리하며

Action 단계에서 Zapier가 직접 제공하지 않는 기능이라도 Webhooks by Zapier문법을 이해하면 더 풍부하게 Zapier를 활용할 수 있습니다.

참고

0개의 댓글