Help

Re: Search records in Airtable from Integromat

Solved
Jump to Solution
7470 0
cancel
Showing results for 
Search instead for 
Did you mean: 
Sridhar_Rajendr
5 - Automation Enthusiast
5 - Automation Enthusiast

I am trying to search for records in Airtable from Integromat and unable to figure out how.
I have created a scenario where I get a unique id to be searched for in Airtable via a webhook. After linking the webhook to Airtable, I selected the option “Search records”. There is a field called “Formula” and I am not able to figure out what it means.
Screen Shot 2018-03-29 at 6.24.45 PM.jpg

1 Solution

Accepted Solutions
M_k
11 - Venus
11 - Venus

Hi @Sridhar_Rajendran and @Kristina_Traeger1

This is in response to your posts.

You would use thIs basic Integromat scenario and then you can expand on it to suit your own use case:

Airtable=> Watch Records only use this if you are not using an app before this one
Airtable=>Search Records
The formula:
{type keyword/unique ID} = “use the value/blue tag of the field name”. **use straight quotes
Use Router
Airtable=>Update Record. **secod branch, filter before the app: chose blue tag (ID) and Record Updates
Airtable=>Create Record **first branch, filter before app: chose blue tag (ID) and Exists

Here are screenshots to illustrate how to setup a basic scenario to a update and create records and how to setup Gmail module. You can add on and expand the scenario for your use case.

Images 5 and 6 shows how to setup the formula, you would just use your own unique key.

Hope this can help.

Mary Kay

image

image

image

image

image

image

image

image

See Solution in Thread

26 Replies 26

Here’s what Airtable’s API documentation says about ‘Filter by formula’:

filterByFormula: string: optional

A formula used to filter records. The formula will be evaluated for each record, and if the result is not 0, false, “”, NaN, [], or #Error! the record will be included in the response.

If combined with view, only records in that view which satisfy the formula will be returned.

For example, to only include records where Name isn’t empty, pass in: NOT({Name} = ‘’)

It also directs users to the main Airtable formula reference page for additional information.

Sridhar_Rajendr
5 - Automation Enthusiast
5 - Automation Enthusiast

Thanks for the link @W_Vann_Hall.

Basically I want to retrieve the records that match the field “Customer ID”.
Screen Shot 2018-03-29 at 6.44.58 PM.png

From the API reference page I am not able to figure out how to compare a string that I have received from webhook with the field “Customer ID”. Any idea how to do it?

dave_brand
6 - Interface Innovator
6 - Interface Innovator

did you manage to make it work? I tried integromat and had similair problems. compared to zapier setup is much harder.

Yup I was able to make it work. Thanks for checking in.
I wrote a tutorial for Google Sheets and the steps are same for Airtable as well.

@Sridhar_Rajendran
What exactly was your formula? That’s the part I’m having some issues with.

UPDATE: Nevermind, I just got it to work!

That’s a great write-up of the process, BTW. I’ve been struggling¹ with automating some processes with Integromat, and I think you’ve lit enough of a fire under me to send me back to the task.


  1. By ‘struggling,’ I mean, 'trying not to have to read the documentation — but at least there is documentation, thankfully, and not just improvised tutorials on YouTube…
Kristina_Beever
6 - Interface Innovator
6 - Interface Innovator

I am still having trouble with this. I mainly use Zapier, but a client I am working with want s to use Integromat. I have tried two routes and keep running into the same problem. Ideally, this is how it will work - we have a form in Airtable set up to go to it’s own tab. We want to use Integromat to read that data, then search another tab within the same base in Airtable and then either create or update a record depending on whether or not it is already there. I know the problem I am having has to rely in the search portion of the setup. I want it to search based on the same field in both tabs, Participant Name, and have tried to set this up but it doesn’t seem to be working. When I test it with an existing record, it just starts updating a variety of existing records instead of the one that matches. I’ve tried writing a formula to filter it and then get met with an error every time. I do not know what I’m doing wrong. I tried to figure it out from the tutorial, but I was so lost in it I had no idea what to do. Please help!

Leo_Dusseja
4 - Data Explorer
4 - Data Explorer

I think I have figured out, yet to test out, you have to use {Field name}=select-variable", can someone confirm if I am doing it right?

Geoffrey_McCale
4 - Data Explorer
4 - Data Explorer

Sorry to resurrect this old thread but I’m still struggling to figure out why my filterbyformular query isn’t working. I’ve got a simple two column table with some first names and last names.

