플로
저장한 요청, MCP 서버, Echolot의 도구를 캔버스에서 작은 프로그램으로 연결하고, 직접 실행하거나 일정에 따라, 웹훅으로, 또는 에이전트용 도구로 실행합니다.
플로는 직접 그리는 작은 프로그램으로, 연결로 이어진 블록들로 이루어집니다. 블록은 저장한 요청을 보내거나, 응답에서 값을 고르거나, 분기하거나, 반복하거나, 사용자에게 무언가를 묻거나, 변수를 저장하거나, 파일을 쓰는 등 한 가지 일을 합니다. 평소에 여러 단계에 걸쳐 직접 하던 일에 플로를 사용하세요. 예를 들면 기기 코드로 로그인하기, 결과를 페이지별로 넘기며 가져오기, 테스트 데이터를 만들고 정리하기, 매일 아침 API 점검하기, AI 에이전트에게 요청 다섯 개를 한 번에 실행하는 도구 하나를 주기가 있습니다.
플로는 작업 공간의 flows 폴더에 플로당 파일 하나로 저장되므로 요청과 마찬가지로 Git에서 검토하고 공유할 수 있습니다. 플로가 보내는 모든 요청은
요청 페이지에서 보낼 때와 같은 경로를 거칩니다. 변수, 인증, 스크립트, 검사, 프록시, 기록이 모두
적용됩니다.
플로 페이지
사이드바 상단의 모듈 전환기에서 플로를 선택하거나 ⌘5를 누릅니다. 사이드바에는 작업 공간의 플로가 나열됩니다.
각 이름 아래에는 플로가 시작되는 방식이 manual, agent tool, every hour, scheduled, webhook 중 하나로 표시됩니다. 플로 옆의
경고 표시는 실행하기 전에 고쳐야 할 문제가 있다는 뜻입니다.

페이지는 세 부분으로 이루어집니다.
- 툴바는 캔버스 위에 있습니다. 플로 이름(변경 사항이 아직 저장되지 않았으면 편집됨 표시), 문제 개수, 정리, 맞춤, 확대 수준, 복제, 실행, 실행 로그, 블록, 참고, 실행이 있습니다.
- 캔버스는 가운데에 있으며, 왼쪽 아래 모서리에 플로 전체의 작은 지도가 있습니다. 지도를 클릭하면 보기가 그 위치로 이동합니다.
- 인스펙터는 오른쪽에 있습니다. 아무것도 선택하지 않으면 플로 자체의 이름, 설명, 입력을 보여 주고, 블록 하나를 선택하면 그 블록의 설정을 보여 줍니다.
플로가 열려 있는 동안 사이드바에는 …의 실행(이 윈도우에서 한 플로의 실행, 최신순)과 캔버스로 끌어다 놓을 수 있는 작업 공간의 요청도 나열됩니다.
플로 만들기
- 사이드바에서 플로 옆의 +를 클릭합니다.
- 시작 블록이 출력 블록에 연결된 상태로 시작하려면 빈 플로를 선택하고, 템플릿으로 시작하려면 템플릿에서 아래의 항목을 선택합니다 (템플릿 참조).
- 새 플로가 캔버스에 열립니다. 인스펙터의 이름에서 이름을 바꿉니다.
작업 공간에 플로가 아직 없으면 페이지에 새로운 플로 버튼이 대신 표시됩니다.
플로를 삭제하려면 플로를 선택하고 플로 옆의 −를 클릭하거나, Control 키를 누른 채 클릭하고 삭제…를 선택합니다. Echolot이 먼저 확인한 다음 파일을 휴지통으로 이동합니다. 삭제한 플로를 실행하던 다른 플로는 더 이상 작동하지 않습니다.
캔버스에서 만들기
블록 추가
- 툴바의 블록을 클릭하거나 ⇧⌘B를 누르면 블록 선택기가 열립니다. 입력해서 검색한 다음 블록 종류를 클릭합니다. ↩를 누르면 첫 번째 일치 항목이 추가됩니다. 새 블록은 보기의 가운데에 놓이고 선택됩니다.
- 선택기에는 작업 공간의 저장된 요청도 요청 아래에 나열됩니다. 요청 하나를 고르면 그 요청을 이미 보내도록 설정된 요청 블록이 추가됩니다.
- 사이드바의 요청에서 요청을 캔버스로 끌어다 놓습니다. 놓은 자리에 요청 블록이 만들어집니다. 요청을 Control 키를 누른 채 클릭하고 플로에 추가를 선택하면 그 블록이 플로의 오른쪽에 놓입니다.
모든 블록 종류와 그 설정, 포트는 블록에 있습니다.

