Skip to main content
Best answer

Set a variable in a path to continue zap with that variable


Forum|alt.badge.img+1

Hi 

I’ve just upgraded my yearly subscription so I can use paths. But they seem to behave different then expected. 

What I want to achieve: 

Step 1: run every month
Step 2: get a list of orders from woocommerce (API call)
Step 3: depending on the month, store a unique ID (which is a variation ID from one a product in woocommerce) Example:
January → 123
February → 124
… and so on
Step 4: Loop the woocommerce orders (from step 2)
Step 5: Only continue if ID = the stored ID (stored at step 3)
Step 6: subscribe the specific woocommerce customer into a webinar series

I manage to achieve all the steps individually, but I can’t seem to be able to put them into one big ZAP. It seems that after a path, I can’t add any other steps? 
I only see 2 possible solutions: 

1) Add step 4, 5 and 6 to each path-action (which means, 12 times in total, no duplicate option and when I want to change something, I need to apply it 12 times)

2) I wanted to create a sub-zap which stored the unique ID’s depending on the month. But apparently you can’t use Paths in a sub-zap.

Anyone out here who can help me with this? If not I’ll have to contact zapier to ask for a refund :-P

Thanks in advance!

EDIT: somehow I suddently can create a sub-zap containing a path and I don’t get an error. So i’ll try this tomorrow. If someone got a better idea: feel free to share it anyway

 

Best answer by HexmansBest answer by Hexmans

Thanks for looking into it. I’m curious to see what you come up with. 
Here’s my solution that I assume it works (final test: the trigger will fire up the 28th at 5pm)

Main Zap:

 

Some more details of the steps: 

 

The sub-zap: 


In detail:

 

Maybe a bit strange that I solved my own question 😛 But I’m always open to a better approach since I’m still learning how to use the paths.

Another way I just came up with; would be to just do a API call to woocommerce and retrieve the variation ID’s in that way 🤔 That’s actually easier. Then I don’t have to manually define the mapping of the variation ID’s. 

View original
Did this topic help you find an answer to your question?
This post has been closed for comments. Please create a new post if you need help or have a question about this topic.

7 replies

nicksimard
Forum|alt.badge.img+11
  • Zapier Staff
  • 2115 replies
  • July 25, 2022

Hey @Hexmans!

That’s an awesome workflow you’ve got there! I’m impressed at the complexity and thought you’ve put into it :) Thanks for all of the details you provided.

I think I understand what you’re trying to do but I’m not 100% clear on Step 3. 

Step 3: depending on the month, store a unique ID (which is a variation ID from one a product in woocommerce) Example:
January → 123
February → 124
… and so on

 

A couple of questions:

  1. Where are you storing this unique ID (Storage by Zapier? Somewhere else?)
  2. You said that depending on the month, you store one of the variation IDs from a product in WooCommerce. What’s the reason for this? I’m trying to connect how the list of WooCommerce orders connect to the month and to the webinar series.

I think with that information I can help you out better. Thanks!


Forum|alt.badge.img+1
  • Author
  • Beginner
  • 15 replies
  • July 26, 2022
nicksimard wrote:

Hey @Hexmans!

That’s an awesome workflow you’ve got there! I’m impressed at the complexity and thought you’ve put into it 🙂 Thanks for all of the details you provided.

I think I understand what you’re trying to do but I’m not 100% clear on Step 3. 

Step 3: depending on the month, store a unique ID (which is a variation ID from one a product in woocommerce) Example:
January → 123
February → 124
… and so on

 

A couple of questions:

  1. Where are you storing this unique ID (Storage by Zapier? Somewhere else?)
  2. You said that depending on the month, you store one of the variation IDs from a product in WooCommerce. What’s the reason for this? I’m trying to connect how the list of WooCommerce orders connect to the month and to the webinar series.

I think with that information I can help you out better. Thanks!

First of all: thanks for the reply @nicksimard 
I’ve got a history in IT (so maybe the habit of making things too complicated) and currently I’m managing some automations like this via a raspberry PI (and NodeRed) but it takes too much maintenance and/or bug fixing and/or monitoring the online time. So I wanted to try to simplify it by using zapier. It’s also easier to have everything at one place.

I’ll try to explain the full workflow:

  • Each first day of the month, a new program starts. For example 1st of august as shown in the screenshot
  • Depending on the chosen course track (only Met Begeleiding and VIP), the customer gets access to 5 webinars, each at a specific airtime. Subscribing for the 1st of august means: broadcasts on 29 july, 07 august, 14 august, 21 august and 28 august. I want them to be subscribed automatically to these broadcasts.

