슬랙 웹훅(Slack Webhook) API 생성하기

현대의 업무 환경에서는 효율적인 커뮤니케이션 도구가 필수적입니다. 그 중에서도 슬랙(Slack)은 많은 기업과 조직에서 널리 사용되고 있으며, 다양한 기능과 유연성으로 인해 인기를 끌고 있습니다. 슬랙 웹훅 Webhook API를 활용하면 다른 애플리케이션과 슬랙을 연동하여 메시지를 자동으로 전송하거나 이벤트를 트리거할 수 있습니다. 이를 통해 업무 프로세스를 자동화하고 효율성을 높일 수 있습니다. 이번 글에서는 슬랙 웹훅(Slack Webhook) API를 생성하는 방법과 활용 사례에 대해 알아보겠습니다.

슬랙 웹훅을 생성하는 방법 두가지방법 앱추가, 앱생성

슬랙 웹훅은 앱추가 방식과 앱생성 방식이 있습니다. 다만 앱생성 방식을 추천드리며 앱추가 방식은 추천드리지 않습니다. 그 이유는 앱 추가 방식은 퇴사자나 권한이 해제된 사용자로 인해 발생할 수 있는 일련의 문제점이 있습니다. 먼저, 퇴사자가 해당 앱을 추가한 경우, 그 사용자가 퇴사하면서 해당 앱도 사용 불가능한 상태가 됩니다. 이는 해당 앱이 관리하던 기능이 더 이상 작동하지 않게 되는데, 특히 웹훅 URL이 비활성화되면서 해당 기능을 사용할 수 없게 됩니다. 이로 인해 이전에 설정했던 기능들이 먹통이 되는 문제가 발생할 수 있습니다.

또한, 앱 추가 방식은 일반적으로 사용자 개인의 슬랙 공간에만 연결되어 있기 때문에, 해당 공간의 모든 사용자가 동일한 권한을 갖습니다. 따라서 퇴사자의 계정이 연결되어 있던 앱이 해당 공간에서 중요한 업무를 담당하고 있었다면, 그 기능이 더 이상 작동하지 않게 되어 업무에 차질을 빚을 수 있습니다.

이러한 이유로 슬랙에서는 앱 생성 방식을 권고하고 있습니다. 앱 생성 방식은 팀이나 조직 전체에 앱을 적용할 수 있으며, 팀 내에서 관리되므로 특정 사용자의 퇴사나 권한 해제와는 상관없이 일관된 기능을 유지할 수 있습니다. 따라서 앱 생성 방식을 통해 웹훅과 같은 기능을 설정하면, 퇴사자나 권한 해제된 사용자로 인한 문제를 최소화할 수 있습니다.

슬랙 웹훅을 생성하는 방법 앱생성 방식

먼저 슬랙 API 채널로 이동후 Your apps > Create your first app 으로 이동합니다.

https://api.slack.com/

From scratch > 앱이름과 슬랙 워크스페이스 선택후 > Create App

앱을 생성했으면 왼쪽의 Collaborators 메뉴에서 동료 또는 또는 절대삭제 안되는 공용계정을 추가합니다. 퇴사자가 발생하더라도 방어하기 위함입니다.

그후에 왼쪽 메뉴에서 Incoming Webhooks 선택 > On > Add New Webhook to Workspace > 채널 선택 > 허용 (몰론 슬랙에 미리 채널을 생성해두셔야 합니다.)

위 페이지에서 생성된 Webhook URL 값을 확인하여 해당 URL로 웹훅을 보내시면 됩니다.

슬랙 웹훅 앱생성 방식 Webhook URL 테스트

웹훅(webhook) URL을 테스트하는 명령어는 다음과 같습니다.

`curl -X POST --data-urlencode "payload={\"channel\": \"#z-incoming-webhook\", \"username\": \"webhookbot\", \"text\": \"This is posted to #z-incoming-webhook and comes from a bot named webhookbot.\", \"icon_emoji\": \":ghost:\"}" <WebHook URL>`

이상으로 슬랙 웹훅 API 생성하는 방법이였습니다. 슬랙 웹훅은 다양한 방식으로 활용될 수 있으며 특정 알림 메시지를 전송하거나 슬랙봇을 생성할 수도 있고 외부 시스템에서 발생한 이벤트를 슬랙 웹훅을 통해 전달할 수도 있습니다. 슬랙 웹훅은 업무 환경에서 다양한 용도로 활용될 수 있으며, 업무 효율성을 높이고 커뮤니케이션을 강화하는 데에 큰 도움을 줍니다.