InfoGrab Docs

Respond to Webhook

요약

Respond to Webhook 노드를 사용하면 수신된 webhook에 대한 응답을 제어할 수 있습니다. Respond to Webhook 노드는 첫 번째 수신 데이터 항목을 사용하여 한 번만 실행됩니다. Respond to Webhook 노드를 사용하려면:

Respond to Webhook 노드를 사용하면 수신된 webhook에 대한 응답을 제어할 수 있습니다. 이 노드는 Webhook 노드와 함께 동작합니다.

첫 번째 데이터 항목에 대해 한 번 실행

Respond to Webhook 노드는 첫 번째 수신 데이터 항목을 사용하여 한 번만 실행됩니다. 자세한 내용은 하나 이상의 데이터 항목 반환을 참조하세요.

Respond to Webhook 사용 방법#

Respond to Webhook 노드를 사용하려면:

  1. 워크플로우의 트리거 노드로 Webhook 노드를 추가합니다.
  2. Webhook 노드에서 RespondUsing 'Respond to Webhook' node로 설정합니다.
  3. 워크플로우 어디에나 Respond to Webhook 노드를 추가합니다. 다른 노드의 데이터를 반환하려면 해당 노드 뒤에 배치하세요.

노드 파라미터#

이 파라미터를 사용하여 노드 동작을 설정합니다.

Respond With#

webhook 응답으로 전송할 데이터를 선택합니다.

  • All Incoming Items: 입력에서 수신된 모든 JSON 항목으로 응답합니다.
  • Binary File: Response Data Source에 정의된 바이너리 파일로 응답합니다.
  • First Incoming Item: 첫 번째 수신 항목의 JSON으로 응답합니다.
  • JSON: Response Body에 정의된 JSON 객체로 응답합니다.
  • JWT Token: JSON Web Token(JWT)으로 응답합니다.
  • No Data: 응답 페이로드 없음.
  • Redirect: Redirect URL에 설정된 URL로 리다이렉트합니다.
  • Text: Response Body에 설정된 텍스트로 응답합니다. 기본적으로 HTML로 전송됩니다(Content-Type: text/html).

노드 옵션#

Add Option을 선택하여 옵션을 확인하고 설정합니다.

  • Response Code: 사용할 응답 코드를 설정합니다.
  • Response Headers: 전송할 응답 헤더를 정의합니다.
  • Put Response in Field: All Incoming Items 또는 First Incoming Item으로 응답할 때 사용 가능합니다. 응답 데이터를 포함하는 필드의 이름을 설정합니다.
  • Enable Streaming: 활성화하면 스트리밍을 사용하여 데이터를 사용자에게 전송합니다. Response modeStreaming으로 설정된 트리거가 필요합니다.

n8n의 HTML 응답 보안 처리#

n8n 버전 1.103.0부터 n8n은 webhook에 대한 HTML 응답을 자동으로 <iframe> 태그로 감쌉니다. 이는 인스턴스 사용자를 보호하기 위한 보안 메커니즘입니다.

이로 인해 다음과 같은 영향이 있습니다:

  • HTML은 상위 문서에 직접 렌더링되지 않고 샌드박스 iframe에서 렌더링됩니다.
  • 최상위 window 또는 로컬 스토리지에 접근하려는 JavaScript 코드는 실패합니다.
  • 샌드박스 iframe에서는 인증 헤더(예: basic auth)를 사용할 수 없습니다. HTML 내에 단기 액세스 토큰을 임베드하는 등의 대안적인 방법을 사용해야 합니다.
  • 상대 URL(예: <form action="/">)은 작동하지 않습니다. 대신 절대 URL을 사용하세요.

템플릿 및 예시#

이 노드의 워크플로 템플릿은 n8n 워크플로 템플릿 갤러리에서 확인할 수 있습니다.

워크플로우 동작#

Respond to Webhook 노드를 사용할 때 워크플로우는 다음과 같이 동작합니다:

  • Respond to Webhook 노드를 실행하지 않고 워크플로우가 종료되는 경우: 200 상태와 함께 표준 메시지를 반환합니다.
  • 첫 번째 Respond to Webhook 노드가 실행되기 전에 워크플로우에 오류가 발생하는 경우: 500 상태와 함께 오류 메시지를 반환합니다.
  • 첫 번째 Respond to Webhook 노드 이후 두 번째 노드가 실행되는 경우: 워크플로우가 이를 무시합니다.
  • Respond to Webhook 노드가 실행되었지만 webhook이 없었던 경우: 워크플로우가 Respond to Webhook 노드를 무시합니다.

