Help

This Product Ideas board is currently undergoing updates, but please continue to submit your ideas.

Zapier - Find to return Multiple Records

cancel
Showing results for 
Search instead for 
Did you mean: 
Julian_Kirkness
10 - Mercury
10 - Mercury

I have been using Zapier successfully to implement Airtable to Airtable automations (creating records for multiple customers etc) for a client and I have come across a case where it would be fantastic if there were a Find Records (Plural) which would return a comma separated string of record IDs (or even better an array of objects) which could be used in subsequent Zapier steps to do some process on all records.

Mentioning the Array of Objects above, I have had to write Javascript in Zapier to convert the strings you return from linked fields into these - it would neat to have an option for the step to return these as arrays of objects instead to remove the need for this in some cases.

10 Comments
Emily_Phillips
4 - Data Explorer
4 - Data Explorer

Has anyone found a solution to this? I’m not a dev, so javascript is probably beyond my capabilities here. I have a database I’m using Zapier to query to tell me if a record is still valid (is “now” between the “start time” and “end time” for a record). More than one record could be valid, however Zapier is only returning one. I need all of them.

Nishant_Singodi
4 - Data Explorer
4 - Data Explorer

Has this feature been enabled? I want Zapier to send out birthday emailers to all those who have birthday on that particular day. However, Zapier finds only 1 record and sends him the birthday emailer.

Julian_Kirkness
10 - Mercury
10 - Mercury

Hi Nishant

It has not - however there is another way - Integromat is a similar product to Zapier but it handles multiple returned records inherently and has much superior logic capabilities.

The only downside is that while building the logic there are occasionally some hiccups with Airtable preventing access to it’s API (this only happens with Airtable and is due to AT I believe). I am very keen for this to be solved and we need AT to step up and sort this with Integromat!!!

Julian

Nishant_Singodi
4 - Data Explorer
4 - Data Explorer

Thanks Julian! I appreciate you replying to my query. However, I read a few blogs and it says you can write a piece of code in Zapier to create a loop, to find multiple records. I haven’t tried that yet though. Thanks for suggesting Integromat. I’ll give it a try! :slightly_smiling_face:

Julian_Kirkness
10 - Mercury
10 - Mercury

Hi Nishant

I have written several blog posts about looping through records in Zapier - but it requires Javascript (which I hate personally) and requires that all records are returned in an array (basically a single field with all the linked records you want to process). You can’t set up a Zap to query the database to retrieve multiple records and then process through them. This is inherent in Integromat. Also, Zapier can’t do branching logic.

Don’t get me wrong, there are many good reasons to choose Zapier (the sheer number of connections available being the main one) but at the moment Integromat is much more powerful in terms of logic, looping etc.

Julian

Jeremy_Brunet
6 - Interface Innovator
6 - Interface Innovator

Hi @Julian_Kirkness

Could you elaborate on how you find to return multiple records with Integromat, please?

I’m trying to understand how Integromat works, I have a hard time with building steps so far. Still, I can clearly see the potential of this service compared to Zapier (A perfect mix would have been the UX + catalog of apps supported by Zapier combined to the automation power of Integromat) and will work on it over the next weeks to understand how Integromat works.

I’ve also had a look on your blog but I didn’t find a post about this.

Thanks for your help!
Jérémy

Julian_Kirkness
10 - Mercury
10 - Mercury

Hi @Jeremy_Brunet

It’s simply a matter of using a Search Records Airtable option in Integromat - if this returns more than one record (you can set a maximum) then every succeeding step will process for each record found.

Screenshot 2018-12-21 at 11.00.20.png

You can set search criteria in the Formula field.

Hope this helps.

Marcelo_Estrada
4 - Data Explorer
4 - Data Explorer

What If you don’t know what the maximum is? I am trying to use this in a way where it loops until there are no more records matching that criteria.

Also, If the record already exists. I wouldn’t want to duplicate it and return them again.

Do you have a solution for this?

Thomas_Muehlher
4 - Data Explorer
4 - Data Explorer

I have the same idea with the Birthday emails. However, running a Zap once a day and send an email to the person whose birthday it is on that day, will only send one email per day, even if multiple birthdays are in the database.

I think if a control flag with the current date would be set on the returned record after the email is sent, and this would be included in the search criteria, then the zap could run multiple times a day, and would each time return another record:

  1. Run every 5 minutes between 9 AM and 12 AM
  2. Return a random record with today’s birthday and the control flag not equal today.
  3. Set control flag on that record to today’s date
  4. Send Birthday email to that record’s email

This search would return another record or none, every 5 minutes. Not very efficient, but this could work.

Thomas.

Adrian_Ross
5 - Automation Enthusiast
5 - Automation Enthusiast

This saved me a lot of frustration today. Thank you for this recommendation!