Updating Airtable Records With Integromat

Hi

I am trying to update Airtable records using Integromat.

I am getting an error:
“The operation failed with an error. Insufficient permissions to create new select options”

I have found out that it has to do with my multi-select option fields in Airtable (when I remove those options the record gets updated.)

I would like to know if there is a workaround or some other solution, so that I don’t have to go back into the Airtable records and manually select all the options. I have over 200 records. I don’t want to have to do this for each record, that defeats the purpose of using an automation app.

Is there a solution?

Thank you,
Mary

So if I understand you correctly, Airtable currently has a certain set of options for your multi-select field. Your Integromat scenario is attempting to set something in that field that’s not an existing option, which is leading to this error. Is that correct?

I do lots of stuff with Integromat and Zapier, but haven’t done anything yet involving a multi-select field, so I haven’t encountered this yet. I’ll try to run a test and see what happens.

I get the same thing. Insufficient permissions to add a new entry for a multiple-select. Interesting…

How many new options do you need to create? Is it just one, or are there lots based on the data you’re processing? What is the data exactly?

EDIT: I have a possible workaround, but am waiting for your response to see if it will help, or if we need to look in another direction.

Hi @Justin_Barrett

Thank you for your reply.

Well, at lest it’s not just my scenario that this error is happening too. Thank you for testing it.

I have to select options for 2 fields per record, but I have over 200 records to select options for and it will be on an on going situation. So, it’s not just a one time scenario setup. The two field names are: STAMP FORMAT and KEYWORDS.

I have a share link to a copy of the base that I am testing, so this way you can have a better idea of how my base is setup. My stamp collection is split up into 5 bases, so, this is just one of the bases, that since I am on a free plan and I have over 2,000 records in total and growing.

Hope my explanation is clear.

Thank you,
Mary

Thanks for the update. Here’s a workaround that you might consider. The short version: use link fields instead of multiple select.

The long version: make a new [Stamp Format] table, and delete all of its records. Change the {Stamp Format} field to a link pointing to that table. All of your existing items will be made into new records in that table, and automatically linked. (NOTE: if any items in the multi-select option list aren’t actually selected in any of your stamp records, they won’t get new records made in [Stamp Format], so you may need to make some manually to replace those.)

Revise your Integromat scenario to add an Airtable “Search Records” module that searches that [Stamp Format] table for the format you’re looking to add. Next add a router module with two branches, using filters to control which branch is followed. The filters will be driven by the number of records returned from the search. If no records are found, that branch will make a new record in [Stamp Format], then use the record ID from that module to create a link in the {Stamp Format} field of your main table. If the format is found, you’ll use the existing record ID for that format record to make the link.

Does that make sense?

Hi @Justin_Barrett

Thank you for your reply.

I may have found another work around, but I have not tested it yet. In the meantime, I am curious and a like a bit of a good challenge for myself, so I went ahead and created two tables in Airtable, since I have two multi selection fields. I named the two tables: STAMP FORMAT and KEYWORDS. I then linked all the records in each table, according to the field names i.e. STAMP FORMAT selections to STAMP FORMAT table, etc. Although, I did notice that not all the STAMP FORMAT and KEYWORDS selections were not correctly matched to the records, after I linked then. I used the share link to the table in this post, if you want to take a look at the overall table.

I then setup a new scenario (I wanted to keep it separate from the original scenario), but I don’t know if I should do it that way. I, also, didn’t want to mix it up with the original Google Sheet worksheet that has 6 other, different fields. I got stuck when I ran the scenario, I got an error. I am going to attach screenshots. I can send a share link to GS worksheet, just to let you know, by PM/DM.

Thank you, Mary