My Conlusion/experience for now of trying to put it all together in Zapier:

I want this Zap to run each 28th of the month so my customers automatically get access to the webinar series. Which means I need to collect the correct customer email/name from my woocommerce orders.

The API from woocommerce can only filter on a specific product ID, not on a variation ID. Which means my API call looks like this:

 

==> This way I get a list of all the completed orders that bought the main product (in my case, product ID 2111). 
But I need to know in Zapier which customer bought the specific variation ID’s combined with the subscibed month (So: 1 august → DIY/Met Begeleiding/VIP). Because not all tracks need to be subscribed on the webinars (only Met begeleding and VIP) plus I only need the customers for a specific start date.

 

Answers on your questions: 

  • yes, I’m using the storage by Zapier. So I can set the specific variation ID’s for each month.
    Let’s say the Zap runs on 28 july → I need to get all the customers subscribed for the start on 1 august (= variation ID combinations of startDate/Track which means everyone subscribed for start date 1 august AND VIP or Met begeleiding track. Which translates in woocommerce Variation ID’s: 3574 and 3575:

 

  • So, when it’s 28the of july, the zap runs and I need all the customers subscribed for 1 August with the track VIP or met begeleiding. Which means, all orders with variation ID 3574 or 3575.
     

My flow would be: 

step 1: start at 28th of each month (ex: 28 july)
step 2: +1 on the current month (ex: month 7 becomes number 8)
step 3: get a list of all the woocommerce orders for product id 2111 of the past year
step 4: pass the value from step 2 (ex: 😎 to a sub zap. This sub zap contains the mapping of the month/variation ID’s. So, when passed 8 it will store in Storage by Zapier myStorage.VIP = 3575 and in myStorage.Begeleiding. 3574
step 5: continue when step 4 is finished. Loop the line items (woocommerce orders) from step 3.
step 6: in the loop: only continue for those line items where variation_id = myStorage.VIP or variation_id = myStorage.begeleiding (normally mapped with the correct ID’s in step 4) 
step 7: when continued, and thus I’ve got a customer subscribed for the program starts on 1 august with track VIP or met begeleiding => subscribe to the specific webinar series

Maybe I’m stretching out the functionality of Zapier? Although what I want isn’t really that special in my honest opinion :-) 

But maybe I’m overlooking something. If only I could pass the variation ID to the woocommerce API call; It would have been much simpeler :-D


Forum|alt.badge.img+1
  • Author
  • Beginner
  • 15 replies
  • July 26, 2022

EDIT: I don’t really need to use the storage by Zapier since a sub-zap can return values by itself apparently. 


nicksimard
Forum|alt.badge.img+11
  • Zapier Staff
  • 2115 replies
  • July 26, 2022

Thanks for all the extra info @Hexmans!

Let me work through this and see if we can get something going for ya :) Stay tuned.


Forum|alt.badge.img+1
  • Author
  • Beginner
  • 15 replies
  • Answer
  • July 27, 2022

Thanks for looking into it. I’m curious to see what you come up with. 
Here’s my solution that I assume it works (final test: the trigger will fire up the 28th at 5pm)

Main Zap:

 

Some more details of the steps: 

 

The sub-zap: 


In detail:

 

Maybe a bit strange that I solved my own question 😛 But I’m always open to a better approach since I’m still learning how to use the paths.

Another way I just came up with; would be to just do a API call to woocommerce and retrieve the variation ID’s in that way 🤔 That’s actually easier. Then I don’t have to manually define the mapping of the variation ID’s. 


nicksimard
Forum|alt.badge.img+11
  • Zapier Staff
  • 2115 replies
  • August 4, 2022

@Hexmans that’s awesome! Thanks for coming back with that. My apologies for not responding sooner.

I’ll take a closer look at it and see if I can come up with any improvements. Great job :)


Forum|alt.badge.img+1
  • Author
  • Beginner
  • 15 replies
  • August 5, 2022
nicksimard wrote:

@Hexmans that’s awesome! Thanks for coming back with that. My apologies for not responding sooner.

I’ll take a closer look at it and see if I can come up with any improvements. Great job :)

The only thing I changed from the solution above is that I don’t use a subzap anymore with the storage.
I just added 2 extra webhooks to get the specific variation ID from each program for the specific month. 
In woocommerce I’ve added a SKU identifier to each variation. So the SKU for the variations from august are Begeleiding8 and VIP8. This way I can easily get the 2 ID’s via a basic webhook.