LaneyGuide
기능별로 보기워크플로우 설정과 실행 관리

워크플로우 실행 조건과 단계 설정하기

워크플로우의 정보 탭에서 실행 사건과 진입 필터를 설정하고, 흐름 캔버스에서 기능 단계와 판단 분기 및 반복 대상을 연결한 뒤 시험 실행으로 결과를 확인합니다.

작업 가이드검증일 2026. 10. 12.관리 Laney 제품팀

이 작업을 마치면해당 workflow run과 step run에 의도한 결과가 있고 중복 실행이 없습니다.

시작 조건과 입력

자동화가 사용할 실행 주체의 권한과 시험용 원본 기록, 외부 발송 포함 여부를 먼저 확인하세요.

이 작업에 사용할 값

entry_url, workflow_id, trigger, source_conditions, step_inputs, schedule, workflow_run_url

커맨드 시퀀스

open "$entry_url" && snapshot -i

click "$workflow_row" && snapshot -i

click "$info_tab" && snapshot -i

click "$trigger_picker" && snapshot -i

click "$cron_option" && snapshot -i

fill "$schedule_input" "$schedule" && press 'Tab' && snapshot -i

click "$flow_tab" && snapshot -i

click "$step_node" && snapshot -i

get text body

# 외부 수행: 시험용 원본 이벤트를 한 번 발생시킵니다. 실제 고객 발송을 포함하는 설정은 시험 대상만 사용하세요.

open "$workflow_run_url" && snapshot -i

