웹훅 (Webhook)
웹훅 사용 방법 및 웹훅 페이로드에 대해 안내합니다.
웹훅 데이터를 받을 API 서버가 구성 되어 있어야 합니다.
왼쪽 하단의 프로필 버튼을 클릭 후 설정 페이지로 진입합니다.
왼쪽 메뉴 패널에서 웹훅 메뉴를 클릭합니다.
[웹훅 설정 화면]
웹훅 추가 버튼을 클릭합니다.
나타난 모달 창에서 필드에 해당 하는 값을 추가 합니다.
[웹훅 추가 모달 창]
URL: 웹훅을 받을 API 주소를 작성 합니다. (POST 요청을 받을 수 있는 핸들러로 지정)
전송할 이벤트: 하단의 [웹훅 이벤트]설명을 참조하여 필요한 웹훅 이벤트를 선택 합니다. (다중 선택 가능)
추가한 웹훅은 바로 활성화 되지 않습니다.
따라서 활성 토글 버튼을 클릭하여 웹훅 이벤트를 활성화 해야합니다.
활성화 이후 이벤트 발생시 입력한 URL로 웹훅 이벤트 정보가 전송됩니다.
[웹훅 활성화 전]
[웹훅 활성화 후]
실제 이벤트 정보를 받기 전 테스트를 위해 테스트용 웹훅 이벤트를 받을 수 있습니다.
테스트 발송 버튼을 클릭하여 입력 필드를 채운 후 전송 버튼을 클릭하면 테스트용 웹훅 이벤트 정보를 받을 수 있습니다.
[웹훅 테스트 발송 모달 창]
URL: 테스트용 웹훅 이벤트를 받을 API 주소를 작성합니다. (POST 요청을 받을 수 있는 핸들러로 지정)
전송할 이벤트: 하단의 [웹훅 이벤트] 설명 참조하여 필요한 웹훅 이벤트를 선택 합니다. (하나만 선택 가능)
리캐치에서 제공하는 웹훅 이벤트는 다음과 같습니다.
폼 생성, 초대 생성, 미팅 취소, 미팅 생성, 미팅 재조정, 딜 관련 이벤트, 파이프라인 관련 이벤트 트리거에 대해 지원합니다.
폼 생성(Form Submitted) : 새로운 폼이 제출되었을 때 트리거됩니다.
초대 생성(Invitee Created) : 신규 고객(처음 예약하는 고객)이 회의를 예약할 때 트리거됩니다.
미팅 취소(Meeting Cancelled) : 미팅이 취소되었을 때 트리거됩니다.
미팅 생성(Meeting Created) : 새로운 미팅이 예약되면 트리거됩니다.
미팅 재조정(Meeting Rescheduled) : 회의 일정이 변경되면 트리거됩니다.
리드 관련 이벤트
리드 생성 (Lead Created)
리드 삭제 (Lead Deleted)
리드 업데이트 (Lead Updated)
딜 관련 이벤트
딜 생성 (Deal Created)
딜 삭제 (Deal Deleted)
파이프라인 관련 이벤트
파이프라인 할당(pipeline Allocated)
파이프라인 이동(pipelineMoved)
파이프라인 해제 (pipeline Deallocated)
웹훅에서 제공되는 데이터는 다음과 같은 구조를 가집니다.
wid: 웹훅을 식별 할 수 있는 UUID
event_type: 제공되는 웹훅에 대한 이벤트 타입
payload: 제공되는 각 웹훅 이벤트에 대한 페이로드
payload 에서 자주 사용되는 주요 필드
source: 이벤트가 트리거된 각 기능의 주요 데이터를 나타내는 필드 입니다.
예) type이 logic일 경우 어떤 워크플로우에서 발생한 것인지에 대한 데이터
type: 이벤트가 발생된 기능의 타입을 나타냅니다.
logic : 워크플로우 기능
multi-use : 예약페이지 기능
link_id: 예약 페이지, 워크플로우, 시간제안 기능 등에서 사용되는 값이며 미팅 수립 때 사용되는 기능들의 고유 링크 id 입니다.
예시)
* https://teamslug.recatch.cc/workflows/<link_id>
title: 이벤트가 발생된 생성한 기능의 제목
Form Submitted 이벤트는 워크플로우의 기능을 통해 생성한 폼에서 제출 이벤트가 발생 하였을 때 웹훅 이벤트가 트리거 됩니다.
현재 제공 되는 예시 데이터는 웹훅의 `payload` 필드에 대한 부분입니다.
다른 웹훅 예시 데이터 또한 같습니다.
웹훅으로 전달 되는 payload 는 다음과 같습니다.
source
link_id
title
type
logic
id: 제출된 폼 정보의 고유함을 나타내는 UUID 형식의 id 입니다.
title: 폼을 생성 할 때 입력했던 폼의 제목 입니다.
submitted_datetime: 폼이 제출된 시간 값 입니다. (UTC 기준 / ISO 8601 형식을 따릅니다.)
qualified: 워크플로우 기능을 통해 미팅 배정이 되었다면 true, 미팅 미배정으로 메세지 혹은 링크 보내기로 되었을 경우 false로 표기됩니다.
question_and_answers: 폼 제출 시 입력했던 질문과 답변에 대한 값입니다.
`<form_label> : <form_answer>` 이와 같은 형태로 폼에 대한 질문과 답변을 나타냅니다.
Invitee Created 이벤트는 워크플로우, 예약 페이지 기능에서 email 기준으로 첫 미팅이 수립이 되었을 때 트리거 되는 웹훅 이벤트 입니다.
웹훅으로 전달 되는 payload는 다음과 같습니다.
source
link_id
title
type
multi-use
logic
id: 수립된 미팅에 대한 id 값입니다.
title: 미팅 수립에 사용된 기능의 제목 입니다.
created_datetime: 미팅이 수립된 시간 값 입니다.
(UTC 기준 / ISO 8601 형식을 따릅니다.)
meet: 미팅의 종류에 대한 데이터 입니다.
type
offline: 오프라인 미팅
phone: 전화 미팅
zoom: 줌 미팅
google-meet: 구글 미팅
custom: 커스텀 미팅
[Optional] value
Optional 예시) 전화 미팅 일 때 폼 질문에 휴대전화 항목이 없을 경우
zoom, google-meet: 온라인 미팅 URL 주소
phone: 폼 질문 목록에서 추가한 휴대전화 항목 값
offline: 미팅 방법 추가 시 입력한 회사 주소
custom: 미팅 방법 추가 시 입력한 전달 사항
organizer: 미팅 주최자에 대한 데이터 입니다.
name: 미팅 주최자의 이름 입니다.
email: 미팅 주최자의 이메일 입니다.
timezone: 미팅 주최자의 timezone 입니다.
invitee: 미팅 참여자의 정보를 나타내는 필드 입니다.
name: 미팅 참여자의 이름 입니다.
email: 미팅 참여자의 이메일 입니다.
timezone: 미팅 참여자의 timezone 입니다.
[Optional] company: 미팅 참여자의 회사 정보 입니다.
[Optional] phone: 미팅 참여자의 전화번호 입니다.
[Optional] note: 미팅 참여자가 작성한 전달 사항 정보 입니다.
question_and_answers: 미팅 수립시 입력한 폼의 질문 답변에 대한 값입니다.
`<form_name> : <form_answer>`와 같은 형태로 출력되어 보여집니다.
Meeting Created 이벤트는 워크플로우, 예약 페이지 기능을 이용하여 미팅이 수립 되었을 때 트리거 되는 웹훅 이벤트 입니다.
Invitee Created 이벤트와 다른 점은 첫 미팅과 상관 없이 미팅이 수립 될 때 마다 트리거 됩니다.
웹훅으로 전달 되는 payload는 다음과 같습니다.
source
link_id
title
type
multi-use
logic
id: 수립된 미팅에 대한 id 값입니다.
title: 미팅 수립에 사용된 기능의 제목 입니다.
created_datetime: 미팅이 수립된 시간 값 입니다. (UTC 기준 / ISO 8601 형식을 따릅니다.)
meet: 미팅의 종류에 대한 데이터 입니다.
type
offline: 오프라인 미팅
phone: 전화 미팅
zoom: 줌 미팅
google-meet: 구글 미팅
custom: 커스텀 미팅
[Optional] value
Optional 예시) 전화 미팅 일 때 폼 질문에 휴대전화 항목이 없을 경우
zoom, google-meet: 온라인 미팅 URL 주소
phone: 폼 질문 목록에서 추가한 휴대전화 항목 값
offline: 미팅 방법 추가 시 입력한 회사 주소
custom: 미팅 방법 추가 시 입력한 전달 사항
organizer: 미팅 주최자에 대한 데이터 입니다.
name: 미팅 주최자의 이름 입니다.
email: 미팅 주최자의 이메일 입니다.
timezone: 미팅 주최자의 timezone 입니다.
invitee: 미팅 참여자의 정보를 나타내는 필드 입니다.
name: 미팅 참여자의 이름 입니다.
email: 미팅 참여자의 이메일 입니다.
timezone: 미팅 참여자의 timezone 입니다.
[Optional] company: 미팅 참여자의 회사 정보 입니다.
[Optional] phone: 미팅 참여자의 전화번호 입니다.
[Optional] note: 미팅 참여자가 작성한 전달 사항 정보 입니다.
question_and_answers: 미팅 수립시 입력한 폼의 질문 답변에 대한 값입니다.
`<form_name> : <form_answer>`와 같은 형태로 출력되어 보여집니다.
Meeting Rescheduled 이벤트는 워크플로우, 예약 페이지 기능에서 수립된 미팅의 일정을 수정 할 때 트리거되는 웹훅 이벤트 입니다.
웹훅으로 전달되는 페이로드는 다음과 같습니다.
source
link_id
title
type
multi-use
logic
id: 수립된 미팅에 대한 id 값입니다.
title: 미팅 수립에 사용된 기능의 제목 입니다.
before_rescheduled_datetime: 미팅 일정이 수정 되기 전의 시간 값입니다.
(UTC 기준 / ISO 8601 형식을 따릅니다.)
after_rescheduled_datetime: 수정된 미팅 일정에 대한 시간 값입니다.
(UTC 기준 / ISO 8601 형식을 따릅니다.)
rescheduled_reason: 일정 수정 시 작성하는 일정 수정 사유에 대한 값입니다.
meet: 미팅의 종류에 대한 데이터 입니다.
type
offline: 오프라인 미팅
phone: 전화 미팅
zoom: 줌 미팅
google-meet: 구글 미팅
custom: 커스텀 미팅
[Optional] value
Optional 예시) 전화 미팅 일 때 폼 질문에 휴대전화 항목이 없을 경우
zoom, google-mee: 온라인 미팅 URL 주소
phone: 폼 질문 목록에서 추가한 휴대전화 항목 값
offline: 미팅 방법 추가 시 입력한 회사 주소
custom: 미팅 방법 추가 시 입력한 전달 사항
organizer: 미팅 주최자에 대한 데이터 입니다.
name: 미팅 주최자의 이름
email: 미팅 주최자의 이메일
timezone: 미팅 주최자의 timezone
invitee: 미팅 참여자의 정보를 나타내는 필드 입니다.
name: 미팅 참여자의 이름 입니다.
email: 미팅 참여자의 이메일 입니다.
timezone: 미팅 참여자의 timezone 입니다.
[Optional] company: 미팅 참여자의 회사 정보 입니다.
[Optional] phone: 미팅 참여자의 전화번호 입니다.
[Optional] note: 미팅 참여자가 작성한 전달 사항 정보 입니다.
Meeting Cancelled 이벤트는 워크플로우, 예약 페이지 기능에서 수립된 미팅이 취소되었을 때 트리거되는 웹훅 이벤트 입니다.
웹훅으로 전달 되는 payload는 다음과 같습니다.
source
link_id
title
type
multi-use
logic
id: 수립된 미팅에 대한 id 값입니다.
title: 미팅 수립에 사용된 기능의 제목 입니다.
cancelled_datetime: 미팅 취소 되기 전 수립된 미팅의 일정에 대한 시간 값입니다.
(UTC 기준 / ISO 8601 형식을 따릅니다.)
cancelled_reason: 미팅 취소 시 작성하는 미팅 취소 사유에 대한 값입니다.
organizer: 미팅 주최자에 대한 데이터 입니다.
name: 미팅 주최자의 이름
email: 미팅 주최자의 이메일
timezone: 미팅 주최자의 timezone
invitee: 미팅 참여자의 정보를 나타내는 필드 입니다.
name: 미팅 참여자의 이름 입니다.
email: 미팅 참여자의 이메일 입니다.
timezone: 미팅 참여자의 timezone 입니다.
[Optional] company: 미팅 참여자의 회사 정보 입니다.
[Optional] phone: 미팅 참여자의 전화번호 입니다.
[Optional] note: 미팅 참여자가 작성한 전달 사항 정보 입니다.
Lead Created 이벤트는 리드 수동 추가 혹은 폼 제출 등을 통해 리드가 추가 되었을 때 트리거 되는 웹훅 이벤트 입니다.
웹훅으로 전달 되는 페이로드는 다음과 같습니다.
source: 리드가 수집된 경로에 대한 정보 값을 나타냅니다.
( 시간 제안 하기 기능을 통해 수집된 리드 일 경우 값은 null )
link_id
title
type
multi-use
logic
id: 리드의 고유한 id 값을 나타냅니다.
fields_data: 생성된 리드의 필드 정보 값을 나타냅니다.
기본적인 name, email, phone, company 필드 뿐만 아닌 생성한 커스텀 필드들의 값을 포함한 정보 입니다.
question_and_answers: 워크플로우와 같은 기능 등을 통해 리드가 생성 될 때 리드가 입력한 폼의 답변들이 모아져 있는 값입니다.
( 리드를 수동으로 추가 하였을 경우 null )
created_datetime: 리드가 생성된 시간 값입니다.
(UTC 기준 / ISO 8601 형식을 따릅니다.)
assigner: 리드 담당자에 대한 정보 입니다.
( 리드에 담당자가 할당 되지 않았을 경우 null )
name: 리드 담당자 이름
email: 리드 담당자 이메일
Lead Deleted 이벤트는 리드가 삭제 되었을 때 트리거 되는 웹훅 이벤트 입니다.
웹훅으로 전달되는 페이로드는 다음과 같습니다.
source: 리드가 수집된 경로에 대한 정보 값을 나타냅니다.
( 시간 제안 하기 기능을 통해 수집된 리드 일 경우 값은 null )
link_id
title
type
multi-use
logic
id: 리드의 고유한 id 값을 나타냅니다.
fields_data: 삭제하는 대상 리드의 필드 정보 값을 나타냅니다.
기본적인 name, email, phone, company 필드 뿐만 아닌 생성한 커스텀 필드들의 값을 포함한 정보 입니다.
question_and_answers: 워크플로우와 같은 기능 등을 통해 리드가 생성 될 때 리드가 입력한 폼의 답변들이 모아져 있는 값입니다.
( 리드를 수동으로 추가 하였을 경우 null )
deleted_datetime: 리드가 삭제된 시간 값입니다.
(UTC 기준 / ISO 8601 형식을 따릅니다.)
assigner: 리드 담당자에 대한 정보 입니다.
( 리드에 담당자가 할당 되지 않았을 경우 null )
name: 리드 담당자 이름
email: 리드 담당자 이메일
Lead Updated 이벤트는 리드 정보 수정, 담당자 변경 등 리드에 대한 정보가 변경 되었을 때 트리거 되는 웹훅 이벤트 입니다.
웹훅으로 전달 되는 페이로드는 다음과 같습니다.
id: 리드의 고유한 id 값을 나타냅니다.
original_data: 수정 되기 전 리드의 필드 값들을 나타냅니다.
updated_data: 수정 된 이후 리드의 필드 값들을 나타냅니다.
updated_datetime: 리드가 업데이트 된 시간 값 입니다.
(UTC 기준 / ISO 8601 형식을 따릅니다.)
[ 데이터 유의 사항 ]
리드의 필드 데이터는 기본 name, email, phone, company 필드와 직접 생성한 커스텀 필드의 값을 가집니다.
리드의 담당자가 변경 되었을 경우 assigner 필드 object 안에 변경된 담당자 정보인 email, name 값을 가지고 있습니다.
original_data 필드의 assigner 필드 값이 null 이고
updated_data 필드의 assigner 필드값이 존재 할 때
=> 리드에 담당자가 새로 할당 됨을 나타냅니다.
Deal Created 이벤트는 딜이 생성 되었을 때 트리거 되는 웹훅 이벤트 입니다.
id: 딜의 고유 id 값 입니다.
record_type: 딜의 종류를 나타내는 값 입니다.
fields_data: 딜의 필드 정보 값을 나타냅니다. 기본적인 name, email, phone, company 필드 뿐만 아닌 생성한 커스텀 필드들의 값을 포함한 정보 입니다.
question_and_answers: 워크플로우와 같은 기능 등을 통해 리드가 생성 될 때 리드가 입력한 폼의 답변들이 모아져 있는 값입니다.
( 리드 혹은 딜을 수동으로 추가 하였을 경우 null )
assigner: 딜의 담당자에 대한 정보 입니다.
( 딜 담당자가 할당 되지 않았을 경우 null )
name: 딜 담당자 이름
email: 딜 담당자 이메일
created_datetime: 딜이 추가된 시간 값 입니다. (UTC 기준 / ISO 8601 형식을 따릅니다.)
Deal Deleted 이벤트는 딜이 삭제 되었을 때 트리거 되는 웹훅 이벤트 입니다.
id: 딜의 고유 id 값 입니다.
record_type: 딜의 종류를 나타내는 값 입니다.
fields_data: 딜의 필드 정보 값을 나타냅니다. 기본적인 name, email, phone, company 필드 뿐만 아닌 생성한 커스텀 필드들의 값을 포함한 정보 입니다.
question_and_answers: 워크플로우와 같은 기능 등을 통해 리드가 생성 될 때 리드가 입력한 폼의 답변들이 모아져 있는 값입니다.
( 리드 혹은 딜을 수동으로 추가 하였을 경우 null )
assigner: 딜의 담당자에 대한 정보 입니다.
( 딜 담당자가 할당 되지 않았을 경우 null )
name: 딜 담당자 이름
email: 딜 담당자 이메일
deleted_datetime: 딜이 삭제 된 시간 값 입니다.
(UTC 기준 / ISO 8601 형식을 따릅니다.)
Pipeline Allocated 이벤트는 리드를 파이프라인에 할당 하였을 때 트리거 되는 웹훅 이벤트 입니다.
pipeline: 할당된 파이프라인의 정보 값을 나타냅니다.
id: 할당된 파이프라인의 id 값 입니다.
title: 할당된 파이프라인의 제목 값 입니다.
stage: 파이프라인 내 딜을 할당한 단계에 대한 정보 값 입니다.
id: 파이프라인의 단계에 대한 id 값 입니다.
title: 파이프라인의 단계에 대한 제목 값 입니다.
deal: 파이프라인에 할당된 대상 딜의 정보 값 입니다.
id: 딜의 고유 id 값 입니다.
record_type: 딜의 종류를 나타내는 값 입니다.
fields_data: 딜의 필드 정보 값을 나타냅니다.
기본적인 name, email, phone, company 필드 뿐만 아닌 생성한 커스텀 필드들의 값을 포함한 정보 입니다.
question_and_answers: 워크플로우와 같은 기능 등을 통해 리드가 생성 될 때 리드가 입력한 폼의 답변들이 모아져 있는 값입니다.
( 리드 혹은 딜을 수동으로 추가 하였을 경우 null )
assigner: 딜의 담당자에 대한 정보 입니다.
( 딜 담당자가 할당 되지 않았을 경우 null )
name: 딜 담당자 이름
email: 딜 담당자 이메일
allocated_datetime: 파이프라인에 할당한 시간 값 입니다. (UTC 기준 / ISO 8601 형식을 따릅니다.)
Pipeline Moved 이벤트는 파이프라인에 할당 되어 있는 리드를 다른 단계로 이동 시 트리거 되는 웹훅 이벤트 입니다.
source_pipeline: 이동 전 딜이 할당 되어 있던 pipeline의 정보를 나타냅니다.
id: 이동 전 할당 되어있던 파이프라인의 id 값 입니다.
title: 이동 전 할당 되어있던 파이프라인의 제목 값 입니다.
stage: 이동 전 할당 되어있던 파이프라인의 단계에 대한 정보를 나타냅니다.
id: 이동 전 할당 되어있던 파이프라인의 단계에 대한 id 값 입니다.
title: 이동 전 할당 되어있던 파이프라인의 단계에 대한 제목 값 입니다.
target_pipeline: 이동한 pipeline의 정보를 나타냅니다.
id: 이동 후 할당된 파이프라인의 id 값 입니다.
title: 이동 후 할당된 파이프라인의 제목 값 입니다.
stage: 이동 후 할당된 파이프라인의 단계에 대한 정보를 나타냅니다.
id: 이동 후 할당된 파이프라인의 단계에 대한 id 값 입니다.
title: 이동 후 할당된 파이프라인의 단계에 대한 제목 값 입니다.
deal: 파이프라인에서 단계를 이동 한 대상 딜의 정보 값 입니다.
id: 딜의 고유 id 값 입니다.
fields_data: 딜의 필드 정보 값을 나타냅니다. 기본적인 name, email, phone, company 필드 뿐만 아닌 생성한 커스텀 필드들의 값을 포함한 정보 입니다.
question_and_answers: 워크플로우와 같은 기능 등을 통해 리드가 생성 될 때 리드가 입력한 폼의 답변들이 모아져 있는 값입니다.
( 리드 혹은 딜을 수동으로 추가 하였을 경우 null )
assigner: 딜 담당자에 대한 정보 입니다.
( 딜에 담당자가 할당 되지 않았을 경우 null )
name: 딜 담당자 이름
email: 딜 담당자 이메일
moved_datetime: 다른 파이프라인 단계로 이동한 시간 값 입니다.
(UTC 기준 / ISO 8601 형식을 따릅니다.)
Pipeline Deallocated 이벤트는 파이프라인에 할당되어 있던 리드가 할당 해제가 되었거나 리드 삭제로 인해 파이프라인으로 부터 할당 해제가 되었을 때 트리거되는 웹훅 이벤트 입니다.
pipeline: 할당된 파이프라인의 정보 값을 나타냅니다.
id: 할당된 파이프라인의 id 값 입니다.
title: 할당된 파이프라인의 제목 값 입니다.
stage: 파이프라인 내 리드를 할당한 단계에 대한 정보 값 입니다.
id: 파이프라인의 단계에 대한 id 값 입니다.
title: 파이프라인의 단계에 대한 제목 값 입니다.
deal: 파이프라인에 할당 해제 한 대상 딜의 정보 값 입니다.
id: 리드의 고유 id 값 입니다.
fields_data: 딜의 필드 정보 값을 나타냅니다.
기본적인 name, email, phone, company 필드 뿐만 아닌 생성한 커스텀 필드들의 값을 포함한 정보 입니다.
question_and_answers: 워크플로우와 같은 기능 등을 통해 리드가 생성 될 때 리드가 입력한 폼의 답변들이 모아져 있는 값입니다.
( 리드 혹은 딜을 수동으로 추가 하였을 경우 null )
assigner: 딜 담당자에 대한 정보 입니다.
( 딜에 담당자가 할당 되지 않았을 경우 null )
name: 딜 담당자 이름
email: 딜 담당자 이메일
deallocated_datetime: 파이프라인으로 부터 할당 해제된 시간 값 입니다.
(UTC 기준 / ISO 8601 형식을 따릅니다.)