Need development and API help? Ask your questions here!
Recently active
From January 25th, 2022, we are rolling out a small change to the URL format for Airtable tables, views and records used by Automations triggers and actions. The change is that the base ID (appXXXXXXXXXXXXXX) will appear at the start of the URL. This change coincides with the recent decision to include base IDs in Airtable URLs throughout the rest of the product. The change in the record URL format will occurs in these places: The url property of a record output by a trigger/action. Example record output by a trigger/action: Record#url Before: airtable.com/tblXXXXXXXXXXXXXX/recXXXXXXXXXXXXXX After:airtable.com/appXXXXXXXXXXXXXX/tblXXXXXXXXXXXXXX/recXXXXXXXXXXXXXX The url property of a Table or View model retrieved by the Run Script action. Example run script: Table#url Before: airtable.com/tblXXXXXXXXXXXXXX After: airtable.com/appXXXXXXXXXXXXXX/tblXXXXXXXXXXXXXX View#url Before: airtable.com/tblXXXXXXXXXXXXXX/viwXXXXXXXXXXXXXX After: airtable.com/appXXXXXXXXXXXXXX/tblXXXXXXXXXXXXXX/viw
How can I change the API key to access token and get records on my browserhttps://api.airtable.com/v0/appJiy**pcKfS****p/Users?&api_key=keycj***N8PUCH***Previously it works like this^^^∆
Following is the error I encounter : npm warn deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecatednpm warn deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecatednpm warn deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecatednpm warn deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecatednpm warn deprecated osenv@0.1.5: This package is no longer supported.npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.npm warn deprecated are-we-there-yet@1.1.7: This package is no longer supported.npm warn deprecated npmlog@4.1.2: This package is no longer supported.npm warn deprecated gauge@2.7.4: This package is no longer supported.npm warn deprecated @babel/plugin-proposal-nullis
i have a button field that run a script, i need to get tha field id(recordId) after press the button in the script, in some examples they recommend to use recordAsync(), but i have to chose the record, and i need to get it after press the button
Hi,I would love to able to share custom apps with external users. Maybe someone has an idea if I can realize that using the airtable interfaces. Dashboards can be build super quickly. In general, I have a straight-forward use case:We are using Airtable as CRM and would like to allow customers to access their data / i.e. an overview of their data. It would be great if we could just send them a link and they immediately have access to a dashboard. Is this somehow realizable?
I am syncing my Google Calendar with airtable - one way: I'm adding the bookings on Google Calendar and they display on my airtable calender view. Today, none of my bookings after tomorrow is showing on my Airtable. Is there something wrong?
I have a database with two tables “gifts” and “status”. I'd like to use a button to update the status automatically via a script. I searched the documentation and the forum, but I couldn't find any solution to adapt the script to my problem. Here's the code I've already added, and the options I've explored.This is my code :// Récupère la table Cadeaux let tableCadeaux = base.getTable("🎁 Cadeaux"); console.log(tableCadeaux); //Récupère le champo statuts de la table Cadeaux let statut = tableCadeaux.getField("✅ Statuts"); console.log(statut); // Récupère le record.id de la table Cadeaux let queryResult = await tableCadeaux.selectRecordsAsync({fields: []}); let record = queryResult.records[0]; console.log(record.id); // Récupère la table Statuts let tableStatuts = base.getTable("✅ Statuts"); console.log(tableStatuts); let newRecordIdToLink = '🎁 Réservé'; tableCadeaux.updateRecordAsync(record, { "✅ Statuts": [ record.getCellValue("c
Here the working script extension: // Create script output descriptionoutput.markdown( "# Stores with 2+ WO in 30 days" ); // Set Tableconst woTable1 = base.getTable( "BR_Details" ) // Set Viewconst woView1 = woTable1.getView( 'Stores with 2+ WO in 30 days' ) // Get records from viewconst woRecords1 = await woView1.selectRecordsAsync().then(result => result.records ) console.log( woRecords1 ) // Set new report name and descriptionconst reportName1 = 'Stores with 2+ WO in 30 days v01' const reportDescription1 = 'Locations with 2 or more Work Orders in the last 30 days v01' // create new report including linking of tasksconst reportsTable1 = base.getTable( "Reports" ) const reportRecord1 = await reportsTable1.createRecordAsync( {"Name" : reportName1 , "Description" : reportDescription1 , "Linked BR_Details" : woRecords1 } )if( reportRecord1 ) // Update{const res1 = await remoteFetchAsync( 'https://api.docsautomator.co/cr
I have the following TS code (using the Airtable REST API) export const updateInstanceQRCode = (instanceId: string, qrCodeUrl: string) => { return base('Instance').update([ { "id": instanceId, "fields": { "QR Code": [{ "url": qrCodeUrl }] }, }, ]); } which works great when I am testing in development, but the moment I try to build the project, I get the following error: > tsc -b && vite build src/externalAPI/AirtableClient.tsx:127:21 - error TS2739: Type '{ url: string; }' is missing the following properties from type 'Attachment': id, filename, size, type 127 "QR Code": [{ ~ 128 "url": qrCodeUrl ~~~~~~~~~~~~~~~~~~~~~~~~~~ 129 }] ~~~~~~~~~ Found 1 error. In my package.json, I'm using the following version of the official airtable module: "dependencies": { "airtable": "^0.12.2", This definitely seems broken, especially c
Is it just me or is anyone else having trouble with api calls on interfaces?Get / Delete / Add workspace or base collaborators work perfectly fine. But seems like anything to do with interfaces in not found. The below specifically.Even putting the URL directly in my browser gives 404, instead of a permission error. Anyone else? 🤔 🤔Get interfacegethttps://api.airtable.com/v0/meta/bases/{baseId}/interfaces/{pageBundleId} Delete interface collaboratordeletehttps://api.airtable.com/v0/meta/bases/{baseId}/interfaces/{pageBundleId}/collaborators/{userOrGroupId}Add interface collaboratorposthttps://api.airtable.com/v0/meta/bases/{baseId}/interfaces/{pageBundleId}/collaborators
Hello there, I'm trying to write data from one base to another through Airtable's API. My JSON is something like this: let body = { "fields":{ "prod_serv_cia_id": inputConfig.cia_id[0], "NroParte": inputConfig.codigo[0], "DescripCorta": inputConfig.descrip[0], "DescripLarga": inputConfig.descrip[0], "Marca": inputConfig.marca[0], "Cantidad": inputConfig.disp[0], "Costo": inputConfig.costo[0], "AlmacenesScript": inputConfig.cia[0], "StatusProducto":[ { "id": "selq********yr", "name": "1. Producto seleccionado" } ], "typecast": true }, } And the response I'm getting from the Airtable's API is: {error: Object} error: Object type: "INVALID_VALUE_FOR_COLUMN" message: "Cannot parse value for field StatusProducto" The "StatusProducto" field is: {id: "fld*******j9", name: "StatusProducto", description: "", type: "singleSelect", opt
I'm developing an api in which Airtable will request information, I was configuring cors for the api to accept requests from airtable, but I don't know which domain they use
Probably a simple solution, but I can not figure it out. I am using the following script to try to get a list of all of the records in a specific table.let table = base.getTable("Codes");let query = await table.selectRecordsAsync();console.log (query) When I run this, I get the following error O: No field with ID fldwfud1d0wv3rdVD in table 'Codes' at main on line 2When I run this same coding using one of the other tables, it works as expected. Any ideas on how to fix this? It is getting in the way of the larger script I am trying to write.
Hi there, This question is for the Airtable team. I see that you are using browserify to bundle the block code, would love to also be able to bundle external css files with the block, instead of loading them asynchronously using loadCSSFromURLAsync (which also makes development and deployment more complex). There are quite a few browserify transformation packages that can make that happen, but I haven’t been able to make them work so far, when trying to control browserify transformations from the package.json file. Here are the packages I tried / found so far: brfs - doesn’t work with es6 modules brfs-babel - doesn’t do the transform, for some reason, even when i add {"browserify": {"transform": ["brfs-babel"] } } to package.json browserify-css - haven’t tried it yet Using loadCSSFromString and providing the css itself isn’t the correct way since then I can’t easily edit it as css in a code editor or share it between blocks. Would love to know how Airtable would recommend doing this.
Hi, We are looking for ways to pull data from our Linnworks.NET account (basically and order and inventory management platform) to Airtable. So far we have been using MiniExtensions to import csv files with data exported from Linnworks to Dropbox or FTP server. This has worked well, but MiniExtenions have a limit of 10 instances of their csv import app, meaning that we are limited in the type of data we can import. We have already hit this limit. I realise that the best solution for transferring data would be via api, but I am not yet very familiar yet with writing api calls. The big stumbling block to this going ahead, from what I can see, is managing Linnworks Authorization. Linnworks Developer Resources - API Home My question is a general one. Does Airtable scripting allow means to acquire auth tokens and use them in subsequent calls to Linnworks.NET for data, or would we need a 3rd party app as a go between? Thanks in advance for any help or insights here. Dominic
I am building a web application for my students using Node.js/Express that displays information from an Airtable base. Instead of embedding a table of news stories, I want to pull several fields from the table and insert them into the DOM so I can design the display of information. I've been able to send 3, 5, 10 stories to the console, but when I try to send a second story to display on a web page, I keep running into this error: TypeError: Cannot read properties of undefined (reading 'offset') which points to part of airtable.js that compares result.offset with params.offset. I've tried to find an offset in the json but I don't see the key or values beginning with itr.I tried to call record.offset but it is undefined.Several community posts about offset explain how to find more than the maximum 100 records, but I'm getting stuck on the second record.I found Offset property missing in API response as an open issue on Github from 2021, so maybe
When adding data to Airtable records using Softr, I encounter a significant delay of around 4-5 minutes for the data to appear upon refresh if the records contain foreign keys referencing another table. This delay contrasts sharply with the immediate addition and display of data when records are added to a normal table without foreign key references. The presence of foreign keys seems to introduce a lag in the synchronization or processing time, leading to a noticeable delay before the updated data is visible. This issue may be attributed to the additional steps required to validate and integrate the foreign key relationships within the database, causing a slower response time compared to simple table updates.
I am using Voiceflow to retrieve data and send it to Airtable via the API. However, I keep encountering the above error despite my request appearing to be correctly formattedThis is in my body. { "records": [ { "fields": { "first": "test", "second": "test2", "tel": "000000000", "email": "test@test.com" } } ] } And in Airtable my table looks like this: firstsecondtelemailAny help would be good, thanks
Hello ! Is there a way to download the documentation of the API in an OpenAPI / .yaml version ?Thank you!
How to access all WordPress posts using AirTable using REST API?
Hi, I am getting an error when using POST via Postman. I am copying the example exactly from the API documentation and changing the authorization key. I have tried changing the content type, modifying the fields, but nothing worked. GET method is working. Why is this?
Hi AllI am having issues with linking information between tables.I have the below linked:1) Master Order Table 2) Order Line ItemsI wanted to create a new table called Purchase Orders (POs) which is just relevant purchase order information (excluding any sell price etc from the master order) so i can send the PO to my suppliers.The issue i am having is that the information on the POs table is not linking with the Master Order or the Order Line Items tables as per attachments. Please help me with solving this.Thank you!
When mapping a WordPress CF7 with airtable, Airtable allows Contact Form 7 to write into the field Email if it's an "Email" field-type, but not if i convert it to a linked table.I would like that the field "Email" inside of the table Messages links to a table named Email, where Email is the PK. Like this we'll be able to see all related messages.Unfortunately CF7 outputs an error with this setup. Is it there a workaround? Or should be build an airtable automation that reads the contact form user input that goes into the (unlinked) Email field and updates another field named LinkedEmail?So, either CF7 links messages to the Emails table, or we will have to auto-link using an automation.What's your opinion on that?
Thanks in advance for the help! I want to find a way to use an automation to clear out a pre-filled field when a record matches conditions. For example: We have a check column to see if a task has been completed. We also have a collaborator column to see whom the task is assigned to. I want to create an automation to just clear the collaborator column when the task was completed without deleting the entire record (for archiving purposes). Any way to do this? Thank you!
I'm trying to use the options from a single select field as an 'input' selection in my script. I'm not sure if Airtable allows this. So far I have: let selectTable = base.getTable("Courses"); let selectField = selectTable.getField('School Year'); let schoolYears = selectField.options.choices; console.log(schoolYears) Which provides Then I make an array from just the names: let yearNames = schoolYears.map(record => ({name: record.name})) console.log(yearNames) Which gives:I'd like to then use those choices as an input: let selectYear = await input.buttonsAsync('Pick a year', [yearNames]); But this gives an error that you need a string. Would this be possible to use? It seems to want a full object literal list and not a variable like this.
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.