get text body
ref 대상과 확인할 결과
#커맨드 / ref대상과 확인 기준
1click $workflow_row설정할 워크플로우 기록 행
2click $info_tab상세 패널 상단의 정보 탭 (또는 캔버스 맨 위의 트리거 카드 클릭)
3click $trigger_picker트리거 선택 입력
4click $cron_option시험에 사용할 스케줄(cron) 또는 이벤트 항목
5fill $schedule_input스케줄 입력란 (DB 트리거라면 필터에서 진입 조건 추가)
6press설정 입력에서 포커스를 옮겨 자동 저장을 마치세요.
7click $flow_tab상세 패널 상단의 흐름 탭
8click $step_node캔버스에서 확인할 단계 카드 (#1, #2)
9get text단계의 기능, 실행 조건(when), 반복 대상(each)과 입력 설정을 확인하세요.
10외부 수행시험용 원본 이벤트를 한 번 발생시킵니다. 실제 고객 발송을 포함하는 설정은 시험 대상만 사용하세요.
11open이번 시험의 워크플로우 실행(workflow_runs) 기록
12get text같은 원본 이벤트의 실행 단계(step_runs)와 결과 기록을 대조하세요.

결과 확인

해당 workflow run과 step run에 의도한 결과가 있고 중복 실행이 없습니다.

중단 후 다시 시작하기

다시 시작할 때 같은 ID의 현재 값을 읽으세요. 이미 맞게 저장된 설정은 유지하고 다른 값만 수정합니다.

예약이 확정되었을 때 안내 메시지를 보내거나, 시작 시각이 지났는데도 방문하지 않은 예약을 찾아 후속 조치를 남기는 것처럼 반복되는 운영 업무는 워크플로우로 자동화할 수 있습니다. 워크플로우 상세 패널은 전체 실행 구조를 그래프 형태로 보여 주는 흐름 탭과 트리거 및 상태를 편집하는 정보 탭으로 구성됩니다.

이 문서는 워크플로우를 초안(draft) 상태로 두고 트리거와 진입 필터를 설정한 뒤, 흐름 캔버스에서 실행 단계와 AI 또는 규칙 기반 판단 단계를 연결하고 시험 사건으로 검증하는 방법을 안내합니다.

설정할 트리거 예시: 매일 오전 9시 스케줄(0 9 * * *) 또는 예약 상태가 확정으로 바뀔 때(db)

구성할 단계 예시: 대상 조회 또는 판단(workflows.decide) 후 조건에 맞는 후속 기능 실행

처음부터 운영 상태(active)로 두고 편집하면 미완성 단계가 실제 고객에게 실행될 수 있습니다. 시험 기록 한 건으로 실행 기록과 단계 결과를 끝까지 확인한 뒤에 상태를 활성으로 전환하세요.

흐름 탭과 정보 탭의 구성

왼쪽 메뉴에서 워크플로우를 열고 목록에서 워크플로우를 클릭하면 오른쪽 패널 상단에 흐름 탭과 정보 탭이 나타납니다.

화면 영역역할주요 조작
흐름 탭 (캔버스)맨 위의 트리거 카드부터 각 실행 단계(#1, #2)와 분기 연결선을 그래프로 보여 줍니다.트리거 카드를 클릭하면 정보 탭으로 이동하고, 단계 카드를 클릭하면 오른쪽에 해당 단계의 상세 편집 패널이 열립니다.
흐름 탭 상단 버튼 (추가 / 판단)현재 워크플로우에 새 단계를 추가합니다.추가는 일반 기능 단계(조회, 생성, 수정, 발송)를 만들고, 판단은 AI 추론이나 규칙으로 분기 값을 만드는 workflows.decide 단계를 추가합니다.
정보 탭워크플로우의 이름, 설명, 운영 상태(초안, 활성, 일시 중지)와 트리거 세부 조건을 관리합니다.트리거 종류를 바꾸거나 db 트리거의 진입 필터 칩을 추가 및 수정합니다.

실행 사건과 조건

정보 탭(또는 흐름 캔버스 맨 위의 트리거 카드 클릭)에서 워크플로우가 언제 시작될지 트리거를 선택합니다. 업무 성격에 따라 다음 네 가지 중 하나를 고르세요.

트리거 종류실행 시점적합한 업무 예시
db (데이터 변경)감시 대상 테이블(customers, reservations, conversations, messages, purchases, form_submissions, calls 등)에 기록이 추가(insert), 수정(update), 삭제(delete)될 때예약 상태가 확정으로 바뀌는 즉시 확인 안내 보내기
cron (스케줄)등록한 크론 일정(예: 0 9 * * *) 시각이 되었을 때매일 아침 오늘 방문 예정인 예약 목록을 조회해 안내 준비하기
heartbeat (주기 점검)시스템 주기마다 아직 처리되지 않은 대상 기록을 찾아 실행할 때시작 시각이 30분 이상 지난 미방문 확정 예약을 찾아 후속 조치하기
reply (대화 응답)AI 대화 응답의 특정 시점(응답 생성 전, 도구 실행 후, 응답 전송 전)에 개입할 때AI가 답변을 생성하기 전에 고객 문맥을 분류하거나 추가 조치를 실행하기

db 트리거를 선택하면 감시할 테이블(source_table)과 사건(source_event) 아래에 목록 화면과 동일한 필터(source_query) 편집기가 나타납니다. 필터 버튼을 눌러 예를 들어 상태: 확정 조건 칩을 추가하면, 예약이 새로 생성될 때 확정 상태이거나 이전 상태가 확정이 아니었다가 확정으로 새로 진입한 경우에만 워크플로우가 실행됩니다. 설정한 조건 칩은 흐름 탭의 트리거 카드 하단에도 그대로 표시됩니다.

실행 단계와 입력

흐름 탭으로 돌아와 오른쪽 위의 추가 또는 판단 버튼을 클릭해 단계를 구성합니다. 캔버스에서 단계 카드를 클릭하면 옆에 열리는 단계 상세 패널에서 다음 항목을 설정할 수 있습니다.

1. 일반 기능 단계와 목록 조회(*.list) 및 반복 실행(each)

  1. 기능(feature) 선택: 단계가 실행할 작업(예: reservations.list, reservations.update, 템플릿 메시지 발송 등)을 선택합니다.
  2. 목록 조회 조건 설정: 선택한 기능이 reservations.list나 customers.list 같은 목록 조회라면, 입력 영역에 전용 필터 칩 편집기(조회 조건 (where), 정렬 기준 (order), 최대 건수 (limit))가 나타납니다. 필터 버튼을 눌러 조회할 상태나 기간 조건을 칩으로 추가하세요.
  3. 반복 대상(each) 연결: 앞선 조회 단계가 찾은 여러 기록을 하나씩 처리하려면 다음 단계의 each 입력란에 앞 단계의 행 배열 경로(예: ${steps.step_1.rows})를 지정합니다. each가 설정된 단계 카드는 캔버스에 ↻ ${steps.step_1.rows} 배지가 표시되며, 실행 시 각 항목을 ${item}으로 받아 건별로 단계 실행(step_runs)을 남깁니다.

2. 판단(workflows.decide) 단계와 조건 분기(when)

고객 문의 내용이나 기록 상태를 분류해 서로 다른 단계로 분기하려면 상단에서 판단 버튼을 눌러 판단 단계를 추가합니다.

  1. 판단 대상(state)과 질문 키: 판단할 기준 데이터(예: 트리거 데이터 (${trigger}) 또는 반복 항목 (${item}))를 고르고 질문 키(예: urgency)를 입력합니다.
  2. 질문 유형과 평가 방식:
    • 질문 유형은 선택형 (Choice), 예/아니오 (Boolean), 점수/단계 (Score), 테이블 필드 연결 중 하나를 선택합니다.
    • 평가 방식이 AI 추론이면 선택지 기준과 판단 지침을 문장으로 적고, **규칙 (Rules)**이면 기준 테이블과 필터 칩 케이스별로 반환할 답을 지정합니다.
  3. 후속 단계의 실행 조건(when) 연결: 판단 결과에 따라 실행할 후속 단계 카드를 클릭하고 **실행 조건 (when)**에서 조건 추가를 누릅니다. 조건 기준 데이터에서 앞선 판단 질문(예: 판단: 판단 1 - urgency)이나 트리거 데이터를 고른 뒤, 필터 칩으로 조건(예: 값: high)을 지정하세요. 설정을 마치면 흐름 캔버스의 두 단계 사이 연결선 위에 해당 조건 칩이 표시되어 분기 경로를 한눈에 볼 수 있습니다.

실행 권한

워크플로우는 이를 생성하거나 소유한 구성원(member)의 역할 권한 범위 안에서 실행됩니다. 단계에 지정한 기능(조회, 수정, 발송)이 소유 구성원의 역할에 허용되어 있는지 조직과 데이터 접근 권한에서 확인하세요.

프롬프트나 단계 설명에 권한을 허용한다는 문구를 적어도 실제 데이터베이스 접근 권한은 바뀌지 않습니다. 소유 구성원의 역할이 축소되거나 계정이 비활성화되면 워크플로우 실행이 거부될 수 있으므로 담당자 변경 시 함께 점검하세요.

중복 실행과 오류 처리

특히 heartbeat나 cron처럼 반복 실행되는 워크플로우에서는 이미 처리한 기록이 다음 주기에 다시 선택되지 않도록 조건을 설계해야 합니다.

  1. 상태 전환으로 재진입 방지: 예를 들어 미확정 예약을 조회해 안내를 보냈다면, 후속 단계에서 예약 상태나 확인 필드를 함께 갱신해 다음 조회 조건에서 제외되게 만듭니다.
  2. 외부 발송과 결제의 중복 방지: 메시지 발송, AI 아웃바운드 전화, 결제 요청처럼 고객에게 직접 전달되는 단계가 있다면 같은 원본 사건에 대해 이미 발송이나 결제가 완료되었는지 먼저 확인합니다.

시험 실행 확인

설정을 마쳤다면 실제 고객 전체에 적용하기 전에 합성 시험 기록 한 건으로 실행을 검증하세요.

  1. 시험용 예약이나 고객 기록 한 건으로 트리거 조건을 만족시킵니다. 발송 단계가 포함된 경우 수신처가 시험용 연락처로 제한되어 있는지 반드시 확인하세요.
  2. 왼쪽 메뉴에서 워크플로우 실행을 열어 방금 생성된 실행 기록의 상태가 성공(succeeded)인지 확인합니다.
  3. 실행 기록을 클릭해 각 단계 실행(step_runs)의 입력과 출력, 판단 단계가 반환한 값(values), 분기 조건에 따라 건너뛴 단계(skipped)가 의도와 맞는지 대조합니다.
  4. 같은 사건을 다시 발생시켰을 때 중복 실행이 일어나지 않는 것까지 확인한 뒤, 워크플로우 정보 탭에서 상태를 활성(active)으로 바꾸세요.

결과가 예상과 다를 때

기록을 수정했는데 db 트리거 워크플로우가 실행되지 않습니다

update 사건에 필터(source_query)가 설정되어 있으면, 수정 전에는 조건을 만족하지 않다가 수정 후에 조건을 만족하게 된 새 진입 순간에만 실행됩니다. 이미 상태: 확정이었던 예약의 메모만 수정한 경우에는 다시 실행되지 않는 것이 정상입니다. 또한 워크플로우의 상태가 초안이나 일시 중지가 아닌지 정보 탭에서 확인하세요.

흐름 캔버스에서 추가한 단계가 원하는 분기 아래에 연결되지 않습니다

캔버스의 연결선은 단계의 실행 조건(when), 반복 대상(each), **입력(input)**에서 참조하는 앞 단계(${steps.<이름>} 또는 판단 질문)를 기준으로 자동 배치됩니다. 특정 판단 단계 아래로 분기시키려면 후속 단계의 **실행 조건 (when)**에서 해당 판단 질문을 조건 기준 데이터로 선택하세요.

반복 실행(each) 단계가 0건으로 건너뛰어집니다

앞선 조회 단계(*.list)의 실행 결과(step_runs)를 열어 실제로 조회된 행(rows)이 있는지 먼저 확인하세요. 또한 each 입력란에 적은 단계 슬러그 이름(예: ${steps.step_1.rows})이 앞 단계의 이름과 정확히 일치하는지 대조합니다.

실행 기록에 권한 오류가 나타납니다

워크플로우 소유 구성원의 역할에 해당 단계의 기능(예: reservations.update 또는 deliveries.insert) 권한이 있는지 확인하세요. 권한을 수정한 뒤에는 실패 단계 확인과 복구 절차에 따라 안전하게 재개합니다.

이 페이지에서