n8n에 해당 사이트 노드가 없다면
승인된 API가 필요한 동작을 제공하는지 먼저 확인합니다. 화면에 표시된 버튼이나 로그인 페이지가 필요하면 HTTP로 브라우저 런타임을 연결합니다. 일반 워크플로에서 입력을 검증하고 결과를 분기합니다. AI Agent는 이 하위 워크플로를 도구로 부를 수 있습니다.
테스트 포털에서 브라우저가 Confirm demo를 클릭하고 상태를 읽을 수 있습니다. n8n은 작업 ID를 보관하고 실제 기록이 바뀌었는지 검증합니다. 응답 실패 뒤 다시 클릭하기 전에 상태를 읽으세요. 기록은 바뀌었는데 응답만 오지 않았을 수 있습니다. 브라우저 자동화 도구 검색과 브라우저 조작
워크플로와 브라우저의 역할 구분하기
| 단계 | 역할 | 남길 값 |
|---|---|---|
| 상위 워크플로 또는 AI Agent | 승인된 동작을 선택하고 요청 하나를 보냄 | 작업 ID와 대상 |
| 브라우저 하위 워크플로 | 검증, 호출, 결과 확인과 분기 | 구조화된 결과 또는 검토 요청 |
| 브라우저 | 페이지 열기, 기록 확인, 조작, 다시 읽기 | 기록 ID, 초기 및 최종 상태 |
| 앱 또는 영속 저장소 | 불분명한 결과 확인과 중복 방지 | 기존 결과 또는 미확인 상태 |
HTTP Request는 서비스를 호출합니다. 실제 브라우저가 페이지와 세션을 다룹니다. 도구에는 한정된 동작을 주고 실행기가 승인된 설정에서 페이지를 고르게 하세요. 로그인 세션은 먼저 계정을 확인합니다. n8n 커뮤니티에서는 UI 동작과 추출의 차이, 같은 트리거를 두 번 실행했을 때의 중복이 논의됐습니다. 기존 브라우저 연결 로그인 세션 확인 브라우저 논의 멱등성 논의
하위 워크플로 가져오기
n8n JSON과 Tabbit 테스트 어댑터를 받습니다. 같은 컴퓨터에서 n8n, Node.js, Tabbit CLI를 사용합니다. 외부 계정 없이 합성 페이지의 버튼만 조작합니다. 어댑터를 실행하고 JSON을 가져온 뒤 Manual Test를 실행하세요.
node tabbit-fixture-adapter.mjs어댑터는 루프백 포트 3219를 사용합니다. n8n이 컨테이너나 다른 컴퓨터에서 실행되면 localhost는 그 환경을 가리킵니다. 두 HTTP 노드의 주소를 바꾸기 전에 승인된 연결을 준비합니다. 클라우드 localhost 예제
상위 AI Agent에서 Call n8n Workflow Tool을 추가하고 가져온 워크플로를 선택합니다. operation_id와 scenario를 Workflow Tool Input에 매핑합니다. 호출당 항목 하나를 전달하세요. 실제 환경의 ID는 일반 노드에서 원래 기록과 의도한 동작으로 만들고 재시도해도 유지합니다. Call n8n Workflow Tool 하위 워크플로 데이터 흐름
결과를 검증한 뒤 분기하기
HTTP 상태, 작업 ID, 테스트 기록 ID, 초기 OFF, 최종 ON과 변경 횟수 한 번을 확인합니다. 성공 응답에 기대 값이 없으면 검토로 보냅니다. 에이전트는 결과를 요약할 수 있고 다음 노드는 검증된 필드를 사용합니다.
{
"operation_id": "E09-lost-response",
"outcome": "reconciled",
"receipt_source": "read_back",
"http_status": 200,
"fixture_id": "E09-FIXTURE",
"state": "ON",
"writes": 1,
"replay": false
}이 결과의 http_status는 GET 조회에서 가져옵니다. 실패한 POST는 실행 로그에 따로 남깁니다. 네트워크 오류로 HTTP 상태가 없어도 결과는 미확인입니다. HTTP Request 노드
다시 시도하기 전에 상태 읽기
| 상황 | 확인 | 기대 결과 |
|---|---|---|
| 정상 응답 | POST가 같은 기록과 ON을 반환 | confirmed, 변경 한 번 |
| 변경 후 응답 실패 | POST 503, GET에서 같은 작업과 ON 확인 | reconciled, 변경 한 번 |
| 상태 불명 | POST 503, GET에서 작업을 찾을 수 없음 | needs_review, 재전송 없음 |
| 확인한 ID 재사용 | 실행기가 저장된 결과를 반환 | 같은 결과, 총 변경 한 번 |
어댑터는 결과를 메모리에 저장합니다. 운영에서는 영속 저장소, 고유 키, 재시작 뒤 상태 조회가 필요합니다. 변경 전에 승인된 대상과 동작을 남깁니다. 완료 결과는 재사용하고 불분명한 결과는 조회하거나 검토로 보냅니다. 같은 키로 중복을 막을 수 있거나 사람이 미실행을 확인하고 승인한 경우에만 다시 시도하세요. n8n 오류 처리 양식 저장 확인 사례
다운로드용 워크플로를 n8n 2.46.6과 Node.js 24.16.0 환경에 가져왔습니다. 별도의 로컬 워크플로가 실행당 입력 한 건을 전달했습니다. 첫 실행 결과는 confirmed(200), reconciled(503 후 200), needs_review(503 후 404)였고, 어댑터는 Tabbit 클릭 두 번을 기록했습니다. 같은 ID로 재실행하자 완료된 두 건의 저장된 영수증을 반환했고 나머지 한 건은 검토 대기 상태를 유지했습니다. 추가 클릭은 없었습니다. 테스트에는 모의 페이지를 사용했으며 언어 모델 호출은 없었습니다.
한 가지 동작과 확인부터 시작하기
AI Agent를 연결하기 전에 수동 테스트를 실행하세요. 정상, 조회로 확인, 검토 대기가 각각 다른 결과인지 확인합니다. 실제 업무 계정을 쓰는 첫 작업은 읽기부터 시작합니다. 첫 브라우저 작업 AI 에이전트와 도구
자주 묻는 질문
n8n에 대상 사이트 노드가 없으면 어떻게 하나요?
범위가 정해진 브라우저 하위 워크플로를 등록하거나 HTTP Request로 브라우저 서비스를 호출합니다.
HTTP Request가 브라우저인가요?
HTTP 인터페이스를 호출합니다. 페이지 표시, 클릭, 승인된 세션은 브라우저 런타임이 제공합니다.
브라우저가 무엇을 반환해야 하나요?
작업 ID, 결과, 기록 ID, 실제 상태와 검증에 필요한 출처 정보를 반환합니다.
제출에 실패하면 바로 다시 시도하나요?
같은 작업 ID로 상태부터 조회합니다. 불분명하면 멈추고 검토를 요청합니다.
재시도에 새 ID가 필요한가요?
같은 동작이면 안정적인 ID를 재사용합니다. 다른 동작이나 기록에는 새 ID를 씁니다.