I’ve got a membership product where orders get added to a Google sheet. When a new row is added, I can use Integromat or Zapier to add a new customer record in Airtable.
I’m struggling to find out how to do the following
If a customer cancels their subscription, I have a cancelled field and date which gets updated. However, if the customer buys it again in a few months, I want the same record to be updated but with the cancellation fields cleared.
So in effect, if a new row is added to Google sheets, I want it to check whether the customer record already exists then just update it, otherwise add a new customer.
Is this possible? I’m probably suffering from baby brain but integromat only seems to have a either add or update. I want to combine the two. There was something about smart links on there. Do I need to create an Orders table and somehow link the two then somehow use that to do updates if needed?
Yes, this is easy to do in Integromat. You’re basically just setting up an “if/then statement”: If this happens, then do this. But if that happens, then do that.
In Integromat, you would use a combination of 1 router and multiple filters to determine what to do.
A router takes 1 incoming piece of information (in your case, the new row in Google Sheet), and it routes that data down multiple separate paths: Path #1, Path #2, Path #3, etc.
Each path does something different with your data.
By default, the router always sends the data down ALL paths, which is why you would use filters. You would attach a filter to each path.
A filter determines whether or not the data should be allowed to go down that path or not. In other words, the filter is like a “conditional statement” that checks to see if a certain criteria is true. If the criteria is true, then it will send the data down that particular path. If the criteria is false, then it will not go down that particular path.
Below is a screenshot of what one of my Integromat scenarios looks like with 1 router and 2 paths. (My scenario starts with Airtable, but your scenario would be starting with Google Sheets.)
Notice those little tiny “filter” symbols leading out of the router — that’s where I specify whether a path is valid to go down or not.
Hope this helps! If this answers your question, could you please mark this comment as the solution to your question? This will help other people who have a similar question. :slightly_smiling_face:
Thank you. I got as far as the Router myself but the first Airtable module I used was “Retrieve a record” not search like in your screenshot. I have tried the ‘search’ one now and it routes through to update the record (if it exists) but then throws a “NOT_FOUND” error even though the record is displayed on the screen.
Sorry, I feel I am being particularly dense. Below is the screen for the update module. I have set the record Id to be the email (as selecting the actual ID from the list throws the permission error).
I have set the tag field to pick up the new value coming from Google sheets but I get the NOT_FOUND error. This is the only field that I am setting to update. Am I misunderstanding how the update module works? How do I set the fields to be updated?