웹훅으로 슬랙 메시지 발송하기

📘

핵클 웹훅을 통해서 다양한 슬랙 메시지를 발송하고 원하는 시점에 발송되도록 자동화해보세요.

👍

이번 가이드는 핵클 웹훅을 통해서 이벤트 기반 개인화된 슬랙 메시지를 발송하는 방법을 제공합니다.

1. 슬랙 > 웹훅 앱 추가하기

메시지 발송을 원하는 슬랙 채널에 웹훅 앱을 추가합니다.

1-1. 슬랙 앱을 생성합니다.

.

<https://api.slack.com> 에 접속하여 `Your apps`를 클릭해주세요

https://api.slack.com 에 접속하여 Your apps를 클릭해주세요



Create New App을 클릭해주세요.

Create New App을 클릭해주세요.


From scratch를 선택해주세요.

From scratch를 선택해주세요.



1-2. 슬랙 앱에 Incoming Webhooks를 등록합니다.

생성하고자 하는 앱의 이름을 선택하신 뒤, Incoming Webhooks 로 이동해주세요.

Toggle을 on으로 변경해주세요.

Toggle을 on으로 변경해주세요.


Add New Webhook to Workspace 를 클릭하고, 웹훅을 통해 메시지를 발송하고자 하는 슬랙 채널을 선택해주세요.


1-3. Webhook URL을 확인합니다.

ℹ️

위 URL을 복사해두세요. 웹훅 캠페인에 사용될 예정입니다.

이제 핵클 웹훅에 슬랙 메시지를 발송할 수 있도록 준비를 마쳤습니다.


2. 핵클 대시보드에서 웹훅 캠페인을 생성합니다.

새 캠페인 생성하기를 클릭해주세요.

새 캠페인 생성하기를 클릭해주세요.


2-1. 웹훅 Endpoint 설정

1-3 에서 복사해두었던 Webhook URL을 붙여넣습니다.

슬랙 메시지 발송은 POST 요청으로 설정하셔야 해요.


2-2. 웹훅 Body 설정

{
  "text": "Hello, World!"
}

위 JSON을 복사해서 핵클 웹훅 캠페인의 Body TextField에 붙여넣은 뒤 저장합니다.



2-3. 테스트 메시지 발송하기

이제 설정한 웹훅 캠페인이 잘 동작하는 지 확인해볼까요?

테스트 메시지 발송하기 버튼을 클릭해주세요.



여기까지 잘 따라오셨다면 아래와 같은 화면을 보실 수 있습니다.

테스트 발송 결과

테스트 발송 결과


📘

웹훅 테스트 발송하기

웹훅의 테스트 발송은 등록한 웹훅 Endpoint로 실제 HTTP 요청을 보냅니다.

Response 역시 실제 웹훅의 Endpoint에서 응답한 결과 값을 그대로 보여주고 있습니다.


2-3 슬랙 메시지 확인하기


잘 도착했음을 확인할 수 있습니다.


3. 이벤트 기반 개인화 적용하기

이제 슬랙과의 연동이 잘 되어있음을 확인했으니 원하는 시점에 원하는 형태의 메시지를 보내보도록 합니다.


3-1. 슬랙 메시지 발송 트리거 이벤트 설정

  • 대시보드 > 이벤트 조회 메뉴로 이동해주세요.
  • 트리거로 설정하고자 하는 이벤트를 검색해주세요.
  • 이벤트가 발생할 때 함께 발생되는 속성을 확인해주세요.
    • 이벤트 속성과 유저 속성이 개인화에 활용됩니다.
    • 이벤트 속성과 유저 속성을 모르겠다면? 여기를 참고하세요.

본 가이드에서는 $in_app_action 이벤트를 활용합니다.

$in_app_action 이란 ? (링크)


이벤트 기반 개인화를 적용하기 위해 웹훅 메시지의 Body를 변경합니다.

📘

fallback, text, pretext, color, attachments 등의 필드명은 슬랙에서 제공하는 Message Payload에 의존합니다.

링크를 참조하여 자유로운 메시지를 구성해보세요.

JSON 내부에 개인화 문법을 추가하여 슬랙 메시지를 구성합니다.

개인화 문법은 liquid template language 를 사용합니다.

liquid 언어를 직접 타이핑할 수도 있지만, liquid 언어에 익숙하지 않다면 핵클 대시보드에서 제공하는 개인화 변수 추가 모달을 이용하시는 것을 권장합니다.

개인화 변수 추가 모달을 열 수 있어요.

개인화 변수 추가 모달을 열 수 있어요.

Slack Message Delivery Body Sample

{
    "fallback": "인앱메시지 노출 알리미 메시지 구성에 실패했어요.",
    "text": "{{event_properties.in_app_message_key | default: "키"}}번 인앱메시지 노출",
    "pretext": "{{event_properties.in_app_message_display_type | default: "알 수 없음"}}",
    "color": "good",
    "attachments":
        [
            {
                "fallback": "fallback",
                "pretext": "{{event_properties.button_text | default:"버튼 이름"}}에 대하여 {{event_properties.action_type | default: "알 수 없음"}}을 수행하였음",
                "color": "#0065ff",
                "fields": [
                    {
                        "title": "[인앱메시지 노출 알리미]",
                        "value": "인앱메시지 정보는 핵클에서 👉 <http://dashboard.hackle.io/in-app-messages/{{event_properties.in_app_message_id}}/|링크>",
                        "short": false
                    }
                ]
            }
        ]
}

위와 같이 Body를 변경하고 캠페인을 저장합니다.



3-2. 이벤트 기반 발송 설정

웹훅 캠페인에서 발송 설정 버튼을 클릭해주세요.


발송 유형 중 이벤트 기반 을 선택하고 시작 이벤트를 $in_app_action 으로 설정합니다.

📘

특정 인앱메시지의 Action에 대해서만 웹훅을 트리거하고 싶다면?

시작 이벤트 > 필터 추가하기를 통해서 시작 이벤트의 필터 기능을 사용해보세요.

  • in_app_message_key 혹은 in_app_message_id 를 활용하여 특정 인앱메시지를 필터링할 수 있어요.
  • in_app_message_display_type 을 활용해 특정 템플릿의 인앱메시지를 필터링할 수 있어요.
  • 그 외에도 $in_app_action 의 이벤트 속성을 활용해 다양한 필터링을 활용할 수 있어요.

이벤트 기반 발송 설정

이벤트 기반 발송 설정


3-3. 웹훅 트리거

  • 시작하기 를 눌러 웹훅 캠페인을 시작해보세요.
  • 시작 이벤트의 대상에 해당하는 인앱메시지에서 닫기 버튼을 클릭하는 등의 액션을 발생시켜 $in_app_action 이벤트를 발생시켜 보세요.
  • 웹훅이 잘 트리거 되었나요?

성공적으로 메시지 발송 완료

성공적으로 메시지 발송 완료


그 외 발송 관련 설정에 대해 더 알아보고 싶다면?

웹훅 발송하기 가이드를 참고해주세요.