워크플로우란?
워크플로우는 여러 단계를 시각적으로 연결해 만드는 파이프라인입니다. 단일 LLM 호출로 처리하기 어려운 복잡한 작업을, 노드들을 엮어 자동화할 수 있습니다.
노드를 연결해 워크플로우를 구성합니다
예시 시나리오:
- 사용자 질문 입력 →
- 질문 분류 (LLM) →
- 분류 결과에 따라 라우팅 →
- 각 분기에서 도구 호출 / 지식 검색 →
- 최종 답변 출력

에디터 구성
워크플로우 에디터(/workflows/:id)는 세 영역으로 구성됩니다.
- 좌측 팔레트 — 추가할 수 있는 노드 목록
- 중앙 캔버스 — 노드를 드래그·연결하는 작업 공간
- 우측 설정 패널 — 선택한 노드의 상세 설정
캔버스 조작:
- 드래그하여 이동 · 클릭하여 선택
- 노드 간 연결선 을 드래그해 생성
- Ctrl+S 저장, Ctrl+Z 실행 취소, Ctrl+Shift+Z / Ctrl+Y 다시 실행

노드 타입
워크플로우를 구성하는 노드는 다음과 같습니다. (상세 사용법은 노드 타입 상세)
| 노드 | 설명 |
|---|---|
| 시작 (start) | 이름·타입을 지정한 입력값을 받는 시작점 |
| LLM (llm) | LLM 호출. 시스템/사용자 프롬프트, 온도, 웹검색 옵션 |
| 도구 (tool) | OpenAPI / MCP 도구 호출 |
| 지식검색 (knowledge_retrieval) | 지식 베이스에서 문서 검색 (RAG) |
| 에이전트 (agent) | 저장된 챗봇(에이전트)을 하나의 단계로 호출 |
| 웹검색 (web_search) | 웹 검색 엔진으로 자료 수집 |
| 질문분류기 (question_classifier) | 질문을 LLM으로 분류해 라우팅 |
| 조건분기 (if_else) | 조건 비교로 분기 (AND/OR, 다양한 연산자) |
| 반복 (iteration) | 배열의 각 아이템마다 본문 실행 |
| 루프 (loop) | 조건을 만족할 때까지 본문 반복 |
| 노트 (note) | 노트 시스템에 노트 생성/조회/수정 |
| 메모 (memo) | 실행에 영향 없는 설명 메모 |
| 출력 (output) | 최종 결과 출력 |
실행
워크플로우를 저장한 뒤 실행 버튼을 누르면:
- 입력 메시지를 받아 파이프라인을 통과합니다.
- 각 노드의 진행 상황이 실시간 스트리밍으로 표시되고, 현재 실행 중인 노드는 캔버스에서 강조되며 화면이 자동으로 따라갑니다.
- 각 단계의 소요 시간이 라이브 경과 + 결과 배지로 표시됩니다.
- 결과는 마지막 출력 노드뿐 아니라 노트·도구 노드로 끝나는 흐름도 유효한 종료로 인정됩니다.
실행 전 유효성 검사로 문제를 미리 알려줍니다 — 시작 노드 없음/중복, 연결되지 않은 노드(고립), 막다른 길(dead-end), LLM·질문분류기 노드의 모델 미지정 등.
[!NOTE]
- 워크플로우 실행은 스트리밍으로 표시됩니다.
변수 & 템플릿
노드는 서로의 출력을 참조할 수 있습니다. Mustache 스타일({{node.field}})로 변수를 삽입하며, 변수 삽입 드롭다운에서 사용 가능한 변수를 탐색할 수 있습니다.
- 노드마다 사람이 읽는 이름(별명) 을 붙일 수 있고, 변수 선택기에는 별명으로 표시됩니다.
- 반복/루프 안에서는
{{<nodeId>.current}},{{<nodeId>.index}}형식의 루프 변수를 사용합니다.
자세한 문법은 변수 & 템플릿 문서를 참고하세요.
목록 화면
워크플로우 목록(/workflows)에서는:
- 개인 / 그룹 탭으로 내 워크플로우와 그룹에 공유된 워크플로우를 나눠 볼 수 있습니다.
- 목록에서 즉시 실행 버튼으로 에디터를 열지 않고 바로 실행할 수 있습니다.
템플릿으로 시작
처음부터 빈 워크플로우를 만들기보다, 예시에서 시작 다이얼로그의 템플릿으로 시작하면 빠릅니다.
- 기본 Q&A
- 지식베이스 답변 (RAG)
- 질문 분류 → 라우팅
빈 워크플로우부터 만들려면 목록의 새 워크플로우 버튼을 사용하세요.
스케줄 실행
저장된 워크플로우는 주기적으로 자동 실행할 수 있습니다. 자세한 내용은 스케줄 관리 를 참고하세요.