Using Iterators to get line-item Woocommerce data for Dropbox

Hey everyone, new on the forum here. Long time Zapier user, prior Integromat user and have been since working on getting fully plugged in on Make but am finding there is a bit of a learning curve :slight_smile: In any case, I’m excited to see what I can do but have one particular issue I’m struggling with.

The Scenario:
I have a woocommerce shop setup where a customer can order an item and upload an audio file and an image file to that item before checkout. I am looking for a way to then download those files via their urls and place them into a Dropbox folder that is created whenever a new order comes in.

My Current Setup:
Right now I have a 1) Watch Orders module for my Woocommerce account, followed by an 2) Iterator which processes the Line Items Meta Data. After that I have an 3)HTTP Get a file module which I want to pass the file url into, followed by a 4) Dropbox folder creation module, then finally, a 5) Dropbox Upload a File module.

The Problem:
Right now I am struggling with how to extract the values of the Item Meta Data that are shown in the Iterator step, in order to pull the URLs from those fields in the subsequent HTTP Get a file step. The Iterator shows all of the meta values and data successfully, so that part is taken care of. I just don’t know how to map/reference that data in the HTTP Get a file step. I did try setting up an Array aggregator in-between the Iterator and HTTP step, checking off the “Value” field and trying to group by Key, which output the first key in the bundle, but I’m stuck there. Not sure how to choose the key(s) I would like output, or if I am even doing this the right way here.

Where I need help:
As mentioned above, I can see the data that I need (key and value) in the Iterator step, now I just need to find a way to parse it out and return only the values for each of these two fields, to use them in the subsequent steps (HTTP Get a file):

Bundle
Key: Custom Voicemail Greeting
Value=()

Key: Custom Waveform MP4s
Value=()

Any assistance would be greatly appreciated!
(Screenshots below)



Hi @mattb ,

Interesting case and similar to things we’ve build before. Most of the time you can use the map() function to do a lot you want…but I can not see your scenario.
Please share some screenshots :wink:

~Dave

1 Like

Updated with screenshots :slight_smile:

@Bjorn.drivn - updated screenshots. Wondering if you have any insight?

If anyone is able to help, I would greatly appreciate it and be willing to pay. I have a few other more complex additions I would like to make for this and future Scenarios in case anyone is interested in helping.

Heya @mattb welcome to the community :wave:

If you’re looking for an automation pro/agency to help you out, feel free to post the job in the Marketplace category of the community :slight_smile:

FYI for those looking for a solution. I decided to engage Make support first, to see if I was missing anything. Turns out the solution was not to use iterator steps, but rather to use the Tool “set multiple variables” and map the data to the variables. See screenshot for reference. Doing this allowed me to pull the value from those defined keys and let me later use those URLS in the future steps. Problem solved! - Thanks to Make for great support :slight_smile:

2 Likes

@mattb Great to hear that you made it work! And thanks so much for sharing the solution from the support team with the community. This is super valuable :pray: