Laney Docs
워크플로우 (트리거)

트리거 가이드

데이터가 변경될 때 자동으로 작업을 실행하는 트리거 기능을 안내합니다. 예약이 확정되면 메시지를 보내거나, 고객 정보가 변경되면 외부 시스템에 알림을 보내는 등의 자동화를 설정할 수 있습니다.


1. 트리거란?

"~하면 ~한다" 규칙을 설정하는 기능입니다.

  • "예약이 확정되면 → 고객에게 확인 메시지를 보낸다"
  • "새 고객이 등록되면 → 환영 메시지를 보낸다"
  • "고객 상태가 VIP로 변경되면 → CRM에 알린다"

트리거는 감시 대상, 조건, 실행할 작업 세 가지로 구성됩니다.


2. 감시 대상 (어떤 데이터를 감시할까?)

현재 트리거를 설정할 수 있는 데이터는 3가지입니다.

감시 대상설명활용 예시
고객 (organization_customers)고객 정보의 생성/변경신규 고객 등록, 등급 변경, 연락처 업데이트
예약 (reservations)예약의 생성/변경예약 접수, 확정, 취소, 날짜 변경
채팅 (chat_sessions)채팅 세션의 생성/변경새 상담 시작, 채팅 종료

감시 이벤트

이벤트설명
새로 생성 (insert)데이터가 새로 만들어질 때
변경 (update)기존 데이터가 수정될 때
생성 또는 변경 (upsert)둘 다 감시

3. 조건 (언제 실행할까?)

감시 대상의 모든 변경에 반응하면 너무 많은 작업이 실행됩니다. **조건(필터)**을 설정하면 특정 상황에서만 트리거가 실행됩니다.

조건 연산자

연산자의미예시
eq값이 ~와 같을 때상태가 "confirmed"일 때
neq값이 ~와 다를 때상태가 "cancelled"가 아닐 때
in값이 목록 중 하나일 때상태가 ["confirmed", "completed"] 중 하나일 때
not_in값이 목록에 없을 때상태가 ["cancelled", "no_show"]가 아닐 때
changed값이 변경되었을 때상태 필드가 바뀌었을 때 (어떤 값이든)
changed_to특정 값으로 변경되었을 때상태가 "confirmed" 변경되었을 때
changed_from특정 값에서 변경되었을 때상태가 "pending"에서 변경되었을 때
is_null값이 비어있을 때이메일이 없는 고객
is_not_null값이 있을 때전화번호가 있는 고객
contains값에 특정 문자가 포함될 때메모에 "VIP"가 포함된 고객

조건 조합

  • 모두 만족 (AND): 설정한 조건을 전부 충족해야 실행
  • 하나라도 만족 (OR): 조건 중 하나만 충족해도 실행

조건 설정 예시

"예약이 확정되었을 때":

감시 대상: 예약
이벤트: 변경
조건 (모두 만족):
  - status가 "confirmed"로 변경되었을 때 (changed_to)

"VIP 고객이 새로 등록되었을 때":

감시 대상: 고객
이벤트: 새로 생성
조건 (모두 만족):
  - form_data.grade 값이 "vip"일 때 (eq)

"예약이 취소되거나 노쇼일 때":

감시 대상: 예약
이벤트: 변경
조건 (하나라도 만족):
  - status가 "cancelled"로 변경 (changed_to)
  - status가 "no_show"로 변경 (changed_to)

4. 실행할 작업 (무엇을 할까?)

조건이 충족되면 자동으로 실행되는 작업입니다.

작업 종류설명예시
메시지 발송고객에게 템플릿 메시지 발송예약 확인, 리마인더, 내원 후 안내
데이터 변경관련 데이터를 자동 수정고객 등급 자동 변경, 방문 횟수 업데이트
외부 알림외부 시스템에 웹훅 전달CRM 연동, 슬랙 알림, 외부 API 호출

5. 실전 활용 시나리오

5.1 예약 확정 → 확인 메시지 발송

트리거 이름: 예약 확정 알림
감시 대상: 예약
이벤트: 변경
조건: status가 "confirmed"로 변경
작업: "예약 확인" 템플릿 메시지 발송

고객이 받는 메시지:

