Best structure for daily PDF DDT generation + route briefing from Shopify/Google Sheets orders

:bullseye: What is your goal?

Hi everyone,

I’m building a Make workflow for a wine delivery service using Shopify orders and Google Sheets.

I already have a main scenario that imports paid Shopify delivery orders into Google Sheets.

Now I want to create a separate daily scenario for transport documents and route briefing.

Goal:

Every day at 00:01, the scenario should look for the next day’s paid delivery orders in Google Sheets and generate one separate PDF DDT / delivery transport document for each order.

For example:
If there are 5 paid delivery orders for tomorrow, the scenario should generate 5 separate PDF documents, one per order.

Then it should send one organized email to our internal address containing:

  • all DDT PDFs attached
  • a clear summary of tomorrow’s orders
  • the Google Maps route link for tomorrow’s delivery route

The same route link and order summary should also be sent to my WhatsApp.

Important operational detail:
The DDT document must show goods departure from:
Enoteca Assetati, Via Cavour 83a, Asti
Departure time: 09:30

But the operational Google Maps route should start from:
Località/Frazione Campanella 7, Castello di Annone
Departure time: 09:30

So DDT departure data and Google route departure data are different and must stay separate.

:thinking: What is the problem & what have you tried?

I’m trying to understand the best Make architecture before building it.

Current data source:
Google Sheets table Orders_Log with imported Shopify orders.

Relevant fields:
order_number
financial_status
delivery_date
delivery_area
delivery_window
delivery_window_full
delivery_town
accommodation_name
full_delivery_address
customer_whatsapp
delivery_notes
customer_email
shipping_address_full
ddt_source
match_status
host_credit_eligible

Rules:

  • Only paid orders should be included.
  • Only delivery orders for the next day should be included.
  • One order = one separate PDF DDT.
  • All PDFs should be attached to one single internal email.
  • The email should also contain a summary of orders and a Google Maps route link.
  • The WhatsApp message should contain route link + summary, not necessarily PDF attachments.

Questions:

  1. What is the best Make structure for generating multiple PDFs and attaching them all to one single email?
  2. Should I use Google Docs templates, PDF generation, Array Aggregator, and then Email?
  3. Where should I place the Array Aggregator to collect all generated PDF files before sending the email?
  4. What is the best way to create a Google Maps multi-stop route link from multiple delivery addresses in Google Sheets?
  5. Is it better to send WhatsApp via Twilio, WhatsApp Cloud API, or another Make-compatible provider?
  6. Should the DDT generation scenario be scheduled at 00:01, or is a later time safer for Shopify/Google Sheets sync?
  7. How can I avoid generating duplicate DDT PDFs if the scenario is re-run?

:clipboard: Error messages or input/output bundles

No error yet for this new scenario. I’m asking for architecture advice before building it.

Main concern:
I need one daily email with multiple PDF attachments, not one email per order.

Example expected result:
Tomorrow has 5 paid delivery orders.
Make should generate:
DDT_2026-06-14_Order_1071.pdf
DDT_2026-06-14_Order_1072.pdf
DDT_2026-06-14_Order_1073.pdf
DDT_2026-06-14_Order_1074.pdf
DDT_2026-06-14_Order_1075.pdf

Then send one email with all 5 PDFs attached, plus order summary and Google Maps route link.

Also send WhatsApp summary:
“WineHoliday deliveries for 14/06/2026: 5 orders.
Route: [Google Maps link]

  1. 10:00 - Villa X - Address - WhatsApp
  2. 10:25 - Villa Y - Address - WhatsApp
    …”

Hello,

You should iterate through your Google Sheet search results (orders for delivery), generate the documents, and then aggregate them using the Search module (or Iterator, depending on your actual setup) to merge all bundles into one.

A few tips to save you time.

Router

Don’t be afraid to use a Router with the “Magic Formula” – Set Variable on the first route (and each generating separate data) and Get Variable on the last – to generate different sets of data. The minimum is two routes: one for aggregating text and one for aggregating attachments.

Aggregate attachments as separate bundles

With this approach you can use the map option and aggregate into an Email data structure. It will save you a lot of time and make the scenario easier to maintain.


How to generate PDF

It really depends on the document – there’s no one-size-fits-all solution here.

You can use Google Docs and Google Drive module to download PDF

Demo

Below you can find an example scenario I created. It covers, I hope, all the tricky parts.

Results

Have a nice day,
Michal

Hi Michal,

thank you very much, this is exactly the direction I needed.

So, if I understand correctly, the best structure is:

  1. Scheduler at 00:15
  2. Google Sheets Search Rows to get tomorrow’s paid delivery orders
  3. Iterate through each order
  4. Create one Google Docs DDT document per order
  5. Download each document as PDF from Google Drive
  6. Use an Array Aggregator to collect all PDF files
  7. Use a separate text aggregation / variable route to build the order summary
  8. Send one single internal email with:
    • all PDF DDTs attached
    • order summary
    • Google Maps route link
  9. Send the route link and order summary to WhatsApp separately

This makes sense. The key point for me was avoiding one email per order and sending only one email with all PDFs attached.

I’ll first stabilize the Shopify order data in Google Sheets, especially the delivery fields coming from note_attributes, and then I’ll build this separate DDT + route briefing scenario.

Thank you also for the demo scenario, I’ll study it carefully before building mine.

Best,
Omar