Need development and API help? Ask your questions here!
Recently active
Hello, maybe someone had a similar issue and can give me a hand After I do Block run on my extension the resulting localhost URL has an expired SSL certificate. It is my understanding this is a self signed certificate created on the fly when I do Block run (but I might be wrong) I searched for the certificate everywhere but it just isn’t there, which makes me believe it is created on each run for the server. Does know if there is a way to specify the certificate I want to use when I do Block run or any other work around to this issue. I am pretty sure I might be doing something wrong since I couldn’t find any other report on the same thing but I have spent 3 days now on this without luck. Any help will be appreciated!
Hi there, we recently saw an increase of interest from our customers using regarding a potential integration with Airtable. Naturally, there has been quite some excitement from customers and ourselves when we decided to kick off the design and technical spike work last week. Given the nature of the product, we were somehow assuming that Airtable would have a great developer experience, including OAuth2, as well as all the necessary REST API endpoints one could wish for to build an amazing integration. Learning that OAuth2 was not a thing yet was a bit of a bummer, but something we felt we could still workaround for the time being. And even though it felt a bit weird to have to manually request access for only the Meta API, it was pretty much the next step we took from there… which, well… brought us to the “thanks, but nah” message many others got here as well… right after applying for it. Oof. Going through previous community posts, it seems like there has been no meaningful updates/co
Hi, I try to filter airtable using the by the record’s id, for example filterByFormula=OR( {id} = ‘rec1’, {id} = ‘rec2’, … ) and I got the error “unknown field names: id”. That also results in errors even after I remove the brace brackets. Tangent
My “Published URL” column contains URLs of web pages. Through API, I would like to be able to pull only the record containing a URL I supply in the call. I am already successfully making a curl call with this… $base = 'appPtTr2kigmLlCP8'; $table = 'Content'; $view = urlencode('Published (Robert)'); // $fields = urlencode('Published URL'); // Only return these fields, cf. https://community.airtable.com/t/using-fields-filter-in-list-of-records/940 if (!empty($offset)) { $q_offset = '&offset='.$offset; } $airtable_url = 'https://api.airtable.com/v0/' . $base . '/' . $table; // construct the url query $url = 'https://api.airtable.com/v0/' . $base . '/' . $table . '?maxRecords=5&pagesize=1000&view='.$view . $q_offset; But how can I make use of the relevant feature (is it filterByFormula?) to add Elsewhere on the forum, I have seen reference like… filterByFormula=SEARCH(‘riva’%2C+%7BLast+Name%7D) But I have not crystallised how I would perform a query for
What does this error mean? j: Error: Failed hyperAssert: rowJson at main on line 24 Here is the code I have: let table = base.getTable("SMS"); let view = table.getView("Kosta"); let json_response = '{"action": "linkcreator", "data": [{"id": "recpuidwtkoxhyylo", "name": "kosta kondratenko", "url": "https: \/\/headstudios. Com. Au\/for_you\/sales-terminator-army-generator\/", "shortlink": "", "linkid": "lnk_1lhi_2rcwr8", "mobile": ["0412 826 569"], "path": "kostas-terminator", "displayname": "kosta", "originalurl": "https: \/\/headstudios. Com. Au\/for_you\/sales-terminator-army-generator\/? Fname=kosta", "secureshorturl": "https: \/\/showme. Headstudios. Com. Au\/kostas-terminator"}, {"id": "rec2nv7qklwu5jmbv", "name": "kostya kondratenko", "url": "https: \/\/headstudios. Com. Au\/for_you\/sales-terminator-army-generator\/", "shortlink": "", "linkid": "lnk_1lhi_2rcwr9", "mobile": ["+61412 826 569"], "path": "kostyas-terminator", "displayname": "kostya", "originalurl": "https: \/\/heads
It would be great if you could make the default values also work for API created records. Maybe optionally for backwards compatibility. Cheers, Arthur.
Good morning all :coffee: My example base - a score board :joystick: There’s a neat trick that not too many casual Airtable users know about - where by configuring filters within a new view that’s filtered to Single Select column(s), that new records created under that view will default to the filtered value(s). Very handy! Have the Single Select Field (or more) Create the View Filter that View to Single Select colums New records created default to those values. My question - is it possible to POST a record to a targeted View? Obviously the API calls for the Base ID and Table target, but I can’t find anywhere that details the syntax, or even mentions if it’s possible to utilize a view within that table for record creation via API. To log a new score (using Postman to learn with), I have this; https://api.airtable.com/v0/%My_Table%/HiScore?fields%5B%5D=Return&filterByFormula=(%7BStatus%7D%3D%22New%22)&maxRecords=3&pageSize=3&view=New For readability; HiScore ?fi
Hello everyone! This is kind of a stretch, so I am wondering if you anyone knows if this is possible. I am looking for a way to iterate through all records in a table and create a chart based on data linked in another table. I’d like the save a picture of each of these charts in another column in the record. For example, I have a table of people on a roster. Each of the people have certain metrics associated with them over time. I want to chart those metrics on a lineup graph and save it in the persons AirTable record. Is this possible with some script combined with a vega, google charts or image-charts api call? Can the AirTable Script editor handle image files? Thanks!
Hi guys, I’m trying to set up a GET API call with filterByFormula that would return an error instead of empty value. Imagine that I have two fields - {user_id} and {full_name}. {user_id} field always exists, but based on formula it should return: A) 200 OK response if full_name does not exist b) ERROR response if full_name field already has a value Any help would be much appreciated! Thanks!
(Javascript novice) I’ve adapted some code to work with my different field names but it isn’t working and I’m not sure why. This script is supposed to update the fields “Proposal Accepted”, “Checklist Sent”, and “Checklist Received” based on the amount of time that a single select field was set to either “Proposal Accepted”, “Checklist Sent”, or “Checklist Received”. Strangely, the automation runs successfully sometimes. When it doesn’t run successfully, the execution log is as follows: Error: Could not find a field with name or ID “undefined”. at main on line 72 Can anyone see the problem? Here is the code: let table = base.getTable('Jobs') let proposalAcceptedTimeFieldName = "Proposal Accepted Time" let checklistSentTimeFieldName = "Checklist Sent Time" let checklistReceivedTimeFieldName = "Checklist Received Time" let proposalAcceptedLastModifiedFieldName = "Proposal Accepted Last Modified" let checklistSentLastModifiedFieldName = "Checklist Sent Last Modified" let checklistReceiv
I’m new to Airtable and have no JavaScript knowledge so I’m hoping someone smarter than me can help! I’ve been trying for weeks to figure out how to write a script to set due dates for each task in a list for a given project. So far I’ve modified this script to generate the tasks. The part that I’m stuck on is that instead of tasks having dependencies based on the completion of another task, my tasks have due dates that are relative to the type of task. I just can’t figure out how to script: use an input of new project, then for each new task created in Tasks Table, use task type from Template Table, get corresponding dependent date for that project from the Projects Table. Use that date, calculate the Due Date in the Tasks Table using something that would function similarly to the formula WORKDAYS((dependent date from projects table), (+/- that record’s value in the Task Template Table), days).
Airtable give me a tool to encode my url . but … How to do it ? How to use the API URL encoder tool : https://codepen.io/airtable/ thanks
Hi all, so I wanted to check if there is way to retrieve a specific record based on filter criteria, Based on my Understanding so far i can only use table.selectRecordsAsync() to get the array of all the records . later need to perform filter using linear search on the returned array. i wanted to check if i can get a specific record based on query condition as a response. for example : From table animals … i need record where name == X, is there a better way than getting all the records and then i need to loop through until i find X. kindly help me with this. thanks, Harshith
Hi there :slightly_smiling_face: I have a very simple code involving if statements and buttons but it’s not working. I’ll explain further below my code: let sale = await input.buttonsAsync("Is the vehicle set for another service or will it be sold/scrapped before then?", ["Yes, another service date", "No, will be disposed"]); if (sale = "Yes, another service date") { let plan = await input.buttonsAsync("Is the next service on a date or at a specific mileage?", ["Date", "Mileage"]); if (plan = "Date") { let date1 = await input.textAsync("What is the date of the next service? ( eg: May 1, 2022 )"); let format_date1 = new Date(date1); let format_date2 = new Date(format_date1.setDate(format_date1.getDate()+1)); let final = format_date2.toISOString() let field = table.getField("Next Service (if Date)"); let confirm = await input.buttonsAsync("Are you sure you want to update th
I’m using the following to capture an email address: email = await input.textAsync(‘Please enter email’); I want the input to be optional, but the “Next” button only becomes enabled when you type something in -the field. Is there a way to make the field non-mandatory or is this a bug?
I am a complete noob and know next to nothing about coding, so bear with me please. I download order reports on ebay and upload them into my airtable base for a partner to gather the data from. They are downloaded automatically in .csv format, with no option to omit any data beforehand. The automatic csv import tool that airtable provides doesn’t work for these because they contain 63 columns. I only use 29 columns, and I reorganize them a little as well. I am trying to find a way to make this automatic. I thought I would try and use the scripting extension to do this. I chose the example “spreadsheet importer” to use as a template. My knowledge of scripting is about 1 html website I made in grade 7 computer class 13 years ago above the average persons level of knowledge, aka slim to none. Here is how far I got before getting confused: // Ask the user to import a CSV file containing a header row let csvFileResult = await input.fileAsync( ‘Upload a CSV file’, {allowedFileTypes: [‘.csv’]
Hi, I’m currently developing a WhatsApp chatbot using Node.js. I’m implementing a functionality where the bot stores the specific responses from the users in airtable columns. But when I was going through the community I found out that it’s not yet possible to create columns programmatically. So for time being, I wrote a program that updates the field say Responses The problem I’m facing is when I call the update function it overwrites the existing record. Is there a way I can append the new value to the existing record without overwriting the old value?
Hi guys, Need your help in scripting. I want to concatenate month and templateName to another table using scripts as individual records. My desired output is e.g. templateMonth; templateName 2022-01; HD-HD1460, TR144 | 1 x RM-HD 2022-01; HD-WHITE | 5 x RM-HD, 1 x RM-WHITE How do I achieve this using a button? Thanks.
The entire error is; TypeError: Cannot read property ‘length’ of undefined at main on line 40. Line 40 reads; let recToCreate = s.delivField.options?.choices.length; OK, so “s” was defined at the top of the script as input config, and “delivField” is defined as an input field of “s” So AFAICS this should NOT be undefined. Any ideas? Anyone else used this script?
I keep getting error: SyntaxError: Unexpected end of JSON input at main on line 32 Is this something to do with my return JSON string from my endpoint or something to do with my code? Here is the code let WPtable = base.getTable("New WP"); // Prompt the user to pick a record // If this script is run from a button field, this will use the button's record instead. let record = await input.recordAsync('Select a record to use', WPtable); let blogTitle = record.getCellValue("Title"); let wpContent = record.getCellValue("Content"); let c_name = record.getCellValue("Name"); // had to change to c_name because Visual Studio code was saying name is deprecated just in case I'm using a namespace let bannerhead = record.getCellValue("Bannerhead"); let headline = record.getCellValue("Headline"); let subheadline = record.getCellValue("Subheadline"); let cta_text = record.getCellValue("CTA Text"); let cta_link = record.getCellValue("CTA Link"); let short_path = record.getCellValue("Short Path"); //
If I have a webhook / cURL function (below) - how do I create a script that will run it through timed automation in Airtable? curl -X POST https://app.powerimporter.com/v1/api/workflows/XXXXXXXXXXXXXXXXX/XXXXXXXXX/sync
When deploying my website on Vercel, I always receive the error 429 due to Airtable rate limitation, which I’ve never seen on the local server. I guess this problem is due to the server execute the page build much faster. In that case, is there some way to handle this limitation?
I’d written a simple script for some field Supervisors to be able to pull and generate a report of who’s signed in to their jobs on a given day. It was working fine until the beginning of this week, when all the times got adjusted by 4 hours from when they actually happened. A crewman will sign in at 9:04am, but the report will show them signing in at 1:04pm. This is new and unexpected behavior. GMT for all is turned off on all fields, they should all be localized, and were for the previous month since release. All team members are in EST. After some testing, it seems that Airtable is now dropping the ISO 8601 time zone adjustments. I am uploading them, but they are not being retained when the base is referenced. I am sending (and have been in the same format since the beginning of June) “2022-06-22T09:40:01-04:00”, and I am receiving back in the same API call as a response: “2022-06-22T13:40:01000Z” (Which I haven’t been until 6-20-22) If someone at Airtable can confirm that this is “
Hello. I have problems with automation, I ask you for help. I have table 1 and table 2. When I create some record in table 2, automation is triggered and all data is created in table 1. But when I want to make some changes in table 1, then these changes are not reflected in table 2. Tell me how can this be done?
let table = base.getTable(“Cuentas Ads”); let view = table.getView(“check grupal”); let query = await view.selectRecordsAsync({fields: }) let updates = query.records.map(r => { return {id: r.id, fields: {“Check Grupal”: false}} }) while (updates.length > 0) { await table.updateRecordsAsync(updates.slice(0, 50)) updates = updates.slice(50) }
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.