"홍길동님, 3월 5일 오후 2시 예약이 확정되었습니다."

5.2 예약일 하루 전 → 리마인더 발송

트리거 이름: 예약 리마인더
감시 대상: 예약
이벤트: 변경 (시스템이 예약일 하루 전에 상태를 "reminder_sent"로 변경)
조건: reminder_status가 "pending"에서 변경
작업: "예약 리마인더" 템플릿 메시지 발송

5.3 새 고객 등록 → 환영 메시지

트리거 이름: 신규 고객 환영
감시 대상: 고객
이벤트: 새로 생성
조건: 없음 (모든 신규 고객)
작업: "환영 인사" 템플릿 메시지 발송

5.4 고객 등급 변경 → VIP 안내

트리거 이름: VIP 승급 안내
감시 대상: 고객
이벤트: 변경
조건: form_data.grade가 "vip"로 변경
작업: "VIP 혜택 안내" 템플릿 메시지 발송

5.5 예약 취소 → 내부 알림

트리거 이름: 예약 취소 알림
감시 대상: 예약
이벤트: 변경
조건: status가 "cancelled"로 변경
작업: 슬랙/내부 시스템에 웹훅 알림

6. 트리거 설정 방법

관리자 페이지에서 설정

  1. 트리거 메뉴로 이동
  2. 새 트리거 만들기 클릭
  3. 아래 항목을 설정합니다:
항목설명
이름트리거 구분용 이름 (예: "예약 확정 알림")
설명선택사항. 트리거의 목적 설명
감시 대상고객 / 예약 / 채팅 중 선택
이벤트새로 생성 / 변경 / 생성 또는 변경
조건필터 규칙 설정 (선택사항. 비워두면 모든 이벤트에 반응)
활성화ON/OFF 토글로 즉시 활성화/비활성화 가능

조건 입력 형식

조건은 JSON 형식으로 입력합니다:

모두 만족 (AND):

{
  "all": [
    { "field": "status", "op": "changed_to", "value": "confirmed" }
  ]
}

하나라도 만족 (OR):

{
  "any": [
    { "field": "status", "op": "changed_to", "value": "cancelled" },
    { "field": "status", "op": "changed_to", "value": "no_show" }
  ]
}

중첩 필드 (커스텀 필드 등):

{
  "all": [
    { "field": "form_data.grade", "op": "changed_to", "value": "vip" }
  ]
}

7. 실행 이력 확인

트리거가 실행될 때마다 자동으로 기록됩니다.

항목설명
실행 시각트리거가 실행된 시간
상태성공 / 실패 / 대기
대상 데이터어떤 예약/고객이 트리거를 발동시켰는지
응답작업 실행 결과
소요 시간실행에 걸린 시간 (ms)

실행 이력을 통해 트리거가 정상적으로 작동하고 있는지, 실패한 경우 원인이 무엇인지 확인할 수 있습니다.


8. 트리거 + 템플릿 메시지 연동 흐름

트리거와 템플릿 메시지를 함께 사용하면 완전한 자동화가 가능합니다.

[데이터 변경 발생]

[트리거 조건 확인] → 조건 불일치 → 종료
       ↓ 조건 일치
[작업 실행: 템플릿 메시지 발송]

[발송 경로 결정]
  ├─ 카카오 로그인 고객 → 친구톡 발송
  ├─ 전화번호만 있는 고객 → RCS → SMS 폴백
  └─ 연락처 없음 → 발송 실패 (로그 기록)

9. 주의사항

항목내용
조건 없는 트리거조건을 비워두면 해당 이벤트의 모든 변경에 반응합니다. 의도치 않은 대량 발송에 주의하세요
비활성화 활용테스트 후 바로 비활성화하고, 확인 후 활성화하는 것을 권장합니다
중복 트리거같은 조건의 트리거가 여러 개 있으면 작업이 중복 실행될 수 있습니다
실행 시간 제한외부 웹훅 호출은 10초 내에 응답해야 합니다. 초과 시 타임아웃으로 기록됩니다
커스텀 필드 조건고객의 커스텀 필드를 조건으로 사용하려면 form_data.필드명 형식으로 입력합니다

On this page