Make Array Aggregator 사용법: 반복 결과를 하나의 목록으로 다시 묶는 법

Array Aggregator는 여러 번들을 배열 하나로 모으는 Make 모듈입니다. 하지만 ‘묶기’만 선택하면 끝나는 것은 아닙니다. 어디부터 모을지, 어떤 필드를 남길지, 결과가 없을 때 후속 작업을 실행할지를 함께 정해야 합니다.

이 글에서는 샘플 업무 3건 중 처리 준비가 된 2건만 남겨 한 배열로 모았습니다. 2026년 9월 13일 Make EU·Free 계정에서 직접 수동 실행했고, 조건에 맞는 항목이 없을 때도 확인했습니다. 외부 앱 계정이나 고객 정보를 사용하지 않았으며 실제 이메일 발송과 예약 실행은 하지 않았습니다.

준비: 같은 입력으로 결과 비교하기

Iterator 실습의 테스트 JSON과 앞부분 설정을 사용합니다. 세 항목의 고유 ID와 상태는 다음과 같습니다. 복사용 JSON과 Basic trigger·Parse JSON 설정은 연결된 글에 있습니다.

idtitleteamstatus
FW-001문의 분류salesready
FW-002견적 확인saleshold
FW-003자료 정리opsready

전체 흐름: Basic trigger → Parse JSON → Iterator → 필터 → Array aggregator → Tools의 Set variable

마지막에 메일을 보내는 대신 변수에 결과를 담아 확인합니다. 이 단계에서는 ‘한 번 모인 배열이 올바른가’만 검사하면 됩니다. 배열은 곧바로 읽기 좋은 이메일 본문이 되는 것이 아니므로, 발송용으로 바꿀 때는 별도의 텍스트 구성과 수신자 검증이 필요합니다.

1. Array Aggregator의 핵심 설정

Iterator 오른쪽 연결 지점에서 Array aggregator를 추가하고 아래와 같이 설정합니다. 테스트 화면에서는 출력 구조 선택 항목이 Target module로 표시됐습니다.

필드이번 실습 값이유
Source ModuleIterator이 모듈에서 나뉜 업무 번들을 모으기
Target moduleCustom후속 앱의 고정 구조가 아닌 간단한 목록 만들기
Aggregated fieldsIterator의 id, title, team, status결과에 필요한 네 필드만 보존
Group by비워 둠통과한 항목 전부를 하나로 모으기
Stop processing after an empty aggregationYes조건에 맞는 항목이 없으면 후속 모듈을 실행하지 않기

Group by와 빈 집계 옵션은 Show advanced settings에서 확인했습니다. 저장하면 Iterator부터 Aggregator까지 회색 영역이 표시됩니다. 이번 테스트의 번호는 Iterator 3, Aggregator 6이었지만 자신의 화면에서 같은 역할의 모듈을 고르면 됩니다.

특히 Aggregated fields에서 원본 JSON의 tasks 배열 전체를 다시 고르지 마세요. 여기서는 Iterator가 내보낸 현재 업무의 id 등 네 필드를 선택합니다. 이 범위 안의 개별 값을 후속 모듈에서도 사용하려면 집계 결과에 포함해야 합니다.

2. 결과를 안전하게 확인할 모듈 붙이기

Aggregator 뒤에 Tools → Set variable을 추가합니다. Variable name은 result, Variable value는 Array aggregator의 Array[]로 연결합니다. 실제 발송 기능이 없어도 집계 이후의 실행 횟수와 결과 배열을 확인할 수 있습니다.

3. ready인 업무 두 건만 통과시키기

  1. Iterator와 Aggregator 사이 연결선을 눌러 필터를 엽니다.
  2. Label에는 ready 항목만 집계처럼 목적을 적습니다.
  3. 왼쪽 값은 Iterator의 status를 매핑합니다.
  4. 연산자는 Text operators: Equal to, 오른쪽 값은 직접 입력한 ready로 설정합니다.
  5. 입력칸 밖으로 이동한 뒤 Save를 누르고, 필터 설정창이 닫힌 것을 확인합니다. 그다음 Run once로 실행합니다.

