전체 멤버들이 Team Outgoing Webhook을 사용할 수 있도록 하고 싶습니다.
Outgoing Webhook이란 특정 키워드를 포함한 메시지가 잔디에서 발생했을 때 외부 서버로 이 정보를 전달할 수 있는 기능입니다. Team Outgoing Webhook은 팀내 관리자가 연동했을 경우 구성원들이 JANDI(나와의 대화)에서 간편하게 정보를 확인할 수 있는 기능입니다.
[Team Outgoing Webhook 개요]
특정 키워드를 포함한 메시지가 잔디에서 발생했을 때 외부 서비스로 이 정보를 전달할 수 있는 기능이 Outgoing Webhook입니다.
Team Outgoing Webhook을 이용한다면 웹훅 수정, 삭제 등의 관리를 관리자가 대표하기 때문에 구성원들이 직접 수정할 필요가 없고 관리자가 한 번 설치하면 팀 구성원 모두가 동일한 기능을 이용할 수 있습니다. 잔디에서는 /command parameter 형태로 아웃고잉 웹훅을 이용하며, 웹훅에 대한 설명과 parameter 예시를 입력하여 구성원의 사용을 보조합니다. 웹훅 메시지 작성 및 알림 수신은 구성원 각각 JANDI (나와의 대화)로 받을 수 있습니다.
[Team Outgoing Webhook 설정 방법]
잔디 우측 상단 툴 (Tool) 메뉴 -> 잔디 커넥트 접속
커넥트 목록 -> 팀 Webhook 발신 (Team Outgoing Webhook) 선택
연동하기 탭에서 진행하면 됩니다. ① 시작 키워드 입력 : /command 명령어를 정의합니다. 명령어는 공백없이 최대 50자까지 작성 가능합니다.
'시작 키워드' 예시) '출퇴근기록'을 시작 키워드로 입력했을 경우 실제 메시지 입력창에서는 아래와 같이 보여집니다. 채팅창에 직접 '/'를 입력하거나 [/] 버튼을 클릭 후 원하는 키워드를 선택하시면 됩니다. 커맨드 목록에서 키워드를 선택하지 않을 경우 웹훅을 설정한 커맨드로 인식되지 않으니 사용 시 주의해 주세요!
② 명령어 힌트 / 파라미터 샘플 : 파라미터는 100자까지 입력이 가능하고, 파라미터 설명은 50자까지 입력할 수 있습니다. 파라미터 값과 파라미터 설명을 입력할 경우 다른 사람이 설정한 아웃고잉 웹훅을 쉽게 조회하고 사용할 수 있게 됩니다. 1개의 웹훅 당 최대 10개까지 파라미터를 입력할 수 있습니다.
'파라미터 값'과 '파라미터 설명' 예시)
③ 커넥트 설명 : 커넥트에 대한 설명을 입력하여 팀내 구성원들이 더 잘 활용할 수 있도록 합니다.
'커넥트 설명' 예시 )
④ 토큰 : Webhook 발송 시 페이로드에 삽입되는 토큰을 확인할 수 있습니다.
⑤ URL : 잔디에서 발송되는 팀용 Webhook을 수신할 URL을 입력해 주시면 됩니다.
[Team Outgoing Webhook 발송 POST Data] Team Outgoing Webhook Data에 등록된 시작 키워드가 포함된 메시지가 작성될 경우, 등록된 URL로 POST 요청을 보냅니다. 포함되는 데이터는 아래와 같습니다. (잔디 Webhook은 JSON 포맷을 따릅니다.)
token | 커넥트 유효성 검증을 위한 인증키 (자동 생성, 변경 가능) |
---|---|
teamName | 잔디 팀 이름 |
roomName | 잔디 대화방 이름 |
writerName | 메시지 작성자 이름 |
writerEmail | 메시지 작성자 이메일 |
text | 입력된 전체 메시지 내용 |
keyword | 시작 키워드 |
createdAt | 메시지 작성 시간 |
data | 키워드를 제외한 메시지 내용 |
platform | 아웃고잉 메시지를 작성한 플랫폼 (web, ios, android) |
ip | 아웃고잉 메시지를 작성한 ip |
[Team Outgoing Webhook Payload와 Response]
① Payload
{
"token" : "YE1ronbbuoZkq7h3J5KMI4Tn",
"teamName" : "Toss Lab, Inc.",
"roomName" : "Bulletin Board",
"writer" : {
"id" : "20135452",
"name" : "Kevin",
"email" : "kevin@tosslab.com",
"phoneNumber" : "2061234567"
},
"text" : "/weather How is the weather in New York tomorrow?",
"data" : "How is the weather in New York tomorrow?",
"keyword" : "weather",
"createdAt" : "2017-05-15T11:34:11.266Z",
"platform" : "web",
"ip" : "12.345.67.89"
}
Outgoing Data :등록된 시작 키워드에 포함된 메시지가 작성될 경우, 등록된 URL로 POST 요청을 보냅니다. 포함되는 데이터는 위와 같습니다.
② Response
{
"body" : "[PizzaHouse] You have a new Pizza order.",
//Body text (Required)
"connectColor" : "#FAC11B", //Hex code color of attachment bar
"connectInfo" : [{
"title" : "Topping", //1st attachment area title
"description" : "Pepperoni" //1st attachment description
},
{
"title": "Location", "title": "Location"
"description": "Empire State Building, 5th Ave, New York"
//2nd attachement description }]
}
Responding : POST 요청에 대한 응답 값을 통해 커넥트를 설정한 대화방에 메시지를 작성할 수 있습니다. 응답 data format과 메시지 출력은 Incoming Webhook Connect의 POST Data와 동일합니다. (위 format과 다른 응답은 무시하며, "200 OK" 응답이 아닌 그외 모든 응답 또한 별도로 처리되지 않습니다.)
Additional Formatting : body 부분에 "굵게", "링크삽입" 등 메시지 효과를 표현할 수 있는 markdown 적용이 가능합니다
단, Team Outgoing Webhook은 팀당 10개까지 연동할 수 있고 유료 플랜에서만 이용 가능합니다. 플랜 업그레이드를 원한다면 아래의 링크를 클릭해 주세요!