포트 연결
입력은 블록의 왼쪽 가장자리에, 출력은 오른쪽 가장자리에 있습니다. 값은 출력에서 나와 연결을 따라 이동해 입력에 도착하며, 블록은 연결된 모든 입력에 값이 들어온 뒤에 실행됩니다.
- 출력에서 입력으로 끌어 두 포트를 연결합니다. 연결이 붙을 수 있으면 포인터 아래의 포트가 밝아집니다. 입력에서 시작해 출력으로 끌어도 됩니다.
- 입력에는 연결이 하나만 들어갑니다. 다른 출력을 연결하면 기존 연결이 바뀝니다. 출력 하나는 여러 입력에 연결할 수 있습니다.
- 새 연결을 빈 캔버스 위에서 놓으면 그 자리에 블록 선택기가 열립니다. 이 연결을 받을 수 있는 블록만 나열되며, 고른 블록은 이미 연결된 채로 나타납니다.
- 연결을 옮기려면 연결이 끝나는 입력에서 끌어내어 다른 입력에 놓습니다. 빈 캔버스 위에 놓으면 연결이 끊어집니다.
- 연결 위에 포인터를 올리면 가운데에 연결을 끊는 버튼이 나타납니다.
선택, 이동, 정렬
- 블록을 클릭하면 선택됩니다. ⇧ 키나 ⌘ 키를 누른 채 클릭하면 블록이 선택에 추가되거나 선택에서 빠집니다.
- ⇧ 키나 ⌘ 키를 누른 채 빈 캔버스에서 끌면 선택 상자가 그려집니다. 상자에 닿은 블록이 선택에 포함됩니다.
- 블록을 끌면 이동합니다. Esc를 누르면 선택이 해제됩니다.
- 화살표 키는 해당 방향에서 가장 가까운 블록을 선택하고, 보기가 그 블록을 따라갑니다. 아무것도 선택하지 않은 상태에서는 시작 블록에서 출발합니다.
- 정리는 블록을 실행되는 순서대로 열로 배치합니다.
- 복제(⌘D)는 선택한 블록을 그 사이의 연결과 함께 복사합니다.
- ⌫는 선택한 블록을 연결과 함께 삭제하거나, 선택한 연결을 삭제합니다.
선택한 블록의 인스펙터에는 블록 삭제가 있습니다. 블록을 여러 개 선택하면 선택한 개수와 블록 삭제가 표시됩니다. 플로에는 시작 블록이 정확히 하나 있습니다. 시작 블록은 복사하거나 복제할 수 없고, 일시 중지할 수 없으며, 인스펙터에도 블록 삭제가 없습니다.
이동과 확대/축소
- 빈 캔버스를 끌거나 두 손가락 또는 마우스 휠로 스크롤하면 이동합니다.
- 핀치하거나 ⌘ 키를 누른 채 스크롤하면 확대/축소됩니다. 보기는 20 %에서 250 %까지 확대/축소되며 툴바에 현재 수준이 표시됩니다.
- 맞춤(⌥⌘0)은 플로 전체를 보여 줍니다. 텍스트를 읽을 수 있도록 50 % 아래로는 축소하지 않으며, 더 큰 플로는 왼쪽 가장자리에서 시작합니다.
복사와 붙여넣기
편집 › 복사(⌘C), 오려두기(⌘X), 붙여넣기(⌘V)는 선택한 블록과 그 사이의 연결에 적용됩니다. 붙여넣은 블록은 새 ID를 받고 선택 상태가 됩니다. 같은 플로에서는 원본 옆에, 다른 플로에서는 보기의 가운데에 놓입니다. 다른 작업 공간의 플로에도 붙여넣을 수 있습니다. 복사한 블록은 JSON 텍스트이므로 메시지나 이슈에 붙여넣을 수도 있습니다.
메모
툴바의 참고를 클릭하면 스티커 메모가 추가되며, 거기에 바로 입력할 수 있습니다. 메모는 블록 뒤에 놓이며 실행되지 않습니다.
- 메모를 끌어 이동하고, 오른쪽 아래 모서리의 핸들을 끌어 크기를 조절합니다.
- 메모를 더블 클릭하거나 Control 키를 누른 채 클릭하고 메모 편집…을 선택하면 텍스트를 바꿀 수 있습니다.
- Control 키를 누른 채 클릭하고 메모 삭제를 선택하면 메모가 제거됩니다.
템플릿은 메모를 사용해 어떤 요청을 고를지 안내합니다.
실행 취소와 저장
캔버스와 인스펙터에서 한 모든 변경은 편집 › 실행 취소(⌘Z)와 실행 복귀(⇧⌘Z)로 되돌릴 수 있습니다. 추가, 이동, 연결, 삭제, 설정, 메모, 정리가 모두 해당됩니다.
플로는 직접 저장하지 않아도 됩니다. Echolot이 마지막 변경 직후 잠시 뒤에 파일을 기록하며, 그때까지는 이름 옆에 편집됨이 표시됩니다. 저장에 실패하면 Echolot이 이유를 알려 주고 재시도, 변경 사항 폐기(디스크의 파일로 되돌림), 계속 편집을 제안합니다. 저장될 때까지 편집 내용은 캔버스에 그대로 남아 있습니다.
문제
Echolot은 플로를 편집하는 동안 계속 검사합니다. 툴바에 문제 개수가 표시되며, 클릭하면 목록이 열리고 문제를 클릭하면 해당 블록이 선택됩니다. 문제가 있는 블록에는 경고 표시가 나타나고, 그 블록의 인스펙터에 문제가 나열됩니다.
오류가 있으면 플로를 실행할 수 없습니다. 시작 블록이 없거나, 필수 설정이 비어 있거나(예: 요청이 없는 요청 블록), 존재하지 않는 요청이나 플로가 있거나, 연결이 순환하는 경우가 그렇습니다. 경고는 실행을 막지 않습니다. 예를 들어 아무것도 연결되지 않아 실행되지 않는 블록이 있습니다. 같은 일을 다시 하려면 연결을 순환시키지 말고 반복, 각 항목 반복, 폴링을 사용하세요.
입력과 출력
입력은 실행이 시작될 때 가지고 있는 값입니다. 아무것도 선택하지 않은 상태에서 인스펙터에 추가합니다. 입력 옆의 +를 클릭하고, 이름을
입력한 다음 유형(any, text, number, bool, object, list, secret)을 선택합니다. 시작 블록에는 입력마다 출력이 하나씩 생기고,
모든 입력을 하나의 객체로 보내는 run도 생깁니다.
입력은 실행 시트, echolot flow run의 --input 옵션, 에이전트의 도구 호출, 또는 웹훅의 쿼리와 JSON 본문에서 들어옵니다. 텍스트는 입력의
유형으로 변환됩니다. 3은 숫자로, true나 yes는 bool로, JSON 텍스트는 객체나 목록으로 바뀝니다. secret 입력은 실행 로그와 에이전트가 보는
내용에서 숨겨집니다.
기본값, 설명, 입력의 필수 여부는 플로의 파일([[inputs]] 테이블의 default, description, required)에서 설정합니다.
작업 공간 파일을 참조하세요. 실행 시트는 설명을 필드의 플레이스홀더로 표시하고 기본값을 채워 넣습니다.
출력 블록은 실행이 돌려주는 값을 담습니다. 플로를 호출한 에이전트, echolot flow run, 웹훅을 호출한 쪽, 또는 상위 플로의 플로 블록에 값이
전달됩니다. 플로에는 출력 블록이 최대 하나 있습니다.
플로 실행하고 지켜보기
실행을 클릭하거나 ⌘R을 누릅니다. 입력이 있는 플로는 먼저 입력을 채우는 시트가 열리며, 빈 필드에는 입력의 기본값이 사용됩니다. 플로가 저장된 다음, 윈도우의 활성 환경으로 실행됩니다. 플로에 오류가 있는 동안에는 실행을 사용할 수 없습니다.
실행하는 동안 다음과 같이 표시됩니다.
- 각 블록의 테두리가 상태를 보여 줍니다. 실행 중이거나 사용자를 기다리는 중, 통과(초록색), 실패(빨간색)입니다.
- 캔버스 아래에 실행 로그가 열립니다. 블록이 끝날 때마다 걸린 시간, 로그 줄, 테스트 결과(머리글의 테스트 3/3), 실행이 어떻게 끝났는지를 나열합니다. 줄을 클릭하면 해당 블록이 선택됩니다.
- 사용자에게 묻는 블록(묻기, 표시 후 대기, 승인)은 시트를 엽니다. 사람 블록을 참조하세요.
- 중단(⌘.)이 실행을 대신해 나타나며 실행을 끝냅니다. 화면에 떠 있던 질문은 사라집니다.
실행이 끝난 뒤 블록을 선택하면 인스펙터에서 마지막 실행을 볼 수 있습니다. 걸린 시간과, 보기 아래에 포트별 입력과 출력 값이 표시됩니다. 추출 블록이나 템플릿에 쓸 값의 경로를 찾을 때 활용하세요.

