Skip to main content

Help with update record automation


Hello,
I need help figuring out what I am doing wrong. In the main table, I track daily work, and in the other table, I track inventory. There is created a link record from the main table to the inventory table. From the main table, I am selecting the available items for sale. What I would like the automation to do is find the records that I have assigned and copy the quote number from my main table to the inventory table. I know I can do a lookup the problem is that I have too many records that would have to backlog. Here is what I am trying to accomplish with the automation, but it keeps failing.

After I update that Quote Number field and select the items from the inventory table, I am triggering the automation from the checkbox field.

Main table view:

Inventory table (Resale Items) view:

It finds the records.

Automation fails, even though it finds the Record IDs.

10 replies

ScottWorld
Forum|alt.badge.img+20
  • Brainy
  • 8742 replies
  • March 13, 2021

I’m confused about why you’re not linking the records and using a lookup field? It seems like that would be the easiest & quickest way to solve this problem, because unfortunately, you won’t be able to do what you want with automations — unless you write your own custom JavaScript.

Unfortunately, the “Find Records” action (and the subsequent “Update Record” action) doesn’t work in the way that any of us would expect it to work.

The “Find Records” action is an almost-useless action unless you know JavaScript. In my personal opinion, it would be a good idea for Airtable to remove the “Find Records” action until it can be fixed for all users, not just JavaScript-savvy users.

The only thing the combination of “Find Records” & “Update Records” can do is return an array of Record ID’s that you can then paste into a linked record field (or a text field). That’s about it. I can’t think of anything else you can do with it, except pass it onto a JavaScript for looping through the array — which is what you would need to do in your case to get the results that you’re looking for.

What you were expecting is what most of us were expecting, which is that Airtable would loop through the found Record ID’s and update each one of the records that it found. But unfortunately, it won’t do that.

In your final screenshot above, you’ve pasted in the “List of Record ID’s” into the “Record ID” field, but the “Record ID” field can only handle a single Record ID. You pasted in an entire array of Record ID’s expecting Airtable to loop through each one of those records and update each one of those records, but unfortunately, Airtable can only handle ONE Record ID there.

So unfortunately, the only real solution for this sort of an automation scenario is to write a custom JavaScript to loop through the Record ID’s, or if you want to stick with a low-code/no-code platform, I highly recommend Integromat (this link contains my referral code for Integromat).

I would also email Airtable at support@airtable.com to ask them to improve/fix how this functions.


Kamille_Parks11
Forum|alt.badge.img+15
ScottWorld wrote:

I’m confused about why you’re not linking the records and using a lookup field? It seems like that would be the easiest & quickest way to solve this problem, because unfortunately, you won’t be able to do what you want with automations — unless you write your own custom JavaScript.

Unfortunately, the “Find Records” action (and the subsequent “Update Record” action) doesn’t work in the way that any of us would expect it to work.

The “Find Records” action is an almost-useless action unless you know JavaScript. In my personal opinion, it would be a good idea for Airtable to remove the “Find Records” action until it can be fixed for all users, not just JavaScript-savvy users.

The only thing the combination of “Find Records” & “Update Records” can do is return an array of Record ID’s that you can then paste into a linked record field (or a text field). That’s about it. I can’t think of anything else you can do with it, except pass it onto a JavaScript for looping through the array — which is what you would need to do in your case to get the results that you’re looking for.

What you were expecting is what most of us were expecting, which is that Airtable would loop through the found Record ID’s and update each one of the records that it found. But unfortunately, it won’t do that.

In your final screenshot above, you’ve pasted in the “List of Record ID’s” into the “Record ID” field, but the “Record ID” field can only handle a single Record ID. You pasted in an entire array of Record ID’s expecting Airtable to loop through each one of those records and update each one of those records, but unfortunately, Airtable can only handle ONE Record ID there.

So unfortunately, the only real solution for this sort of an automation scenario is to write a custom JavaScript to loop through the Record ID’s, or if you want to stick with a low-code/no-code platform, I highly recommend Integromat (this link contains my referral code for Integromat).

I would also email Airtable at support@airtable.com to ask them to improve/fix how this functions.


The documented current purpose is to render a list of records within the body of an email using the Send Email/G Mail action.


ScottWorld
Forum|alt.badge.img+20
  • Brainy
  • 8742 replies
  • March 13, 2021
Kamille_Parks11 wrote:

The documented current purpose is to render a list of records within the body of an email using the Send Email/G Mail action.


Thank you, that’s another action that I forgot! I can see that being useful.

I was only thinking about what else we could do with it for updating records, and I couldn’t think of anything useful besides pasting it into a linked record field (or passing it onto a JavaScript).


Kamille_Parks11
Forum|alt.badge.img+15
ScottWorld wrote:

Thank you, that’s another action that I forgot! I can see that being useful.

I was only thinking about what else we could do with it for updating records, and I couldn’t think of anything useful besides pasting it into a linked record field (or passing it onto a JavaScript).


No word on if they’ll do it, but I can see some time in the future them adding a separate “Update records” action to take in an array of record ids.


ScottWorld
Forum|alt.badge.img+20
  • Brainy
  • 8742 replies
  • March 13, 2021
Kamille_Parks11 wrote:

No word on if they’ll do it, but I can see some time in the future them adding a separate “Update records” action to take in an array of record ids.


