Best answer

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

  • 25 July 2022
  • 7 replies
  • 461 views

Userlevel 1
Badge +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

 

icon

Best answer by Hexmans 27 July 2022, 14:38

View original

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

Userlevel 7
Badge +11

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!

Userlevel 1
Badge +1

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

Userlevel 1
Badge +1

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

Userlevel 7
Badge +11

Thanks for all the extra info @Hexmans!

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

Userlevel 1
Badge +1

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. 

Userlevel 7
Badge +11

@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 :)

Userlevel 1
Badge +1

@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.