InfoGrab Docs

서브 워크플로

요약

하나의 워크플로에서 다른 워크플로를 호출할 수 있습니다. 서브 워크플로 실행은 플랜의 월간 실행 횟수 또는 활성 워크플로 제한에 포함되지 않습니다. 이 섹션은 부모 워크플로와 서브 워크플로를 모두 설정하는 방법을 안내합니다.

하나의 워크플로에서 다른 워크플로를 호출할 수 있습니다. 이를 통해 모듈식, 마이크로서비스 형태의 워크플로를 구축할 수 있습니다. 또한 워크플로가 메모리 문제를 일으킬 만큼 커졌을 때도 도움이 됩니다. 서브 워크플로 생성에는 Execute Workflow 노드와 Execute Sub-workflow Trigger 노드를 사용합니다.

서브 워크플로 실행은 플랜의 월간 실행 횟수 또는 활성 워크플로 제한에 포함되지 않습니다.

서브 워크플로 설정 및 사용#

이 섹션은 부모 워크플로와 서브 워크플로를 모두 설정하는 방법을 안내합니다.

서브 워크플로우 만들기#

  1. 새 워크플로우를 만듭니다.
기존 워크플로우에서 서브 워크플로우 만들기

Execute Sub-workflow 노드를 사용하여 기존 부모 워크플로우에서 직접 서브 워크플로우를 만들 수 있습니다. 노드에서 DatabaseFrom list 옵션을 선택한 후 목록에서 Create a sub-workflow를 선택하세요.

컨텍스트 메뉴의 [Sub-workflow conversion](/workflows/subworkflow-conversion.md)을 사용하여 선택한 노드를 직접 추출할 수도 있습니다.
  1. 선택 사항: 서브 워크플로우를 호출할 수 있는 워크플로우를 설정합니다:
    1. Options Options menu 메뉴 > Settings를 선택합니다. n8n이 Workflow settings 모달을 엽니다.
    2. This workflow can be called by 설정을 변경합니다. 워크플로우 설정에 대한 자세한 내용은 워크플로우 설정을 참조하세요.
  2. Execute Sub-workflow 트리거 노드를 추가합니다(트리거 노드에서 검색하는 경우 When Executed by Another Workflow라는 제목으로도 표시됩니다).
  3. Input data mode를 설정하여 서브 워크플로우의 입력 데이터를 정의하는 방법을 선택합니다:
    • Define using fields below: 이 모드를 선택하면 호출 워크플로우가 제공해야 하는 개별 입력 이름과 데이터 타입을 정의합니다. 호출 워크플로우의 Execute Sub-workflow 노드 또는 Call n8n Workflow Tool 노드가 여기서 정의된 필드를 자동으로 가져옵니다.
    • Define using JSON example: 이 모드를 선택하면 예상 입력 항목과 타입을 보여주는 예시 JSON 객체를 제공합니다.
    • Accept all data: 이 모드를 선택하면 모든 데이터를 무조건 허용합니다. 서브 워크플로우는 필수 입력 항목을 정의하지 않습니다. 이 서브 워크플로우는 입력 불일치 또는 누락된 값을 처리해야 합니다.
  4. 서브 워크플로우 기능을 구축하는 데 필요한 다른 노드를 추가합니다.
  5. 서브 워크플로우를 저장합니다.
서브 워크플로우에 오류가 없어야 합니다

서브 워크플로우에 오류가 있으면 부모 워크플로우가 이를 트리거할 수 없습니다.

빌드 전에 서브 워크플로우에 데이터 로드하기

이를 위해서는 이전 실행에서 데이터 로드 기능이 필요하며, n8n Cloud 및 등록된 Community 플랜에서 사용 가능합니다.

서브 워크플로우를 빌드하는 동안 사용할 데이터를 로드하려면:

  1. 서브 워크플로우를 만들고 Execute Sub-workflow Trigger를 추가합니다.
  2. 노드의 Input data modeAccept all data로 설정하거나, 이미 알고 있다면 필드 또는 JSON을 사용하여 입력 항목을 정의합니다.
  3. 서브 워크플로우 설정에서 Save successful production executionsSave로 설정합니다.
  4. 부모 워크플로우 설정 단계로 넘어가서 실행합니다.
  5. 이전 실행에서 데이터 로드 단계를 따릅니다.
  6. 필요한 경우 Input data mode를 부모 워크플로우가 전송하는 입력과 일치하도록 조정합니다.