Yesss, that would be amazing! That would really open up an entire world of possibilities, and I think that’s what all of us were initially hoping for as the companion to the “Find Records” action.


  • Author
  • Inspiring
  • 13 replies
  • March 13, 2021
ScottWorld wrote:

I’m confused about why you’re not linking the records and using a lookup field? It seems like that would be the easiest & quickest way to solve this problem, because unfortunately, you won’t be able to do what you want with automations — unless you write your own custom JavaScript.

Unfortunately, the “Find Records” action (and the subsequent “Update Record” action) doesn’t work in the way that any of us would expect it to work.

The “Find Records” action is an almost-useless action unless you know JavaScript. In my personal opinion, it would be a good idea for Airtable to remove the “Find Records” action until it can be fixed for all users, not just JavaScript-savvy users.

The only thing the combination of “Find Records” & “Update Records” can do is return an array of Record ID’s that you can then paste into a linked record field (or a text field). That’s about it. I can’t think of anything else you can do with it, except pass it onto a JavaScript for looping through the array — which is what you would need to do in your case to get the results that you’re looking for.

What you were expecting is what most of us were expecting, which is that Airtable would loop through the found Record ID’s and update each one of the records that it found. But unfortunately, it won’t do that.

In your final screenshot above, you’ve pasted in the “List of Record ID’s” into the “Record ID” field, but the “Record ID” field can only handle a single Record ID. You pasted in an entire array of Record ID’s expecting Airtable to loop through each one of those records and update each one of those records, but unfortunately, Airtable can only handle ONE Record ID there.

So unfortunately, the only real solution for this sort of an automation scenario is to write a custom JavaScript to loop through the Record ID’s, or if you want to stick with a low-code/no-code platform, I highly recommend Integromat (this link contains my referral code for Integromat).

I would also email Airtable at support@airtable.com to ask them to improve/fix how this functions.


Scott, thank you for this post. It now makes sense why that doesn’t work. I know the lookup field is the best option. The problem is I would need to backlog about 6 months of old records in the main table that don’t exist. We are only about 7 weeks in with Airtable and most of the old inventory was imported, but I have no records for it in the main table. I do think I have another option but it means I am going to use the lookup table with a trigger. I only added the lookup table for an example. I appreciate your insight, Scott! Thank you for always being active on here.


  • Author
  • Inspiring
  • 13 replies
  • March 13, 2021
Kamille_Parks11 wrote:

No word on if they’ll do it, but I can see some time in the future them adding a separate “Update records” action to take in an array of record ids.


Kamille, thanks for being a staple within the community. I recently stumbled upon BuiltOnAir and have been backlogging episodes. Keep up the good work.


Kamille_Parks11
Forum|alt.badge.img+15
Alex_Lerma1 wrote:

Kamille, thanks for being a staple within the community. I recently stumbled upon BuiltOnAir and have been backlogging episodes. Keep up the good work.


Thank you! Glad you like the show :slightly_smiling_face:


  • Participating Frequently
  • 6 replies
  • March 27, 2021
ScottWorld wrote:

Yesss, that would be amazing! That would really open up an entire world of possibilities, and I think that’s what all of us were initially hoping for as the companion to the “Find Records” action.


Can I give this more than a thumbs up? Maybe a gold star - :star2:


ocmac
  • New Participant
  • 4 replies
  • January 18, 2024
ScottWorld wrote:

I’m confused about why you’re not linking the records and using a lookup field? It seems like that would be the easiest & quickest way to solve this problem, because unfortunately, you won’t be able to do what you want with automations — unless you write your own custom JavaScript.

Unfortunately, the “Find Records” action (and the subsequent “Update Record” action) doesn’t work in the way that any of us would expect it to work.

The “Find Records” action is an almost-useless action unless you know JavaScript. In my personal opinion, it would be a good idea for Airtable to remove the “Find Records” action until it can be fixed for all users, not just JavaScript-savvy users.

The only thing the combination of “Find Records” & “Update Records” can do is return an array of Record ID’s that you can then paste into a linked record field (or a text field). That’s about it. I can’t think of anything else you can do with it, except pass it onto a JavaScript for looping through the array — which is what you would need to do in your case to get the results that you’re looking for.

What you were expecting is what most of us were expecting, which is that Airtable would loop through the found Record ID’s and update each one of the records that it found. But unfortunately, it won’t do that.

In your final screenshot above, you’ve pasted in the “List of Record ID’s” into the “Record ID” field, but the “Record ID” field can only handle a single Record ID. You pasted in an entire array of Record ID’s expecting Airtable to loop through each one of those records and update each one of those records, but unfortunately, Airtable can only handle ONE Record ID there.

So unfortunately, the only real solution for this sort of an automation scenario is to write a custom JavaScript to loop through the Record ID’s, or if you want to stick with a low-code/no-code platform, I highly recommend Integromat (this link contains my referral code for Integromat).

I would also email Airtable at support@airtable.com to ask them to improve/fix how this functions.


Hello Scott,

Thank you very much for writing this.  Now it makes sense, I am assuming since I am having the same issue it has not been resolved yet?

There has been talk about doing a JavaScript workaround, but no one has listed it anywhere I can find.  For someone who has never done JavaScript and needs the workaround, how would that be done?


Reply