Need development and API help? Ask your questions here!
Recently active
Hi, I am trying to link Airtable and PowerBi. For the most part, it works perfectly. But, things are breaking down with the columns that link to another table. In such cases, I am getting recordID instead of Name. Is there a way to show record name instead of record ID? I have attached the Images from both AT and PBI for reference. (I have gone through the solution that suggests creating a new column and using a formula to refer the linked column. For my case, it is not practical as there are around 20 linked columns) Thanks
Hi! Thanks in advance to the community for your help with this! I’m considering using Airtable to create an API for 3rd party app developers to pull information and was wondering the community’s thought on whether this is a good idea or not. I’m not an expert on the Airtable API (or APIs in general) so was hoping to get some perspectives from those of you who are wiser than me. I’m also interested in hiring someone on a consultative basis to help me with this project if they are particularly knowledgable. I’ve read about examples where Airtable is used as an “internal” API, where the front end developers working pulling from the Airtable API work for the same organization as the people maintaining the Airtable database, in which case presumably data security is less of an issue. I’m aware that there is a 5 request / second limitation on the API (although it’s unclear whether this is per API key + IP address combination or per API key + Base ID + IP address combination). I’m also awa
Hi there! I’m getting a bunch of records using the API and I would like to paginate the results - in the end, I’d like to display to the user 10 records on a page, then when they hit ‘Next Page’ I can show them the next 10, and so on, requesting the next 10 from the server each time (as opposed to grabbing all the records myself and paginating them in the client). I see that there is eachPage() and fetchNextPage(), but I may be confused about how they work. I use eachPage to get the records and massage the data I get by looping through the records. However, the done() function doesn’t seem to get called unless I call fetchNextPage() and I want to call fetchNextPage() after a user chooses to get to the next page of results. Any help/advice would be awesome!
I am having an issue updating a record using the API where the update method is treating a variable as a literal value, rather than the value it contains. My code is: var express = require('express'); var bodyParser = require('body-parser'); var app = express(); var Airtable = require('airtable'); var base = new Airtable({apiKey: 'censored'}).base('appYYigSAYG6wvbIL'); app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); app.post('/update',function(req,res){ var exam=req.body.exam; var status=req.body.status; console.log(status); console.log(exam); res.end("yes"); base('Staff').update("recL2tsSb73D8NdVj", { exam : status }, function(err, record) { if (err) { console.error(err); return; } console.log(record.get('Name')); }); }); app.get('/', function (req, res) { res.send('atapi is up'); }) var server = app.listen(8081, function () { var host = server.address().address var port = server.address().port console.
Is it possible to have an API key that only allows writing to a base but not the ability to see the other responses?
When I’m uploading a regenerated PDF (different data) with the exact same file name Airtable is showing me the original file instead. 1 - upload PDF 2 - delete / clear PDF with browser GUI 3 - upload PDF (same filename, other data) 4 - GUI shows original version I suspect AT thinks the cached version (on server) is okay to use. Mailed support.
Hello, im having a table of locations that which record has location name( which is a single text type) and other parameters. im having a columnn in another table which is a Look Up for the location’s name. The records in this column are arrays,even if records contain only single location name. How can i change the type of the lookup column to be only single text and not returning the location name as a list/array?
I am using airtable for my android app I made it on kodular. I use airtable for changing data of some lists etc. When I have 100 users I didn’t get any problem of slow loading by airtable. But since my app reached 100 users airtable sometimes send data too slow or some time don’t give any response (Only Loading screen I can see on my app) or some times it works normal. I want to know is there any type of bandwidth or active users limits in free plan? or is there a problem in airtable server. Please give me reply. Thanks.
Hi, I’m having trouble passing an object from React to Express, and then creating an airtable record in Express. In react, i am sending an http request to Express via: finalSubmit() { const airtableObj = { title: ‘hi’, } fetch(‘api/submit’,{ method: ‘POST’, body: JSON.stringify(airtableObj), headers: {“Content-Type”: “application/json”} }) } In Express, I am doing: app.post(’/api/submit’, jsonParser, async (req, res) => { const newStudy = JSON.stringify(req.body); await console.log(newStudy); table.create(newStudy, function(err, record) { if (err) {console.log(err); res.json(err)} else {console.log(record), res.json(‘Success!’)} }); }) (If I do table.create({“title”:“hi”} instead of table.create(newStudy), everything works fine) However, I keep getting: Class { error: ‘INVALID_REQUEST_UNKNOWN’, message: ‘Invalid request: parameter validation failed. Check your request data.’, statusCode: 422 } Sorry for the newbie question, but is there something wrong with how I am manipulat
I know there is no documented way to get the activity feed information via the API, but I was wondering if anyone has ever managed to easily monitor as records last updated status or created some special field to track it somehow?
I’m trying to retrieve all the records in a table with curl over HTTPS. I checked the table I’m targeting, and it has 283 records. I imagine I’ll need to issue three requests, since each request returns a maximum of 100 records. I piped the results of my first curl command into a new file called output.txt and then tried to find the offset value from within the curl output file. However, when I search through this file, I can’t find an offset value anywhere within the JSON like I expected, based on this line in the documentation: If there are more records, the response will contain an offset. Is there something obvious that I’m missing… I feel like there has to be. If anyone knows how I can get this offset value so that I can use it to request the next page of records (and the one after that), I’d be super grateful. :slightly_smiling_face:
How could I filter via JavaScript API depending on linked table? What is the criteria if there are more than one table linked? I tried "{Column} = '" + record.get('Col') + "' but then I get only the results with just this reference, not the records having addition refs.
I’m using the Airtable api to build a website. I’m returning values from a multiple select field. In this case the field is ‘Activities available’. I can output them on the website no problem, but I can only return them as a string and can’t seem to figure out how to ideally add html around each value, or at least comma seperate them. I have this <p><span className="text-muted">{record.fields['Activities available']}</span></p> returning <span class="text-muted">NightlifeFoodArchitecture</span> in the browser. I’m using Create React App to build this and I’m quite new and limited in Javascript. Any help would be appreciated. Thanks, Ciarán
Does Aritable support API keys for specific workspace or database? I do not want to give away access to my whole account.
Hi Does anyone know if there is a way to filter with a variable in the filterByFormula function through the API? Getting this to work would allow me to fetch information from a specific e-mail, and display records from airtable dependent on that. So, do this: var filterstring = ‘shipment_name’; base(‘Shipments’).select({ filterByFormula: Name=filterstring, }).eachPage(function page(records, fetchNextPage) { Instead of this: base(‘Shipments’).select({ filterByFormula: ‘Name=“shipment_name”’, }).eachPage(function page(records, fetchNextPage) { I’m able to use a string-variable for the find method, but as far as I can tell that only allows me to find on the clunky recordname. var recordname = ‘recDegFvWIgCSAlzg’; base(‘Shipments’).find(recordname, function(err, record) { Apologies in advance if this is a basic question, it’s my first attempt at developing anything with html/js/jquery. Mads
Background. I have Valuations field in my Airtable DB. It’s type is set to “Attachment” and it stores PDFs. I populate it manually. Script. I’ve got a VBA-script with embedded CURL-commands that works as follows: Record values in several fields Delete all rows. Insert new sample enriched with the recorded data in rows with matching IDs, i.e. from step 1. Problem. Despite the fact that I have recorded the JSONs of each attachment in “Valuations” I get #422 Error whenever I launch my CURL to create an updated record containing attachments in “Valuations”. Please, have a look at the JSON below. Any advice will be highly appreciated. “Valuations”:[ { “id”:“attGR7hW7A3jnIczu”, “url”:“URL…pdf”, “filename”:“Valuation-Workbook_3284-3286-Sullivant-Ave-Columbus-OH-43204_2018-12-27-11-11-09 (1).pdf”, “size”:8244890, “type”:“application/pdf”, “thumbnails”:{ “small”:{ “url”:“URL…pdf”, “width”:36, “height”:36}, “large”:{ “url”:“URL…pdf”, “width”:512, “height”:512} } } ]
Need someone with strong expertise of Airtable’s API to consult with on a custom developed integration between Airtable and a vue js database. Currently, we have the tables we want to mimic in Airtable but we don’t know how best to format them (lookup tables, arrays, primary keys etc…) such that they will best integrate with our tool. I’m a product manager for a venture-backed startup in SF and I am willing to pay competitive hourly rates for work on this project.
I use airtable inside the ionic application. The problem is this: When I make a request for a table where there are linked records from another table, I get the address of the linked record, not its value, which looks like, for example, recjxZQmr3rrCpIEl. Until recently, there was no such problem, and the values were returned correctly as string values.
It seems that in order to remove all records from a linked field type during a patch/update, you have to always have at least one valid record id to include and keep linked. Otherwise, if try to update with an empty array (to clear the data out presumably) it gives an error that the record id is not valid.
Hi All, This is a rather urgent request - otherwise I will need to migrate away from AirTable and to mySQL overnight so your help is welcome. I am using a PHP library for airtable and I have a lookup method on an Email field using filterByFormula. It works great and returns users by their email as long as these users are among the 100th first in the table. Below that limit, they are not found. What am I missing ? thanks a lot
Hi everyone. I have this issue: I am requesting the API with asking for some field with no problems , I get my response ok, no prob. Late, I do the exactly same request and I have no results… wait… what??? So, I’ve decided to check the data in the table, and oh! There’s an active filter in the GUI… so I’ve disabled, then I execute the API request and I get the result again. Anyone already have the same problem? There’s any way or parameter that I can send in the request to avoid GUI filters? Thanks in advance.
I have been trying for several hours to get the fields parameter for the list records request to work. I am sending an HTTP Get request with python, I have the filterByFormula field working but cannot get the fields parameter to work. Could someone please post an example of the fields tag and an example field in a working query string format? Thanks
Hi, Is it possible to create multiple records in one API request? The API documents only speak of creating one record at a time. I have a quiz app and want to post the answers (one answer per record) to my AirTable, but since the AirTable API has a rate limit of 5 requests per second, I can’t just dump the answers via multiple requests, so want to post them all at once. Is it possible? Thanks!
Web search box using api / How to make a sample? Is it possible to do it on the web page (eg on wix.com)? It will be very useful to have an example of how it can be done.
I’m hoping someone has run into this before and can help me out. I’m sure I just have a syntax error somewhere or something equally silly. I’m using jQuery AJAX (I have to, I will explain why if anyone asks). I am able to retrieve, post, and patch data for everything but my checkbox field. I have sent the value “true” with and without quotes. Here is my code: $.ajax({ url: `${Airtable.API}/To%20Do/${recordId}`, type: 'PATCH', headers: { authorization: `Bearer ${Airtable.API_KEY}`, contentType: "application/json" }, data: { "fields": { "Done": true // does not work as "true" or true } } }) .fail((error) => { console.error("There was an error processing your request:", error, error.responseText); }) .done((response) => { console.log(response); }); Here is the error: responseJSON: { error: { { message: "Field Done can not accept value true" type: "INVALID_VALUE_FOR_COLUMN" } } For reference, 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.