I think your formula in the Airtable module is incorrect. I see a minus sign where there should be an equals sign. You’re trying to look in the {SCOTT#} field for a value that matches what’s coming from the sheet, correct?

Hi @Justin_Barrett

I made the change, but I have different fields in the last two Airtable modules, maybe that’s why I am still getting the same error?

Did I setup the Airtable tables correctly?

Mary

The tables look good from what I can see, and the later steps updating different fields wouldn’t have any bearing on why that first step is failing. Perhaps it’s because of the “#” in the Airtable field name? You might try removing it—perhaps rename the field to {SCOTT NUM}, then change the Integromat scenario accordingly and see if it still throws an error.

Hi @Justin_Barrett

So, even though, there are different field names (no SCOTT field name) in the the last two Airtable modules, in the scenario, that should not matter?

Mary

Not at all. The earlier Airtable module is performing a search using that SCOTT field. The later steps are simply updating an existing record, or adding a new record, based on the results of that search. The search either returns an existing record where that filter formula matches, or it returns nothing, and your router and subsequent filters take the appropriate action based on that result. The SCOTT field is only used to filter the search, nothing more.

Okay. Let me work on this a bit more and see what I can do.

Thank you,
Mary

Hi @Justin_Barrett

I have been working on the base and I wanted to ask how I need to link my records, if it’s both ways or just one way:

  1. Imported table records to Stamp Format table records
    and
  2. Stamp Format table records to Imported table records
    or
  3. Stamp Format table records to Imported table records, only

A. Imported table records to Keywords table records
and
B. Keywords table record to Imported table record
or
C. Keywords table records to Imported table records, only

I also linked SCOTT# field, since it’s the unique key, so it would be easier to find records. I would imagine that I would have to link those records to both tables: Imported Table and Stamp Format and vice versa/Imported Table and Keywords and vice versa.

I managed to figure out why the scenario wasn’t working, I just added the SCOTT# field (it’s multi-serving) in the Airtable module to map and since it was also in the Google Sheet worksheet, it seemed to work.

Also, since I like to learn new things, is there, perhaps, another way to have multi selection fields filled in Airtable by Integromat?

I am also planning to contact Airtable regarding this shortcoming in their API, since the multi selection field works when creating new records, but just not updating records.

Thank you,
Mary

Just one way. Airtable automatically makes reciprocating links. So after making the link from [Imported Table] to [Stamp Format], you’ll see a matching link on [Stamp Format] pointing to [Imported Table]. Same thing for [Keywords].

SCOTT# has nothing to do with either the stamp format or the keywords. SCOTT# is part of what identifies a single stamp, so it should be part of the stamp record only.

I wasn’t sure what you meant when you said “I also linked SCOTT# field”, so I took a look at your updated table, and found that you’d added the SCOTT# values to the [Stamp Format] table as additional primary values. Those should all be removed. The only records in the [Stamp Format] table should be for actual stamp formats. You also won’t need a {SCOTT#} link field in the [Stamp Formats] table.

I think you might have misunderstood my comments on how to use this new [Stamp Formats] table (and [Keywords], as it’s doing basically the same thing), and I’ve also learned a little more since my last post, so I’ll re-do my suggestion with greater clarification of the process.

If I understand your project correctly, you’re migrating a stamp collection tracking system from Google Sheets into Airtable. As Integromat is going through Sheets data, it’ll pull up a row with stamp info: SCOTT#, description, stamp format, keywords, etc. The problem you had before when the {Stamp Format} field was a multi-select was that you couldn’t add a new format that didn’t already exist in the list. With the new field pointing at another table, and with the “Smart Links” feature of the Airtable module in Integromat, you won’t need to worry about that.

When editing the Airtable module to create (or update) a record, make sure that the “Smart Links” option (at the very bottom of the module settings) is checked on:

26%20PM

With that set, you can insert a pointer to the stamp format item coming from your Google Sheets module step into the “Stamp Format” field setup. Click on the “+ Add Item” link in the middle of the field, click in the Value field in the popup, choose the appropriate item from the Sheets module step, then click “Add”. You should have something like this:

39%20PM

Because of the “Smart Links” feature, it won’t matter that what’s coming from Google Sheets is a string like “Series of 4”. It will try to make a link based on the text. If’s there a matching record in [Stamp Formats], it’ll link to it. If it doesn’t exist, it’ll make a new record with that name, then link to it.

The problem isn’t with new vs updated records. The problem is with the available options in the multi-select. For example, if your multi-select field has three options named OptionA, OptionB, and OptionC, you can have Integromat fill in any of those for a new or updated record, and it won’t choke. But if you try to give it OptionD, that’s when the error pops up, I’m guessing because it’s tied directly to the field setup. That’s why the linked table workaround is preferable. Using Integromat, you can make new linked records on the fly, but not new multi-select (or single-select) choices.

Hi @Justin_Barrett

Thank you for your explanation.

It’s interesting that both multi selection fields were the same fields/values for both new records and updated records and that one worked but not the other.

Actually, most of the values were the same, from when I first created the fields, a few years ago, except for about 10 of them, which were recently added. The first few records that needed to be updated, were the same value (Single), which was one of the original multi selection entries. It was those first few records that caused the error for “…insufficient permissions…”. Unless, I misunderstood your explanation.

Mary

It’s possible that there was an extra space or some other “invisible” character that made Airtable think that it was a new choice. For example, if what you pulled from Google Sheets was "Single " (note the space at the end, then it wouldn’t match “Single” (no space), and trigger the error in Integromat. Or if one was “Single” and the other was “single” (different case), that would also fail the comparison. Just a wild guess.

Hi @Justin_Barrett

Interesting, that you should mention about the spacing, because I was thinking about and wondering if that might play a part with this issue.

Thank you,
Mary

Hi @Justin_Barrett

I think I may have sorted out this issue.

Thank you for your very helpful advice.

Mary

1 Like