서브 워크플로 변환
n8n v2.29n8n 버전 1.97.0부터 모든 플랜에서 사용할 수 있습니다. 서브 워크플로 변환 기능을 사용하면 워크플로를 재사용 가능한 부분으로 리팩터링할 수 있습니다. 이 개념에 대한 일반적인 소개는 서브 워크플로를 참고하세요.
기능 제공 여부
n8n 버전 1.97.0부터 모든 플랜에서 사용할 수 있습니다.
서브 워크플로 변환 기능을 사용하면 워크플로를 재사용 가능한 부분으로 리팩터링할 수 있습니다. 다른 노드를 참조하는 표현식은 자동으로 업데이트되어 Execute Workflow Trigger 노드에 매개변수로 추가됩니다.
이 개념에 대한 일반적인 소개는 서브 워크플로를 참고하세요.
서브 워크플로로 변환할 노드 선택하기#
워크플로의 일부를 서브 워크플로로 변환하려면, 원본 워크플로에서 변환하려는 노드를 선택해야 합니다.
유효한 노드 그룹을 선택하여 이를 수행합니다. 선택 영역은 연속적이어야 하며, 최대 하나의 시작 노드와 하나의 종료 노드를 통해서만 나머지 워크플로에 연결되어야 합니다. 선택 영역은 다음 조건을 충족해야 합니다:
- 트리거 노드를 포함해서는 안 됩니다.
- 선택 영역 외부의 노드로부터 들어오는 연결을 가질 수 있는 노드는 선택 영역 내에서 단 하나여야 합니다.
- 해당 노드는 여러 개의 들어오는 연결을 가질 수 있지만, 단일 입력 분기만 가질 수 있습니다(즉, Merge 노드와 같은 노드는 안 됩니다).
- 해당 노드는 선택 영역 내의 다른 노드로부터 들어오는 연결을 가질 수 없습니다.
- 선택 영역 외부의 노드로 나가는 연결을 가질 수 있는 노드는 선택 영역 내에서 단 하나여야 합니다.
- 해당 노드는 여러 개의 나가는 연결을 가질 수 있지만, 단일 출력 분기만 가질 수 있습니다(예를 들어 If 노드는 안 됩니다).
- 해당 노드는 선택 영역 내의 다른 노드로 나가는 연결을 가질 수 없습니다.
- 선택 영역에는 입력 노드와 출력 노드 사이의 모든 노드가 포함되어야 합니다.
워크플로 일부를 서브 워크플로로 변환하는 방법#
캔버스에서 원하는 노드를 선택합니다. 캔버스 배경을 마우스 오른쪽 버튼으로 클릭하고 Convert to sub-workflow를 선택합니다.
유의 사항#
대부분의 서브 워크플로 변환은 문제없이 작동하지만, 유의해야 할 몇 가지 주의 사항과 제한 사항이 있습니다:
- 입력과 출력의 타입 제약 조건은 수동으로 설정해야 합니다: 기본적으로 서브 워크플로 입력과 출력은 모든 타입을 허용합니다. 서브 워크플로의 Execute Sub-workflow Trigger 노드와 Edit Fields (set) 노드(Return으로 표시되며 서브 워크플로에 출력이 있는 경우에만 포함됨)에서 예상 타입을 설정할 수 있습니다.
- AI 노드에 대한 지원이 제한적입니다: AI 도구와 같은 서브 노드를 다룰 때는 이를 모두 선택해야 하며, 변환 전에 다른 AI 에이전트와 공유되는 노드를 복제해야 할 수도 있습니다.
- v1 실행 순서를 사용합니다: 새 워크플로는 상위 워크플로의 설정과 관계없이
v1실행 순서를 사용합니다. 설정에서 이를 다시 변경할 수 있습니다.
-
first(),last(),all()과 같은 접근자 함수는 추가적인 주의가 필요합니다: 이러한 함수를 사용하는 표현식은 서브 워크플로 컨텍스트로 항상 깔끔하게 변환되지는 않습니다. n8n이 기능을 보존하기 위해 이를 변형할 수 있지만, 새로운 컨텍스트에서도 의도한 대로 작동하는지 확인해야 합니다.서브 노드 매개변수 접미사
n8n은 이러한 함수로 접근하는 변수 이름에
_firstItem,_lastItem,_allItems와 같은 접미사를 추가합니다. 서브 워크플로 컨텍스트에서는 항목 순서가 다를 수 있으므로, 이는 원래 표현식에 대한 정보를 보존하는 데 도움이 됩니다. -
itemMatching함수는 고정된 인덱스가 필요합니다:itemMatching함수를 사용할 때는 인덱스 값에 표현식을 사용할 수 없습니다. 반드시 고정된 숫자를 전달해야 합니다.