Research guide based on official documentation and template pages checked October 29, 2026. We have not run these scenarios or workflows; credit and task figures are estimates from documented counting rules and labeled assumptions, not measured account usage. Our editorial method

The short version

Make's help center defines the Iterator as a module that converts an array into a series of bundles, with each array item output as a separate bundle [1]. An aggregator does the reverse: it accumulates the bundles it receives during the source module's run and outputs a single bundle containing an array with one item per accumulated bundle [2].

That pair solves a common small-business job: an invoice arrives with several line items, you need to do something per line (log it, look up a product, check stock), then send one summary. Getting the shape right also decides the cost, because Make counts each module run per bundle [3].

The example invoice

Assume an invoice arrives by webhook from your billing tool with a line_items array. All values are invented for the example.

LineDescriptionQtyUnit priceLine total
1Website audit1$400$400
2Copy edits (hours)3$60$180
3Stock photos4$15$60
4Hosting setup1$120$120
5Rush fee1$75$75

Build it step by step

  • Step 1, trigger: a Custom webhook receives the invoice. One run per invoice.
  • Step 2, Iterator: set the Array field to line_items [1]. If the mapping panel only shows Total number of bundles and Bundle order position, run the scenario once with a sample invoice so Make learns the item structure [1].
  • Step 3, per-line work: for example, Google Sheets Add a Row to log each line with the invoice number, or a lookup of the product code. Every module here runs once per line item.
  • Step 4, Array aggregator: set Source module to the Iterator [2]. In Aggregated fields, include description, quantity and line total, plus anything later modules need [2].
  • Step 5, one action: send one email or Slack message listing all lines, or write all lines at once with Google Sheets Bulk Add Rows (Advanced), which appends multiple rows [4].
  • Step 6, empty invoices: decide whether an invoice with no lines should stop. Make's Stop processing after an empty aggregation option stops the flow when no bundles arrive [2].

Credits per bundle: two designs compared

Make's operations page says modules process each bundle separately and gives worked examples: 5 emails sent is 5 operations, and in a Google Forms scenario a trigger returning 10 bundles used 1 operation while each of three later modules used 10, for 31 in total [3]. It also shows a Text aggregator combining 10 contacts into one email, cutting a run from 11 operations to 3 [3]. Make's billing FAQ says most actions use 1 credit and routers do not consume credits [5].

Applying those rules to the 5-line invoice gives the estimates below. They assume 1 credit per module run; check one live run before relying on them.

ModuleDesign A: write each lineDesign B: aggregate, then bulk write
Webhook trigger11
Iterator (receives 1 invoice)11
Google Sheets Add a Row (per line)5Not used
Array aggregator11
Google Sheets Bulk Add RowsNot used1
Email summary11
Total per 5-line invoice95
Per 12-line invoice165
300 invoices/month averaging 5 lines2,7001,500

When you cannot avoid per-line modules

Design B only works when the next step accepts a list. If you need to look up each product in an inventory app that only accepts one item per call, every line costs a module run, and the honest saving is to remove lines you do not need: filter out zero-value lines or fees before the lookup. Filters sit between modules; budget for the modules a bundle actually reaches.

When one trigger run returns several invoices, the Iterator runs once per invoice and the aggregator, with the Iterator as source, outputs one bundle per invoice [2]. If you instead want one daily total across invoices, use Group by in the aggregator, which emits one bundle per distinct value, such as customer ID [2].

Mistakes that break the totals

  • Wrong source module: aggregating from the trigger instead of the Iterator can merge lines from separate invoices.
  • Lost context: invoice number and customer are unavailable after the aggregator unless included in Aggregated fields [2].
  • Silent empties: without the stop option, Make says the aggregator outputs its result even when no bundles reached it, so an empty invoice may send a blank summary [2].
  • Hidden multipliers: a search module inside the loop that returns several results multiplies every later module again [3].
  • Retries: a failed run that is retried repeats the per-line modules; add an error handler route and check what already succeeded.

Watch demos / Official walkthroughs

See how the tools work.

Videos load from YouTube only when you press play. These are provider videos, not our own product tests.

Make / Official video

Make—Building Your First Automated Workflow from Scratch

What to look for: Follow how modules connect and how data moves through the first workflow.

Watch on YouTube

Questions before you decide

Does the Iterator use a credit for every item?

By Make's operations rule, a module runs once per bundle it receives. The Iterator receives one invoice bundle, so it runs once; the items it outputs are what make later modules run once each. Confirm with the run history of your scenario.

Why can't I see invoice fields after the aggregator?

Make's aggregator documentation says items from bundles upstream of the aggregator are not accessible to modules after it unless you include them in the aggregator's setup, such as the Aggregated fields setting. Add the invoice number and customer to the aggregated fields or map them from a module before the iterator.

What does the Source module setting do?

It tells the aggregator where aggregation starts, usually the Iterator. Make says the aggregator accumulates all bundles it receives during the source module's run and then outputs one bundle. Picking the wrong source module merges line items from different invoices.

Sources & verification

Product details and prices can change. Check the linked provider before buying.

  1. Make Help Center: Iterator Accessed 29 Oct 2026
  2. Make Help Center: Aggregator Accessed 29 Oct 2026
  3. Make Help Center: Operations Accessed 29 Oct 2026
  4. Make integrations: Google Sheets modules Accessed 29 Oct 2026
  5. Make pricing and billing FAQ Accessed 29 Oct 2026

Sources link directly to providers. Product buttons may use separately labeled affiliate links. Read our disclosure.

Your decision at a glance

The option in this guide

Full comparison

Documentation-based guidance. No tested ranking or performance score.

Automation

Make

Consider it for
Use Make to prepare weekly reminder drafts for review. Free includes 1,000 credits per month and a minimum scheduled interval of 15 minutes. Email delivery needs a connected service, which may cost extra.
Starting cost
Free plan includes 1,000 credits/month
Before you choose
Connected apps can cost extra. Free scheduled interval is at least 15 minutes; paid billing must be checked at checkout.

Checked 13 Sep 2026 · Pricing source

View Make plans

Affiliate link: we may earn a commission on an eligible purchase. Link disclosure