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
Page 1 / 2
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.
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.
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.
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 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 eStamp 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 rStamp 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.
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.
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?
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.
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.
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.
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
Okay. Let me work on this a bit more and see what I can do.
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:
Imported table records to Stamp Format table records
and
Stamp Format table records to Imported table records
or
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.
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:
Imported table records to Stamp Format table records
and
Stamp Format table records to Imported table records
or
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 rImported Table] to Stamp Format], you’ll see a matching link on nStamp Format] pointing to nImported Table]. Same thing for gKeywords].
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 lStamp Formats] table.
I think you might have misunderstood my comments on how to use this new wStamp 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:
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:
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 tStamp 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.
Just one way. Airtable automatically makes reciprocating links. So after making the link from eImported Table] to eStamp Format], you’ll see a matching link on oStamp Format] pointing to oImported Table]. Same thing for oKeywords].
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 lStamp Formats] table.
I think you might have misunderstood my comments on how to use this new Stamp Formats] table (and aKeywords], 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:
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:
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 aStamp 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.
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.
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.
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.
I have the same problem, im using gravity forms and using Integromat to send the entries to airtable, but the form entries are exactly the same as the options in airtable so im not sure why it would not work
I have the same problem, im using gravity forms and using Integromat to send the entries to airtable, but the form entries are exactly the same as the options in airtable so im not sure why it would not work
I found out that one of the keywords in GS worksheet did not match one of the keywords in Airtable.
It might be worthwhile to go through your data and make sure that the spelling is correct and capitalized words are the same in each place. It took me a complete of checks to find the error.
I don’t know if this will help, but you could try it.
Thank you,
Mary
I realize this is an old post, but if you’re looking for a simpler way to update records with a form, I believe we have built the easiest way possible.
Hi @Justin_Barrett , Integromat introduced an Upsert module for Airtable. Is it now possible to implement your solution without the Search, Update and Create modules but just with a Upsert module? If so, how do you need to implement it?
Hi @Justin_Barrett , Integromat introduced an Upsert module for Airtable. Is it now possible to implement your solution without the Search, Update and Create modules but just with a Upsert module? If so, how do you need to implement it?
@Adrian_Wasiak1 Maybe, but my use of Integromat has dropped dramatically ever since Airtable added its own automations. This is the first time I’ve heard of this new module you mention, and unfortunately don’t have time to run any tests with it. Perhaps @ScottWorld knows more about it.
@Justin_Barrett Yes, Integromat’s Upsert module is a pretty cool “all-in-one module” for creating/updating records in Airtable. If you specify a Record ID, it will update the record you specified. But if you leave the Record ID blank, it will create a new record instead.
@Adrian_Wasiak1 If you have a budget for your project and you’d like to hire an expert Airtable consultant & Registered Integromat Partner to help you setup your Integromat scenarios, please feel free to contact me through my website at ScottWorld.com.
@Justin_Barrett Yes, Integromat’s Upsert module is a pretty cool “all-in-one module” for creating/updating records in Airtable. If you specify a Record ID, it will update the record you specified. But if you leave the Record ID blank, it will create a new record instead.
@Adrian_Wasiak1 If you have a budget for your project and you’d like to hire an expert Airtable consultant & Registered Integromat Partner to help you setup your Integromat scenarios, please feel free to contact me through my website at ScottWorld.com.
Thanks for the info. I might consider it when I will not succeed.
I was Having the same problem after changing one of the fields in my airtable base from single line text to Sinlge select type