To work around the API limits, I constructed my query using curl after reading the docs. This pseudo query got me what I wanted:

curl https://api.airtable.com/v0/$id/$table?filterByFormula='{FirstName}="Bob"' $AUTH

Great, I get a JSON payload that returns the row I’m looking for! But when I plug that filter into Integromat (everything after the ? and before the auth string), I get the following error:

The formula for filtering records is invalid: Unknown field names: filterbyformula

Anyone have any ideas what I’m doing wrong?

How? Can you share please for other people to see it too?

Kristina_Traege
4 - Data Explorer
4 - Data Explorer

the chatfuel tutorial you shared @Sridhar_Rajendran works with Google Sheets and not with Airtable. So this is not a response to the issue raised :slightly_smiling_face:
Anyone share what the filter formula looks like? I am using:
{Airtable Column Name}=variable

but it results in “The formula for filtering records is invalid: Unknown field names: false” :frowning:

update: got it to work. the formula needs to go in () and the variable needs to be defined as string ‘variable’.

here you go:

({Airtable Column Name}=‘variable’)

Adam_Kramer
6 - Interface Innovator
6 - Interface Innovator

Hoping someone can help me with this formula – I use Integromat to schedule moving my records between bases when a “Send” checkbox is checked (which has a corresponding “Send Last Modified” date field).

Right now, the first record in my scenario is a Watch Records trigger, where the Trigger Field is “Send Last Modified”.

I want to set it up so that I can trigger this with Webhooks instead, but I’m not sure what the formula would be to replicate the “Send is checked” but only include the new results from “Send Last Modified”.

Any help greatly appreciated!! Thank you!!!
Adam

This is the true answer. UPVOTE!!!

M_k
11 - Venus
11 - Venus

Hi @Sridhar_Rajendran and @Kristina_Traeger1

This is in response to your posts.

You would use thIs basic Integromat scenario and then you can expand on it to suit your own use case:

Airtable=> Watch Records only use this if you are not using an app before this one
Airtable=>Search Records
The formula:
{type keyword/unique ID} = “use the value/blue tag of the field name”. **use straight quotes
Use Router
Airtable=>Update Record. **secod branch, filter before the app: chose blue tag (ID) and Record Updates
Airtable=>Create Record **first branch, filter before app: chose blue tag (ID) and Exists

Here are screenshots to illustrate how to setup a basic scenario to a update and create records and how to setup Gmail module. You can add on and expand the scenario for your use case.

Images 5 and 6 shows how to setup the formula, you would just use your own unique key.

Hope this can help.

Mary Kay

image

image

image

image

image

image

image

image

I tried this configuration and just about every other variation of it, and am still getting ‘The formula for filtering records is invalid: Invalid formula. Please check your formula text.’ Any other suggestions? When using your approach above it shows:
INPUT

  • Bundle 1Collection
    • Base
      appzZmT2FCNqhbcPh
    • Table
      StateCurrent
    • Formula
      ({StateCode}=‘AK’)

And in other iterations: StateCode = AK (which I tested in Airtable directly as a formula column, and it evaluates correctly).

Any other suggestion would be much appreciated.

Welcome to the community, @DKott1! :grinning_face_with_big_eyes: Two questions:

  1. How do the quotes around “AK” look in Integromat? Formulas in Airtable require “straight” quotes, but some editors create “curly” quotes. For example:

"AK" vs “AK”

If you use the wrong type in Integromat, my gut says that wrong type will be passed to Airtable, and could be the cause of the error.

  1. Your formula example above is:

Is that exactly how the formula field looks in Integromat, parentheses included? If so, the parentheses shouldn’t be there, so perhaps that’s causing a hiccup of some kind.

Double quotes and removing the parentheses worked … thank you so much!

Screen Shot 2020-09-11 at 10.31.06 AM

Hi Mary Kay,

Thank you, your solution worked for me.
When I had to create the filter to update the record, I chose the blue tag (ID) but I couldn’t find the Record Updates option so I set it up as “it doesn’t exist”. Not sure why, maybe I was looking for it in the wrong place? Or maybe Integromat changed something since May?
When I had to Create Record, I was able to go for your approach.

It looks I am getting the desired results, I will keep an eye on it and post here if anything weird happens.

Thank you!

Hi @Matteo_Ottaviani!

I’m glad it worked for you!

There has been a new update/version for Airtable.

You could check this at Integromat.com

Or you could do a Google search and find the link for app/module descriptions.

Hope this helps!

Mary Kay