webhook에 전송된 응답 출력#

기본적으로 Respond to Webhook 노드에는 노드의 입력 데이터를 포함하는 단일 출력 브랜치가 있습니다.

선택적으로 webhook에 전송된 응답을 포함하는 두 번째 출력 브랜치를 활성화할 수 있습니다. 이 보조 출력을 활성화하려면 캔버스에서 Respond to Webhook 노드를 열고 Settings 탭을 선택합니다. Enable Response Output Branch 옵션을 활성화합니다.

이제 노드에 두 개의 출력이 생깁니다:

  • Input Data: 노드의 입력을 전달하는 원래 출력.
  • Response: webhook에 전송된 응답 객체.

하나 이상의 데이터 항목 반환 (deprecated) {#return-more-than-one-data-item-deprecated}#

1.22.0에서 deprecated

n8n 1.22.0에서 All Incoming Items 옵션을 사용하여 모든 데이터 항목을 반환하는 기능이 추가되었습니다. n8n은 이 섹션에 설명된 우회 방법 대신 최신 버전의 n8n으로 업그레이드할 것을 권장합니다.

Respond to Webhook 노드는 표현식(expressions)을 사용하는 경우에도 첫 번째 수신 데이터 항목을 사용하여 한 번만 실행됩니다. Loop 노드를 사용하여 강제로 반복하더라도 워크플로우는 실행되지만 webhook 응답은 여전히 첫 번째 실행 결과만 포함됩니다.

하나 이상의 데이터 항목을 반환해야 하는 경우 다음 옵션 중 하나를 선택하세요:

  • Respond to Webhook 노드를 사용하는 대신 Webhook 노드의 Respond에서 When Last Node Finishes 옵션을 사용합니다. 워크플로우가 최종적으로 출력하는 데이터를 반환하려는 경우 이 방법을 사용하세요.
  • Aggregate 노드를 사용하여 데이터를 Respond to Webhook 노드에 전달하기 전에 여러 항목을 단일 항목으로 변환합니다. Aggregate를 **All Item Data (Into a Single List)**로 설정하세요.

Respond to Webhook

원문 보기
요약

Respond to Webhook 노드를 사용하면 수신된 webhook에 대한 응답을 제어할 수 있습니다. Respond to Webhook 노드는 첫 번째 수신 데이터 항목을 사용하여 한 번만 실행됩니다. Respond to Webhook 노드를 사용하려면:

Respond to Webhook 노드를 사용하면 수신된 webhook에 대한 응답을 제어할 수 있습니다. 이 노드는 Webhook 노드와 함께 동작합니다.

첫 번째 데이터 항목에 대해 한 번 실행

Respond to Webhook 노드는 첫 번째 수신 데이터 항목을 사용하여 한 번만 실행됩니다. 자세한 내용은 하나 이상의 데이터 항목 반환을 참조하세요.

Respond to Webhook 사용 방법#

Respond to Webhook 노드를 사용하려면:

  1. 워크플로우의 트리거 노드로 Webhook 노드를 추가합니다.
  2. Webhook 노드에서 RespondUsing 'Respond to Webhook' node로 설정합니다.
  3. 워크플로우 어디에나 Respond to Webhook 노드를 추가합니다. 다른 노드의 데이터를 반환하려면 해당 노드 뒤에 배치하세요.

노드 파라미터#

이 파라미터를 사용하여 노드 동작을 설정합니다.

Respond With#

webhook 응답으로 전송할 데이터를 선택합니다.

  • All Incoming Items: 입력에서 수신된 모든 JSON 항목으로 응답합니다.
  • Binary File: Response Data Source에 정의된 바이너리 파일로 응답합니다.
  • First Incoming Item: 첫 번째 수신 항목의 JSON으로 응답합니다.
  • JSON: Response Body에 정의된 JSON 객체로 응답합니다.
  • JWT Token: JSON Web Token(JWT)으로 응답합니다.
  • No Data: 응답 페이로드 없음.
  • Redirect: Redirect URL에 설정된 URL로 리다이렉트합니다.
  • Text: Response Body에 설정된 텍스트로 응답합니다. 기본적으로 HTML로 전송됩니다(Content-Type: text/html).

노드 옵션#

Add Option을 선택하여 옵션을 확인하고 설정합니다.

  • Response Code: 사용할 응답 코드를 설정합니다.
  • Response Headers: 전송할 응답 헤더를 정의합니다.
  • Put Response in Field: All Incoming Items 또는 First Incoming Item으로 응답할 때 사용 가능합니다. 응답 데이터를 포함하는 필드의 이름을 설정합니다.
  • Enable Streaming: 활성화하면 스트리밍을 사용하여 데이터를 사용자에게 전송합니다. Response modeStreaming으로 설정된 트리거가 필요합니다.

n8n의 HTML 응답 보안 처리#

n8n 버전 1.103.0부터 n8n은 webhook에 대한 HTML 응답을 자동으로 <iframe> 태그로 감쌉니다. 이는 인스턴스 사용자를 보호하기 위한 보안 메커니즘입니다.

이로 인해 다음과 같은 영향이 있습니다:

  • HTML은 상위 문서에 직접 렌더링되지 않고 샌드박스 iframe에서 렌더링됩니다.
  • 최상위 window 또는 로컬 스토리지에 접근하려는 JavaScript 코드는 실패합니다.
  • 샌드박스 iframe에서는 인증 헤더(예: basic auth)를 사용할 수 없습니다. HTML 내에 단기 액세스 토큰을 임베드하는 등의 대안적인 방법을 사용해야 합니다.
  • 상대 URL(예: <form action="/">)은 작동하지 않습니다. 대신 절대 URL을 사용하세요.

템플릿 및 예시#

이 노드의 워크플로 템플릿은 n8n 워크플로 템플릿 갤러리에서 확인할 수 있습니다.

워크플로우 동작#

Respond to Webhook 노드를 사용할 때 워크플로우는 다음과 같이 동작합니다:

  • Respond to Webhook 노드를 실행하지 않고 워크플로우가 종료되는 경우: 200 상태와 함께 표준 메시지를 반환합니다.
  • 첫 번째 Respond to Webhook 노드가 실행되기 전에 워크플로우에 오류가 발생하는 경우: 500 상태와 함께 오류 메시지를 반환합니다.
  • 첫 번째 Respond to Webhook 노드 이후 두 번째 노드가 실행되는 경우: 워크플로우가 이를 무시합니다.
  • Respond to Webhook 노드가 실행되었지만 webhook이 없었던 경우: 워크플로우가 Respond to Webhook 노드를 무시합니다.

webhook에 전송된 응답 출력#

기본적으로 Respond to Webhook 노드에는 노드의 입력 데이터를 포함하는 단일 출력 브랜치가 있습니다.

선택적으로 webhook에 전송된 응답을 포함하는 두 번째 출력 브랜치를 활성화할 수 있습니다. 이 보조 출력을 활성화하려면 캔버스에서 Respond to Webhook 노드를 열고 Settings 탭을 선택합니다. Enable Response Output Branch 옵션을 활성화합니다.

이제 노드에 두 개의 출력이 생깁니다:

  • Input Data: 노드의 입력을 전달하는 원래 출력.
  • Response: webhook에 전송된 응답 객체.

하나 이상의 데이터 항목 반환 (deprecated) {#return-more-than-one-data-item-deprecated}#

1.22.0에서 deprecated

n8n 1.22.0에서 All Incoming Items 옵션을 사용하여 모든 데이터 항목을 반환하는 기능이 추가되었습니다. n8n은 이 섹션에 설명된 우회 방법 대신 최신 버전의 n8n으로 업그레이드할 것을 권장합니다.

Respond to Webhook 노드는 표현식(expressions)을 사용하는 경우에도 첫 번째 수신 데이터 항목을 사용하여 한 번만 실행됩니다. Loop 노드를 사용하여 강제로 반복하더라도 워크플로우는 실행되지만 webhook 응답은 여전히 첫 번째 실행 결과만 포함됩니다.

하나 이상의 데이터 항목을 반환해야 하는 경우 다음 옵션 중 하나를 선택하세요:

  • Respond to Webhook 노드를 사용하는 대신 Webhook 노드의 Respond에서 When Last Node Finishes 옵션을 사용합니다. 워크플로우가 최종적으로 출력하는 데이터를 반환하려는 경우 이 방법을 사용하세요.
  • Aggregate 노드를 사용하여 데이터를 Respond to Webhook 노드에 전달하기 전에 여러 항목을 단일 항목으로 변환합니다. Aggregate를 **All Item Data (Into a Single List)**로 설정하세요.