이제 트리거 노드에 예시 데이터를 고정하여 워크플로우의 나머지 부분을 설정하는 동안 실제 데이터로 작업할 수 있습니다.

서브 워크플로우 호출하기#

  1. 서브 워크플로우를 호출하려는 워크플로우를 엽니다.
  2. Execute Sub-workflow 노드를 추가합니다.
  3. Execute Sub-workflow 노드에서 호출할 서브 워크플로우를 설정합니다. ID로 워크플로우를 호출하거나, 로컬 파일에서 워크플로우를 로드하거나, 노드에서 워크플로우 JSON을 매개변수로 추가하거나, URL로 워크플로우를 대상으로 지정하는 방법을 선택할 수 있습니다.
워크플로우 ID 찾기

서브 워크플로우의 ID는 URL 끝에 있는 영숫자 문자열입니다.

  1. 서브 워크플로우에서 정의한 필수 입력 항목을 채웁니다.
  2. 워크플로우를 저장합니다.

워크플로우가 실행되면 서브 워크플로우로 데이터를 전송하고 실행합니다.

Execute Sub-workflow 노드를 열고 View sub-execution 링크를 선택하면 부모 워크플로우에서 서브 워크플로우로의 실행 흐름을 따라갈 수 있습니다. 마찬가지로 서브 워크플로우의 실행에는 반대 방향으로 탐색할 수 있는 부모 워크플로우 실행으로의 링크가 포함되어 있습니다.

워크플로 간 데이터 전달 방법#

예를 들어, Workflow A에 Execute Sub-workflow 노드가 있다고 가정해 보겠습니다. Execute Sub-workflow 노드는 Workflow B라는 다른 워크플로우를 호출합니다:

  1. Execute Sub-workflow 노드는 Workflow B의 Execute Sub-workflow Trigger 노드(캔버스에서 "When executed by another node"라고 표시됨)로 데이터를 전달합니다.
  2. Workflow B의 마지막 노드가 Workflow A의 Execute Sub-workflow 노드로 데이터를 다시 전송합니다.

서브 워크플로 변환#

기존 워크플로를 서브 워크플로로 분리하는 방법은 서브 워크플로 변환을 참조하세요.

서브 워크플로

원문 보기
요약

하나의 워크플로에서 다른 워크플로를 호출할 수 있습니다. 서브 워크플로 실행은 플랜의 월간 실행 횟수 또는 활성 워크플로 제한에 포함되지 않습니다. 이 섹션은 부모 워크플로와 서브 워크플로를 모두 설정하는 방법을 안내합니다.

하나의 워크플로에서 다른 워크플로를 호출할 수 있습니다. 이를 통해 모듈식, 마이크로서비스 형태의 워크플로를 구축할 수 있습니다. 또한 워크플로가 메모리 문제를 일으킬 만큼 커졌을 때도 도움이 됩니다. 서브 워크플로 생성에는 Execute Workflow 노드와 Execute Sub-workflow Trigger 노드를 사용합니다.

서브 워크플로 실행은 플랜의 월간 실행 횟수 또는 활성 워크플로 제한에 포함되지 않습니다.

서브 워크플로 설정 및 사용#

이 섹션은 부모 워크플로와 서브 워크플로를 모두 설정하는 방법을 안내합니다.

서브 워크플로우 만들기#

  1. 새 워크플로우를 만듭니다.
기존 워크플로우에서 서브 워크플로우 만들기

Execute Sub-workflow 노드를 사용하여 기존 부모 워크플로우에서 직접 서브 워크플로우를 만들 수 있습니다. 노드에서 DatabaseFrom list 옵션을 선택한 후 목록에서 Create a sub-workflow를 선택하세요.

