Need development and API help? Ask your questions here!
Recently active
When I 'get' look-up or select fields using Pyairtable, they're now coming in as list type objects: 'red' is now ['red']'5/11/24' is now ['5/11/24']The previous behavior was WYSIWYG. This is unexpected and strange and breaks years worth of ETL scripts that I've built. Anyone else having this problem?
Output:Code: // 7. Extract and Return *Only* Desired Fields const productData = recordsData.records[0].fields; const desiredFields = { "Collection": (productData.Collection && productData.Collection.length > 0) ? productData.Collection[0].fields.Name : null, "Color": (productData.Color && productData.Color.length > 0) ? productData.Color[0] : null, "Font": (productData.Font && productData.Font.length > 0) ? productData.Font[0] : null, "Product": (productData.Product && productData.Product.length > 0) ? productData.Product[0] : null, "Registration Status": productData["Registration Status"] || null, "Registration Date": productData["Registration Date"] || null, "Release Date": productData["Release Date"] || null
I'm trying to update a Google Sheets script that syncs an Airtable Base to Google Sheets. The script uses an API Key and I need to update it to use the Access Token.Anyone know how to update this code to use the Access Token instead of the API Key? Thanks! var api_key = "API KEY";var baseID = "BASE ID"; var tablesToSync_fromSheetRange = "A14:B16";////////// add items to UI menu ///////////function onOpen(e) { SpreadsheetApp.getUi() .createMenu('Airtable to google sheets sync') .addItem('Manually sync all data', 'syncData') .addToUi(); }////////// function to trigger the entire data syncing operation ///////////function syncData(){ //fetch table names from the control panel of the spreadsheet var ss = SpreadsheetApp.getActiveSpreadsheet(); var tablesToSync = ss.getSheetByName("Control panel").getRange(tablesToSync_fromSheetRange).getValues(); //sync e
I have a problem, everytime when I creating new base, I need to manually set up all tables. I have the main base that I would like copy(tables, extensions, automations) to others, can I archive that by API or code ?
Hello,To manage a catalog of goodies for a company, I've started building a database, forms and an interface.The goodies catalog has about 30 items in 3 categories. Some items are textiles with 7 different sizes.The 30 items are common to different entities of the company, but the stocks are different from one entity to another. (1 entity by city)I built the following tables:Entitie,Sizes,Categories,Objects,Received items,Distributed items.The last two have a form for entering what has been received or distributed.Finally, the interface displays the catalog with all the items and quantities for an agency.After this long intro, I share you my problem:To display the stock by size for a given item (textile) and for an agency, I can't find any other solution than to calculate stock for each agency by creating a column per item per size per agency.For each size, I calculate quantity received, quantity distributed and finally stock, i.e. 21 columns per agency ...I think there's a more optima
Hello,I have a Database that includes a table of Users and a Table of inventory (Computers , Monitors, Docking stations and so on).All of our inventory is mapped by serial number.When I give the user a device I assign it to the Air table.I want to have the option to see the assigned history by user or by device.That means if I have a user name Tom, and I gave him on 01/12/2023 a laptop: Lenovo Thinkpad , S/N:ABCD123, and I took it back on 15/01/2024.Let's say I have the record of this computer.Through that record I want to be able to view the computer assigned History- that means when it was assigned and when it was unassigned. I couldnt find any automatic way to do so, so i want to check how can i develop this module myself.The main result should be an automated change log for every record modified, instead of writing it manually on the comment section. how can this be achieved? would love to receive any ideas or any SDK or developer documentation regarding this.  
Hello! I'm using the Airtable API and I'm encountering an error.I'm making API requests in Node.js with OAuth authentication to retrieve records with applied filters. However, I'm receiving an error message that says 'You should provide a valid API key to perform this operation,' and I couldn't find any information about this error no matter how hard I looked. Is there any way to resolve this?I was able to successfully retrieve the list of bases and tables with the same access token.Thank you.Scope: data.records:read data.records:write data.recordComments:read data.recordComments:write schema.bases:read schema.bases:write webhook:manage
React devtools used to be found in the "Advanced" tab while developing a custom extension. They no longer are and I heard that they got removed for maintenance difficulties.Can you please bring them back or somehow give us a workaround for using the standalone version?If you want developers to make extensions for the Airtable community that are good, this will help us do that better/faster 🙂
This is sorted when we're using Airtable API to build our own product.Free access linkHope it will also be useful to you😄
Hello everyone, does anyone know if it is possible to use the Gemini API Generative Language to create an automation in Airtable? I would like to use 1 column to receive data input from my users app and serve as a kind of prompt. And then use 2 more columns for output with AI responses.Additional notes:
Any tips on how to make React DevTools work when developing locally?
I’ve added Multiple Select field to my base. In the Fields section on the API page it displays all the Possible Values this Multiple Select field as an array. Is there a way to grab this Possible Values array upfront or do I have to loop through the records and build this array based on each record’s selected value(s)?
Hi, when building our product iOS Shortcuts Library for Airtable users, it's all based on the Airtable API. In recent days, we've gained a lot of experience using the current Airtable API. Here is an overview and sharing of our knowledge that you can use as a quick reference before diving into the lengthy API documentation.Key Concept: BaseID, TableID, RecordIDWhen using the Airtable API, you need to specify which base and table you want to interact with. Unlike the Graph UI, you need to specify their IDs. The easiest approach is to open a record in your browser, and you will find the ID in the URL path.What Are the Major Capabilities of the Current Airtable API?Although there are more than 30 different APIs, here are the 4 most important ones, ranked objectively: 1. Read records in a table using one of these two APIs:List Records: Returns all records in the given table. You can apply filters in the API parameters.Get Record: Returns detailed information about one specific record.2. Cr
Hi all,This seems pretty basic but I can't get it to work after a day of researching and patching together example code I've found. I have no Javascript experience.I simply want to run a script that entirely clears the contents of a column. Here's what I have: let subsTable = base.getTable('Sub Assemblies'); let clearQuery = await subsTable.selectRecordsAsync({ fields: [] }); function myObj(rec){return {'id':rec.id,'fields':{'BOM CREATE':""}}}; let updates=clearQuery.records.map(myObj); console.log('updates: ',updates[0].fields) while (updates.length > 0) { await subsTable.updateRecordsAsync(updates.slice(0, 50)); updates = updates.slice(50); } The error I'm getting is: j: Error: Failed schema validation: <root> must be an arrayline: 2nd from last Any help appreciated!
i have a airtable with links its 110 in number in airtable but when i use api to access those links i am getting only 100. rest 10 are missing when i use the api What might be the reason i have provided two pics one of data table and one is my code .
Objective: I am trying to create an Airtable automation that triggers a script to increment a "Revision Number" field each time a button is clicked. The button is configured in an Airtable interface.Expected Behavior: When the button is pressed, the automation should trigger a script that receives the record ID as an input variable. The script should then fetch the record from the "Quotation" table, increment the "Revision Number" by 1, and update the record.Issue Encountered:Error Message: The script continually logs that no record ID is provided ("No record ID provided."), indicating that the recordId input variable is undefined.Script Setup: The script is set to fetch the record ID passed from the automation trigger (button press) and use this ID to locate and update the specific record.Automation Configuration: The automation is triggered by a button press in an interface, and it's supposed to pass the record ID to the script.Steps Taken:Verified that the automation trigger is corr
Hello Airtable CommunityAll of the info I've found on this subject is ironically in reverse (trying to reflect Airtable in Excel).I would like to have information that is originally added to Excel, to be reflected in Airtable.Is this possible? Furthermore would it be possible to use a shared document to do so?We're using a document from my company's Microsoft 360 account, but I can't seem to find the document under the cloud connected accounts (XLSB format) when importing a new table in Airtable.Thank you
HiI am trying to use below code (Google Apps Script) to get data from Airtable. The fetch request succeeds but the fields are returned as text [Object]. I am not able to see actual data. However the request works from other HTTP clients like Bruno.I have observed another issue. The code with small change marked below used to return data perfectly till couple of days ago but suddenly started throwing error 422. Hence I made below change and the result is missing data.Even GET method results same.Please suggest how this can be resolved as this is a show stopper.Currently the result is like below{ id: 'recrR654MViYPpGG5', createdTime: '2024-01-30T10:38:29.000Z', fields: [Object] }My code is as belowlet invoicenumin = "EI000002"const scriptProperties = PropertiesService.getScriptProperties();airdbKey = scriptProperties.getProperty('airdbkey')const fieldObj = ["quantity","unitprice","lineamount","itemdescription"]let filter = "{invoicenum} = " + '\''+invoicenumin +'\''const atdata = {//"rec
Hey Airtable Community!I have a problem that's been bugging me for some time and I can't seem to solve it, so I decided to ask for your help.I have an automation on Make.com that pulls data from my bank account, looks for transactions by [transactionId] in my Airtable base and, if not present, adds a new record. The problem though is that the filter formula I'm using in my API call sometimes works and sometimes doesn't.What I mean is when I perform tests, everything runs fine and after a few days the formula stops working - it doesn't identify correctly the records that are already in the the table and adds them again, effectively duplicating existing records. When I trigger the Airtable API call manually, using the [transactionId] field with filterByformula, it returns records correctly, but when it is executed in the workflow, it doesn't work.This is the formula in the API call I'm using: FIND("<transactionId>", {transactionId})=1Any help or guidance about what might be ca
Hi Folks, I need to find the linked table id of a lookup type column. Airtable metadata api returns this information for record links type field but it does not return for lookup type fields. I share sample response of metadata api for those field types. { "type": "multipleLookupValues", "id": "fldXYZ", "name": "Column 1" }, { "type": "multipleRecordLinks", "options": { "linkedTableId": "tblXYZ", "isReversed": false, "prefersSingleRecordLink": false, "inverseLinkFieldId": "fldYYY" }, "id": "fldAAA", "name": "Column 2" }
Hello, I am building an Airtable integration for my product to use the Airtable API on behalf of users. I would like to use the Official API client which is airtable.jsIn the interactive documentation link given, I had a look at the "Javascript" tab to see code snippet about Authentication, but it is using apiKey.In the airtable.js documentation saying :"OAuth access tokens can also be used." I would like to know how.Do you have any code sample with OAuth or documentation showing how to use OAuth access with airtable.js please ?
Hi, I’m looking for a way to query the “line number” (based on the current manual sorting of a table) when iterating over the records. I don’t have a table column which reflects the actual sorting so I can’t use a column as sort criteria with selectRecordsAsync(). Please see this simplified example: let table = base.getTable("MyTableName"); let result = await table.selectRecordsAsync(); for (let record of result.records) { // if record matches a certain criteria -> output certain record fields // including the line number according to the current (manual) sorting sequence } Any hints are appreciated! Thanks, Stefan
Hello, I am looking for a solution for my cycling club that would allow me to create categories for outings and whose members could register by looking at the different outings offered in the calendar. People who offer outings would have the right to create outings but those who register could only add their name and remove it if they cancel.Is it possible do this apps with AirtableEnhanced Cycling Club Outing SchedulerKey Features:Categorized Outings: Allow the creation of multiple outing categories (e.g., Road Cycling, Mountain Biking, Leisure Rides). Each category can have different permission settings and details like difficulty levels and expected duration.Interactive Calendar Interface: Utilize an easy-to-navigate calendar interface where outings are displayed. Members can click on a date to see all available outings and their details.Member Registration System: Members can register for outings with a simple click. Upon registration, the member’s name will appear under the outing
I have a very simple web page that does an API GET call. Sometimes it takes several minutes for the information to be updated. Does Airtable have a caching protocol when fetching results from the table? Thanks.
I've been playing around with both the SDK and just using fetch() requests, the latter mainly because I can't find thorough documentation for the former. The SDK docs don't say much of anything and the generated API docs just give me clues. What's the deal?
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.