필터 조건의 왼쪽 토큰 뒤에 비교값을 붙여 쓰지 마세요. 두 입력칸은 별개입니다. 또한 Label은 설명일 뿐 조건을 바꾸지 않습니다. 빈 결과를 테스트할 때는 Label이 아니라 오른쪽 비교값을 바꿔야 합니다.

4. 실제로 확인한 세 가지 결과

조건필터를 지난 업무집계 결과마지막 Set variable
필터 없이 실행3건출력 번들 1개, 배열 항목 3개1회 실행
status = ready2건: FW-001, FW-003출력 번들 1개, 배열 항목 2개1회 실행
status = no-match
빈 집계 중단 Yes
0건후속으로 전달되는 집계 번들 없음실행되지 않음

ready 조건의 결과 화면에서 확인한 배열 값을 아래처럼 정리할 수 있습니다. 이것은 이메일 본문이 아니라 두 업무의 데이터 목록입니다.

[
  {"id":"FW-001","title":"문의 분류","team":"sales","status":"ready"},
  {"id":"FW-003","title":"자료 정리","team":"ops","status":"ready"}
]

성공 여부는 녹색 표시만 보지 않고, Array aggregator 실행 결과 → Output → Bundle 1 → Array를 열어 확인했습니다. 배열에 두 항목이 들어 있고 각 ID가 FW-001·FW-003인지 비교하면 됩니다. 이후 테스트 조건은 다시 ready로 복원하고 예약 실행은 계속 꺼두었습니다.

Make Array Aggregator 실행 결과: ready 상태의 FW-001과 FW-003이 하나의 배열로 집계됨
2026-09-13 직접 수동 실행. Output의 Array에 FW-001·FW-003 두 항목이 들어 있습니다. 실제 고객 정보나 발송 기능은 사용하지 않았습니다.

결과가 예상과 다를 때

  • 배열에 필요한 필드가 없다면: Aggregated fields에서 Iterator의 해당 필드를 선택했는지 확인하세요.
  • 배열 속에 원본 목록이 반복된다면: 현재 번들의 필드 대신 Parse JSON의 전체 tasks 배열을 집계하고 있지 않은지 살펴보세요.
  • 한 묶음이어야 하는데 여러 번들이 나온다면: Group by가 비어 있는지와 Source Module의 실행 범위를 확인하세요.
  • 결과가 없는데 후속 단계가 동작한다면: 빈 집계 중단 옵션을 확인하세요. 이번 실습은 Yes일 때의 중단을 확인했으며 No로 둔 경우는 직접 실행하지 않았습니다.

Group by와 외부 발송은 별도 확장입니다

Make 공식 Aggregator 문서에 따르면 Group by를 지정하면 같은 키의 항목끼리 묶이며 키마다 출력 번들이 생깁니다. 예를 들어 team별 집계를 설계할 수 있지만, 이 글의 직접 실행에서는 Group by를 비워 두었습니다. 팀별 발송을 구현할 때는 출력 그룹 수와 수신자 매핑을 별도로 검증해야 합니다.

Search Rows처럼 원본 검색 모듈이 이미 여러 번들을 출력한다면 Iterator가 꼭 필요한 것은 아닙니다. 이때는 그 검색 모듈을 집계 시작점으로 삼는 구조를 검토하세요. 배열 분리 여부가 헷갈리면 Iterator가 필요한 경우와 실제 번들 출력으로 돌아가 입력 형태를 확인할 수 있습니다.

수정·검증일: 2026-09-13. 직접 검증 범위는 샘플 데이터 3건, 기본 집계·ready 필터·빈 결과 중단입니다. 화면 이름과 옵션은 변경될 수 있으며, 공식 문서 기반 설명과 직접 실행 기록을 구분했습니다.

플로우워크 HQ에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기