컨텍스트 메뉴의 [Sub-workflow conversion](/workflows/subworkflow-conversion.md)을 사용하여 선택한 노드를 직접 추출할 수도 있습니다.
  1. 선택 사항: 서브 워크플로우를 호출할 수 있는 워크플로우를 설정합니다:
    1. Options Options menu 메뉴 > Settings를 선택합니다. n8n이 Workflow settings 모달을 엽니다.
    2. This workflow can be called by 설정을 변경합니다. 워크플로우 설정에 대한 자세한 내용은 워크플로우 설정을 참조하세요.
  2. Execute Sub-workflow 트리거 노드를 추가합니다(트리거 노드에서 검색하는 경우 When Executed by Another Workflow라는 제목으로도 표시됩니다).
  3. Input data mode를 설정하여 서브 워크플로우의 입력 데이터를 정의하는 방법을 선택합니다:
    • Define using fields below: 이 모드를 선택하면 호출 워크플로우가 제공해야 하는 개별 입력 이름과 데이터 타입을 정의합니다. 호출 워크플로우의 Execute Sub-workflow 노드 또는 Call n8n Workflow Tool 노드가 여기서 정의된 필드를 자동으로 가져옵니다.
    • Define using JSON example: 이 모드를 선택하면 예상 입력 항목과 타입을 보여주는 예시 JSON 객체를 제공합니다.
    • Accept all data: 이 모드를 선택하면 모든 데이터를 무조건 허용합니다. 서브 워크플로우는 필수 입력 항목을 정의하지 않습니다. 이 서브 워크플로우는 입력 불일치 또는 누락된 값을 처리해야 합니다.
  4. 서브 워크플로우 기능을 구축하는 데 필요한 다른 노드를 추가합니다.
  5. 서브 워크플로우를 저장합니다.
서브 워크플로우에 오류가 없어야 합니다

서브 워크플로우에 오류가 있으면 부모 워크플로우가 이를 트리거할 수 없습니다.

빌드 전에 서브 워크플로우에 데이터 로드하기

이를 위해서는 이전 실행에서 데이터 로드 기능이 필요하며, n8n Cloud 및 등록된 Community 플랜에서 사용 가능합니다.

서브 워크플로우를 빌드하는 동안 사용할 데이터를 로드하려면:

  1. 서브 워크플로우를 만들고 Execute Sub-workflow Trigger를 추가합니다.
  2. 노드의 Input data modeAccept all data로 설정하거나, 이미 알고 있다면 필드 또는 JSON을 사용하여 입력 항목을 정의합니다.
  3. 서브 워크플로우 설정에서 Save successful production executionsSave로 설정합니다.
  4. 부모 워크플로우 설정 단계로 넘어가서 실행합니다.
  5. 이전 실행에서 데이터 로드 단계를 따릅니다.
  6. 필요한 경우 Input data mode를 부모 워크플로우가 전송하는 입력과 일치하도록 조정합니다.

이제 트리거 노드에 예시 데이터를 고정하여 워크플로우의 나머지 부분을 설정하는 동안 실제 데이터로 작업할 수 있습니다.

서브 워크플로우 호출하기#

  1. 서브 워크플로우를 호출하려는 워크플로우를 엽니다.
  2. Execute Sub-workflow 노드를 추가합니다.
  3. Execute Sub-workflow 노드에서 호출할 서브 워크플로우를 설정합니다. ID로 워크플로우를 호출하거나, 로컬 파일에서 워크플로우를 로드하거나, 노드에서 워크플로우 JSON을 매개변수로 추가하거나, URL로 워크플로우를 대상으로 지정하는 방법을 선택할 수 있습니다.
워크플로우 ID 찾기

서브 워크플로우의 ID는 URL 끝에 있는 영숫자 문자열입니다.

  1. 서브 워크플로우에서 정의한 필수 입력 항목을 채웁니다.
  2. 워크플로우를 저장합니다.

워크플로우가 실행되면 서브 워크플로우로 데이터를 전송하고 실행합니다.

Execute Sub-workflow 노드를 열고 View sub-execution 링크를 선택하면 부모 워크플로우에서 서브 워크플로우로의 실행 흐름을 따라갈 수 있습니다. 마찬가지로 서브 워크플로우의 실행에는 반대 방향으로 탐색할 수 있는 부모 워크플로우 실행으로의 링크가 포함되어 있습니다.

워크플로 간 데이터 전달 방법#

예를 들어, Workflow A에 Execute Sub-workflow 노드가 있다고 가정해 보겠습니다. Execute Sub-workflow 노드는 Workflow B라는 다른 워크플로우를 호출합니다:

  1. Execute Sub-workflow 노드는 Workflow B의 Execute Sub-workflow Trigger 노드(캔버스에서 "When executed by another node"라고 표시됨)로 데이터를 전달합니다.
  2. Workflow B의 마지막 노드가 Workflow A의 Execute Sub-workflow 노드로 데이터를 다시 전송합니다.

서브 워크플로 변환#

기존 워크플로를 서브 워크플로로 분리하는 방법은 서브 워크플로 변환을 참조하세요.