이전 실행은 윈도우에 남아 있습니다. 사이드바의 …의 실행 아래에서 실행을 클릭하거나 툴바의 실행에서 선택하면 그 실행이 캔버스에 다시 표시됩니다. 해당 메뉴의 캔버스 지우기나 실행 로그의 지우기는 실행 상태를 제거합니다. 실행이 실패했고 Mac의 온디바이스 모델을 사용할 수 있으면 실행 로그 머리글의 버튼이 실패 원인을 설명해 줍니다.
보호된 환경이 활성 상태이면 버튼이 Production에서 실행…으로 바뀌고, Echolot이 실행을 시작하기 전에 한 번 확인합니다.
실행, 일정, 웹훅, 에이전트, 명령줄에 관한 자세한 내용은 실행과 트리거를 참조하세요. 따라 해 볼 수 있는 예제는 플로로 자동화하기를 따라 하세요.
키보드 단축키
| 단축키 | 동작 |
|---|---|
| ⌘5 | 플로 모듈 보기 |
| ⌘R | 플로 실행 |
| ⌘. | 실행 중단 |
| ⇧⌘B | 블록 추가 |
| ⌘D | 선택한 블록 복제 |
| ⌥⌘0 | 플로 전체 맞춤 |
| ⌘C, ⌘X, ⌘V | 블록 복사, 오려두기, 붙여넣기 |
| ⌫ | 선택 항목 삭제 |
| ⌘Z, ⇧⌘Z | 실행 취소, 실행 복귀 |
| 화살표 키 | 해당 방향에서 가장 가까운 블록 선택 |
| Esc | 선택 해제 |


