# 4. Subworkflows

하위 워크플로는 여러 작업에서 재사용을 허용하고 유지 관리를 간소화하여 워크플로 효율성을 향상시킵니다.

### 하위 워크플로우 이해하기: 워크플로 효율성 및 확장성 향상하기

- 🔍 고급 과정의 네 번째 동영상에서는 **하위 워크플로우의 개념과 적용 사례, 구현을 위한 실용적인 팁**을 살펴봤습니다.

- ⚙ 케이스 감도가 일치하지 않으면 워크플로에 오류가 발생할 수 있으므로 **키 이름이나 임베디드 JSON 구조에 일관된 형식**을 유지하는 것이 중요합니다.

- 🔗 워크플로우의 마지막 노드의 출력 데이터는 워크플로우 실행 노드의 입력으로 사용되므로 **최종 노드와 관련된 키의 값을 아는 것**이 필수적입니다.

- 📊 하위 워크플로를 사용하면 **데이터 보강 또는 데이터베이스 조회와 같이 일반적으로 사용되는 작업 집합**을 추출하여 여러 워크플로에서 프로세스를 간소화할 수 있습니다.

- 💡 하위 워크플로를 만들면 복잡한 작업을 한 번만 업데이트해도 **이를 활용하는 모든 워크플로에 자동으로 반영**되어 유지보수가 간소화됩니다.

- 📋 하위 워크플로를 설정할 때는 다른 사람들이 쉽게 사용할 수 있도록 **필드를 표준화**하고 **명확한 문서**를 제공하는 것이 좋습니다.

- 🔄 워크플로 실행 노드를 사용하면 **한 워크플로를 다른 워크플로에 원활하게 통합**하여 확장성을 향상하고 워크플로 구축을 가속화할 수 있습니다.

- ✅ 궁극적으로 하위 워크플로는 **워크플로 관리의 효율성과 일관성을 개선하는 강력한 도구**로, 중복 없이 반복 작업을 수행할 수 있습니다.

LiveWiki, 유튜브 속 핵심 내용을 10초 만에! - [https://livewiki.com/ko/content/n8n-advanced-course-subworkflows](https://livewiki.com/ko/content/n8n-advanced-course-subworkflows)

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094100_FB67t2SGjCszHF1uJd?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094101_InYqkwh3M8Zhd5UUpw?q=80&s=1280x180&t=outside&f=webp)

이번 영상에서는 **서브 워크플로우(Sub Workflows)**의 개념과 이를 사용해 워크플로우를 더 확장 가능하게 만드는 방법에 대해 다룸.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094101_b9HivrqZ25NGsn5Wp4?q=80&s=1280x180&t=outside&f=webp)

- **서브 워크플로우**: 한 워크플로우에서 다른 워크플로우를 호출해 백투백으로 실행하거나, 워크플로우의 특정 부분을 별도의 워크플로우로 분리 가능.

- 예시: 데이터베이스에서 사용자를 조회하는 부분을 서브 워크플로우로 대체 가능.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094102_OL5Jt9Fyb232rNF7at?q=80&s=1280x180&t=outside&f=webp)

- 서브 워크플로우는 **Execute Workflow** 노드를 사용해 호출됨.

- 입력 데이터를 받아 서브 워크플로우의 마지막 노드에서 나온 출력 데이터를 원래 워크플로우로 반환.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094103_pnncovw1LK9jrdFmH3?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094104_zCXlS7TJRjpzSQKYF3?q=80&s=1280x180&t=outside&f=webp)

- 서브 워크플로우를 사용하면 여러 워크플로우에서 자주 사용하는 작업을 추출해 재사용 가능.

- 이를 통해 복잡한 작업을 단순화하고 유지 관리도 훨씬 쉬워짐.

서브 워크플로우 사용 시 주의할 점:

1. **입력 데이터 형식 표준화** 필요. 대소문자 불일치로 인해 오류가 발생할 수 있음.

2. **마지막 노드**에서 어떤 데이터가 나오는지 주의해야 함.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094104_UujlcmmVRtgEEbVNbs?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094105_yAKJx4fgwbTXdDyptI?q=80&s=1280x180&t=outside&f=webp)

- 예시: 웹훅 데이터를 받아 Google Sheets에서 ID나 이메일로 조회하고, 없을 시 오류를 반환하는 워크플로우.

- 이 조회 기능을 서브 워크플로우로 추출할 수 있음.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094106_Ev77Ue9dKS5w8wQ8iW?q=80&s=1280x180&t=outside&f=webp)

- 기존의 노드 그룹을 잘라내고 **Execute Workflow** 노드로 대체.

- 새로운 워크플로우를 생성해 해당 노드를 붙여넣고 **Execute Workflow Trigger**로 시작.

- **04:58 – 05:54:**

    - 서브 워크플로우를 설정할 때 마지막 노드를 명확하게 설정하는 것이 중요함.

    - 워크플로우 ID를 복사해 원래 워크플로우에서 서브 워크플로우로 삽입.

- **05:54 – 06:49:**

    - 서브 워크플로우가 정상적으로 작동하고, 동일한 출력 데이터를 반환하는지 확인.

    - 서브 워크플로우 사용 시 **필드 표준화**와 **문서화**를 추가해 쉽게 사용할 수 있도록 해야 함.

- **06:49 – 끝:**

    - 이번 영상에서는 **서브 워크플로우**의 사용 방법과 주의사항을 다룸.

    - 다음 영상에서는 **고급 오류 처리 워크플로우**를 다룰 예정.

For the site tree, see the [root Markdown](https://slashpage.com/n8n-guide.md).
