Hello Sierra,
Thank you so much for the response!
Here are the two sample payloads from the Webhook, sanitized of personal data. The core difficulty lies in the varying number of files across two different “steps” or phases within the form:
### The Core Problem: Varying Combinations Across Two Steps
The total number of attachments can vary from 2 up to 8. These files are split across two logical steps (Step A and Step B), each potentially having 4 optional fields.
* **Step A:** 1 to 4 optional photos
* **Step B:** 1 to 4 optional photos
This creates a high number of unique combinations (e.g., 4 files in Step A + 2 files in Step B = 6 total files), resulting in the need for an unmanageable number of **filter routes (16+ branches)** if I cannot filter out the ‘null’ fields dynamically.
I am essentially looking for a single, elegant solution to process all 8 potential fields simultaneously.
### Sample Payloads (Sanitized)
**Case 1: 4 Files Present (from 8 Total)**
[
{
"techPassportFrontLegal": {
"name": "PL-techPass.pdf",
"mime": "application/pdf",
"data": "IMTBuffer(1453739, binary, 6d1a00479dd8dae6ee5fef0a05b02f291d162362): 255044462d312e340d25e2e3cfd30d0a312030206f626a0d3c3c200d2f43726561746f72202843616e6f6e20534331303131290d2f4372656174696f6e446174652028443a32303234303931373039333931332b303127303027290d2f50726f64756365",
"files": \[
{
"name": "PL-techPass.pdf",
"mime": "application/pdf",
"data": "IMTBuffer(1453739, binary, 6d1a00479dd8dae6ee5fef0a05b02f291d162362): 255044462d312e340d25e2e3cfd30d0a312030206f626a0d3c3c200d2f43726561746f72202843616e6f6e20534331303131290d2f4372656174696f6e446174652028443a32303234303931373039333931332b303127303027290d2f50726f64756365"
}
\]
},
"techPassportBackLegal": {
"name": "EST-tecchPass.pdf",
"mime": "application/pdf",
"data": "IMTBuffer(395153, binary, d096ab2a3f44a086172edf4783a1049cce31d184): 255044462d312e340a25e2e3cfd30d0a352030206f626a0a3c3c0a2f54797065202f584f626a6563740a2f53756274797065202f496d6167650a2f4e616d65202f496d300a2f576964746820313635330a2f48656967687420323333380a2f4269747350",
"files": \[
{
"name": "EST-tecchPass.pdf",
"mime": "application/pdf",
"data": "IMTBuffer(395153, binary, d096ab2a3f44a086172edf4783a1049cce31d184): 255044462d312e340a25e2e3cfd30d0a352030206f626a0a3c3c0a2f54797065202f584f626a6563740a2f53756274797065202f496d6167650a2f4e616d65202f496d300a2f576964746820313635330a2f48656967687420323333380a2f4269747350"
}
\]
},
"directorPassportLegal": {
"name": "PL_PASS.jpeg",
"mime": "image/jpeg",
"data": "IMTBuffer(299709, binary, 8ee98f5cd3a4ea9ab0f54a3a02928843c9fcf820): ffd8ffdb00430006040506050406060506070706080a100a0a09090a140e0f0c1017141818171416161a1d251f1a1b231c1616202c20232627292a29191f2d302d283025282928ffdb0043010707070a080a130a0a13281a161a28282828282828282828",
"files": \[
{
"name": "PL_PASS.jpeg",
"mime": "image/jpeg",
"data": "IMTBuffer(299709, binary, 8ee98f5cd3a4ea9ab0f54a3a02928843c9fcf820): ffd8ffdb00430006040506050406060506070706080a100a0a09090a140e0f0c1017141818171416161a1d251f1a1b231c1616202c20232627292a29191f2d302d283025282928ffdb0043010707070a080a130a0a13281a161a28282828282828282828"
}
\]
},
"insuranceTermLegal": "6",
"startDateLegal": "2025-11-12",
"regNumber": "1WERT23CV",
"contactFullName": "Aleksandr Ninov",
"contactEmail": "alek.nin.56@mail.com",
"contactPhone": "27994554213",
"entityType": "Юридическое Л.",
"directorPassportLegalBack": {
"name": "LT_PASS.pdf",
"mime": "application/pdf",
"data": "IMTBuffer(494334, binary, 98cb8651d06db3919cb0db85e853cbd4a1a50d67): 255044462d312e340a25e2e3cfd30d0a312030206f626a0a3c3c200a2f43726561746f72202843616e6f6e204d46373332432f373334432f37333543290a2f4372656174696f6e446174652028443a32303230313130363230303932372b303227303027",
"files": \[
{
"name": "LT_PASS.pdf",
"mime": "application/pdf",
"data": "IMTBuffer(494334, binary, 98cb8651d06db3919cb0db85e853cbd4a1a50d67): 255044462d312e340a25e2e3cfd30d0a312030206f626a0a3c3c200a2f43726561746f72202843616e6f6e204d46373332432f373334432f37333543290a2f4372656174696f6e446174652028443a32303230313130363230303932372b303227303027"
}
\]
}
}
]
**Case 2: 2 Files Present (from 8 Total)**
[
{
"techPassportFrontLegal": {
"name": "PL-techPass.pdf",
"mime": "application/pdf",
"data": "IMTBuffer(1453739, binary, 6d1a00479dd8dae6ee5fef0a05b02f291d162362): 255044462d312e340d25e2e3cfd30d0a312030206f626a0d3c3c200d2f43726561746f72202843616e6f6e20534331303131290d2f4372656174696f6e446174652028443a32303234303931373039333931332b303127303027290d2f50726f64756365",
"files": \[
{
"name": "PL-techPass.pdf",
"mime": "application/pdf",
"data": "IMTBuffer(1453739, binary, 6d1a00479dd8dae6ee5fef0a05b02f291d162362): 255044462d312e340d25e2e3cfd30d0a312030206f626a0d3c3c200d2f43726561746f72202843616e6f6e20534331303131290d2f4372656174696f6e446174652028443a32303234303931373039333931332b303127303027290d2f50726f64756365"
}
\]
},
"insuranceTermLegal": "12",
"startDateLegal": "2025-12-18",
"regNumber": "DF34VBHH98",
"contactFullName": "Pontij Wasonok",
"contactEmail": "ponty_78@yahoo.com",
"contactPhone": "2479954676766",
"entityType": "Юридическое Л.",
"directorPassportLegal": {
"name": "PL_PASS.jpeg",
"mime": "image/jpeg",
"data": "IMTBuffer(299709, binary, 8ee98f5cd3a4ea9ab0f54a3a02928843c9fcf820): ffd8ffdb00430006040506050406060506070706080a100a0a09090a140e0f0c1017141818171416161a1d251f1a1b231c1616202c20232627292a29191f2d302d283025282928ffdb0043010707070a080a130a0a13281a161a28282828282828282828",
"files": \[
{
"name": "PL_PASS.jpeg",
"mime": "image/jpeg",
"data": "IMTBuffer(299709, binary, 8ee98f5cd3a4ea9ab0f54a3a02928843c9fcf820): ffd8ffdb00430006040506050406060506070706080a100a0a09090a140e0f0c1017141818171416161a1d251f1a1b231c1616202c20232627292a29191f2d302d283025282928ffdb0043010707070a080a130a0a13281a161a28282828282828282828"
}
\]
}
}
]
**Note on Nulls:** In both cases, the missing fields are either explicitly passed as `null` or are entirely omitted from the payload, which leads to the Brevo module failure when attempting to process the attachment array.
Thank you again for looking into this! Your willingness to help is greatly appreciated, especially as I am still very new to Make. I really hope there is a cleaner way to solve this than manual routing.
Best regards,
Aleks