워크플로 소개
MONDAY GET FULL ITEM 워크플로우 분석
**"MONDAY GET FULL ITEM"**이라는 제목의 이 N8n 워크플로우 템플릿은 Monday.com의 특정 항목(또는 "펄스"라고도 함)에서 열 값, 보드 관계를 통한 관련 항목 및 하위 항목을 포함한 포괄적인 데이터를 추출하도록 설계되었습니다. 목표는 보고, 다른 시스템과의 통합 또는 데이터 동기화와 같은 다운스트림 사용을 위해 모든 중첩 및 관계형 데이터를 단일 구조화된 JSON 출력으로 집계하는 것입니다.
이 워크플로우는 기본 항목뿐만 아니라 연결된 펄스(보드 관계 열을 통해) 및 하위 항목을 재귀적으로 가져와 데이터를 쉽게 사용할 수 있는 형식으로 정규화하여 Monday.com의 계층 구조를 깊이 탐색하는 것을 지원합니다.
📌 워크플로우 기능
이 워크플로우는 다음을 포함하여 Monday.com 항목의 전체 스냅샷을 검색합니다.
- 기본 항목 메타데이터(이름, ID)
- 열 ID 및 열 이름으로 모두 인덱싱된 모든 열 값
- "보드 관계" 열을 통해 연결된 보드 관련 항목(해당 연결된 항목의 전체 세부 정보 포함)
- 하위 항목(자식 항목), 해당 전체 열 데이터 포함
- 이 모든 정보를 하나의 통합된 JSON 객체로 최종 집계
이를 통해 사용자는 단일 API 호출에 해당하는 360도 보기로 주어진 Monday.com 항목 및 모든 관련 종속성 및 관계를 파악할 수 있습니다.
✅ 주요 기능 및 역량
| 기능 | 설명 |
|---|---|
| 재귀적 데이터 추출 | 메인 항목뿐만 아니라 관련 항목 및 하위 항목도 가져옵니다. |
| 유연한 열 인덱싱 | 액세스를 용이하게 하기 위해 id 및 title 키 아래에 열 값을 구조화합니다. |
| 관계 처리 | "보드 관계" 유형 열을 자동으로 식별하고 처리합니다. |
| 하위 항목 지원 | "하위 항목" 열을 통해 연결된 자식 항목을 추출하고 처리합니다. |
| 모듈식 및 재사용 가능 | 다른 워크플로우에 포함되도록 설계되었으며 구성 가능한 pulse 변수를 통해 입력을 받습니다. |
| 집계 및 병합 | Merge 및 Aggregate 노드를 사용하여 여러 데이터 스트림을 통합된 출력으로 결합합니다. |
| 자체 포함 실행 | Execute Workflow 노드를 사용하여 미리 정의된 매개변수로 자체를 실행합니다. |
🔧 주요 노드 및 목적
다음은 주요 노드와 워크플로우에서의 역할에 대한 분석입니다.
1. Execute Workflow 트리거
- 시작점으로 작용합니다.
- 외부 트리거 또는 수동 실행을 기다립니다.
- 대상 항목 ID를 설정하는 다음 단계로 전달됩니다.
2. Edit Fields (Set 노드)
- 정적 값 설정:
pulse = "4030768878"(예시 항목 ID). - 사용 사례에 따라 사용자 정의하여 다른 항목을 가져올 수 있습니다.
- 이 필드만 변경하여 워크플로우 전반에 걸쳐 쉽게 재사용할 수 있습니다.
3. Execute Workflow
- 동일한 워크플로우(
workflowId: ZdGZh4qmOqTQe1oq)를 동기적으로 실행합니다. - 캡슐화를 가능하게 합니다. 다른 워크플로우에서 이 논리를 트리거할 수 있습니다.
4. GET ITEM (Monday.com Get 작업)
- 제공된
pulseID를 사용하여 메인 Monday.com 항목을 가져옵니다. - 이름, ID, 열 값 및 관계를 포함한 원시 항목 데이터를 출력합니다.
5. GET ALL COLUMNS / GET ALL COLUMNS2 / GET ALL COLUMNS3 (Code 노드)
- 평면
column_values배열을 사전/객체로 변환합니다.GET ALL COLUMNS: ID별로 열 매핑 → 내부 참조에 유용합니다.GET ALL COLUMNS2: 제목/이름별로 열 매핑 → 사람이 읽기 더 좋습니다.GET ALL COLUMNS3: 연결된 각 펄스(관계에서)를 유사하게 처리합니다.
createColumnValuesArray()도우미 함수를 사용하여 배열을 키가 있는 객체로 변환합니다.
6. PULL SUBITEMS (Code 노드)
- "Subitems" 열의 값을 구문 분석합니다(존재한다고 가정).
- 열 값 내의 JSON 문자열에서 하위 항목 ID 목록을 추출합니다.
- 추가 처리를 위해 구문 분석된 배열을 반환합니다.
7. SPLIT SUBITEMS1 & SPLIT LINKED PULSES1 (Split Out 노드)
- ID 배열을 가져와 개별 항목으로 분할합니다.
- 각 하위 항목 또는 연결된 펄스의 개별 처리를 가능하게 합니다.
8. GET EACH SUBITEM1 & PULL LINKEDPULSE1 (Monday.com Get 노드)
- 각각의 하위 항목 및 연결된 펄스에 대한 자세한 데이터를 검색합니다.
{{ $json.linkedPulseIds.linkedPulseId }}와 같은 동적 표현식을 사용하여 ID를 전달합니다.
9. GET ALL COLUMNS1 (Code 노드)
- 각 하위 항목의 열 데이터를 깔끔한 객체 형식으로 정규화합니다.
- 집계를 위해 준비합니다.
10. GET ALL RELATIONS (Code Node)
- 열 값을 필터링하여
"board_relation"유형의 열만 찾습니다. - 처리할 수 있도록 관계 유형 필드만 출력합니다.
11. GET LINKEDPULSES1 (Code Node)
- 관계 열의 JSON 값에서 실제 연결된 펄스 ID를 추출합니다.
- 구조화된
{ linkedPulseId },id,name을 반환합니다.
12. Aggregate & Aggregate1 노드
- 여러 출력(예: 여러 하위 항목 또는 연결된 펄스)을 배열로 수집합니다.
- 지정된 키 아래에 결과를 저장합니다.
boardrelations: 완전히 해결된 관련 항목의 배열입니다.subitems: 완전히 해결된 하위 항목의 배열입니다.
13. Merge, Merge2, Merge4, Merge1 노드
- 다른 데이터 스트림을 결합합니다.
- 메인 항목 데이터
- 열 값(ID 및 이름별)
- 보드 관계
- 하위 항목
- 결합 중에 해당 항목을 정렬하기 위해
mergeByPosition모드를 사용합니다.
14. Sticky Notes
- 캔버스 내에 문서를 제공합니다.
- 섹션 설명(
PULL ALL BOARDRELATION COLUMNS등) - 다른 곳에서 워크플로우를 사용하는 방법에 대한 지침 제공
- 섹션 설명(
💼 사용 사례 및 이점
✅ 이상적인 경우:
- 데이터 내보내기 및 보고: 감사 또는 분석을 위해 복잡한 프로젝트/작업의 전체 스냅샷을 생성합니다.
- 통합 동기화: CRM, ERP, 데이터베이스 또는 사용자 지정 앱에 풍부한 항목 데이터를 공급합니다.
- 마이그레이션 도구: 보드 또는 플랫폼 간 이동 시 구조화된 데이터를 추출합니다.
- 사용자 지정 대시보드: 완전한 Monday.com 항목 컨텍스트로 구동되는 외부 대시보드를 구축합니다.
- 자동화 트리거: 풍부한 데이터를 사용하여 더 큰 자동화에서 지능적인 결정을 내립니다.
✅ 이점:
- 포괄적: 관련 데이터를 수동으로 가져올 필요가 없습니다. 모든 것이 자동으로 가져와집니다.
- 구조화된 출력: 데이터는 즉시 사용하기 위해 정리, 정규화 및 구성됩니다.
- 재사용 가능한 디자인: 하나의 매개변수만 업데이트하여 빠르게 가져와 적응할 수 있습니다.
- 확장 가능: 더 많은 관계 유형을 추가하거나 새 열 유형을 처리하기 쉽습니다.
- 시각적 명확성: 스티커 메모는 코드 지식이 없는 사용자에게도 논리 흐름을 안내합니다.
🔄 단계별 워크플로우 논리
다음은 순차적인 실행 흐름입니다.
-
시작 트리거됨
Execute Workflow Trigger가 프로세스를 시작합니다.
-
대상 항목 ID 설정
Edit Fields가pulse = "4030768878"(구성 가능)을 설정합니다.
-
하위 워크플로우로 자체 실행
Execute Workflow가 동일한 워크플로우 ID를 호출하고pulse값을 전달합니다.
-
메인 항목 가져오기
GET ITEM이pulseID를 사용하여 Monday.com에서 기본 항목을 검색합니다.
-
메인 항목 열 처리
- 두 개의 병렬 경로:
GET ALL COLUMNS→ ID별로 열 구조화GET ALL COLUMNS2→ 제목별로 열 구조화
- 두 개의 병렬 경로:
-
하위 항목 추출
PULL SUBITEMS가 "Subitems" 열을 구문 분석하여 자식 항목 ID를 가져옵니다.SPLIT SUBITEMS1이 목록을 개별 항목으로 분할합니다.GET EACH SUBITEM1이 각 하위 항목의 전체 데이터를 가져옵니다.GET ALL COLUMNS1이 각 하위 항목의 열을 변환합니다.Aggregate1이 모든 하위 항목을subitems아래의 배열로 수집합니다.
-
보드 관계 처리
GET ALL RELATIONS이 관계 유형 열만 필터링합니다.GET LINKEDPULSES1이 관계 데이터에서 연결된 펄스 ID를 추출합니다.SPLIT LINKED PULSES1이 이를 별도의 항목으로 분할합니다.PULL LINKEDPULSE1이 각 연결된 항목을 가져옵니다.GET ALL COLUMNS3이 해당 열 데이터를 형식화합니다.Aggregate가 이를boardrelations로 수집합니다.
-
데이터 스트림 병합
Merge4가 다음을 결합합니다.- 관계 필터링된 데이터
- 연결된 펄스 세부 정보
- 결과는
Aggregate로 이동하여boardrelations가 됩니다. Merge2가 다음을 결합합니다.- 메인 항목 + ID별 열 값
- 이름별 열 값
- 중간 병합 결과
-
최종 집계
Merge가 다음을 결합합니다.- 집계된
boardrelations - 집계된
subitems
- 집계된
Merge1이 최종 조각을 메인 항목 데이터와 병합합니다.
-
완전한 JSON 출력
- 최종 출력에는 다음이 포함됩니다.
{ "item": { "id": "...", "name": "..." }, "columnValuesById": { ... }, "columnValuesByName": { ... }, "boardrelations": [ ... ], "subitems": [ ... ] }
- 최종 출력에는 다음이 포함됩니다.
🛠️ 이 템플릿 사용 방법
Sticky Note3에 언급된 대로 이 워크플로우를 통합하는 방법은 다음과 같습니다.
- 이 노드를 원하는 워크플로우에 복사합니다.
- Execute Workflow 노드에서
workflowId를 인스턴스에 맞게 업데이트합니다. - Edit Fields 노드에서
pulse값을 수정하여 올바른 Monday.com 항목을 대상으로 지정합니다. - 출력을 다운스트림 작업(예: 웹훅, 데이터베이스, 이메일)에 연결합니다.
⚠️ 실행하기 전에 Monday.com에 대한 유효한 자격 증명(
mondayComApi)이 구성되어 있는지 확인하십시오.
🏁 결론
"MONDAY GET FULL ITEM" 워크플로우는 Monday.com 항목에 대한 깊은 가시성을 제공하는 강력하고 재사용 가능한 자동화 도구입니다. API 호출, JavaScript 변환, 데이터 분할 및 집계를 결합하여 통합, 보고 및 고급 자동화에 이상적인 완전하고 구조화된 데이터 세트를 제공합니다.
모듈식 디자인, 명확한 주석 및 자체 문서화된 레이아웃은 기술 및 비기술 사용자 모두에게 접근 가능하게 하며, 엔터프라이즈급 애플리케이션에 충분히 유연합니다.
사용 방법: JSON을 다운로드한 뒤 n8n에서 “파일에서 가져오기”를 선택하세요.