Need development and API help? Ask your questions here!
Recently active
Bold headline, right? An existential threat to what exactly? Well, um, everything compute-related. But let's narrow this missive down to, Airtable itself (for example).Unless you live in a cave, you're aware of ChatGPT. It's in the process of roto-tilling pretty much everything compute-related. While not generally seen as a threat to much, we all see the writing on the wall; the computing world will change profoundly with LLMs, and the rate of advancement AGI has demonstrated in recent weeks and months that changes are happening quickly.Yesterday, OpenAI opened the kimono to reveal yet another massive game changer; [GPT Plugins](https://openai.com/blog/chatgpt-plugins).Let that sink in.While all aspects of this new GPT capability are significant, one flies in the stratosphere of all other possibilities - ***to run computations***. While everyone is drawn toward "*access up-to-date information*" in a mesmerizing mental trance like a Star Wars tractor beam, the most stunning part of the
we built this on airtable and we want to have users update their profiles by summiting it for each listing.they could do this by either1) Claiming the profile and submitting their informationorWe are open to other ideas. How would you go about doing this?Any Help would be appriciated thank you in advance.
I have a table with fields "Name" (primary), "Description", and "Notes". I'm writing a small script in the scripting extension that requires users to use a record picker to select a record. Right now, if you use the search bar in the record picker, it only searches within the "Name" field. I'd like to be able to search in Name,Description, and Notes so that I can pull up a record based on the description or notes if I don't know its name. Is it possible to reconfigure the record picker? Relatedly, I found in the API that it's possible to add an "options" argument to the input.RecordAsync call, but I can't figure out where in the API the options are explained. Anyone know where I can find this?
I have a task that requires itertools. but I am having no luck. is it possible to import from itertools? or any other library for that matter? thanks
Hi this might be a fairly beginner question, and more programming specific than Airtable but if anyone could help, I’d appreciate it. When I make a request to my base and main table, I’m able to get a response but within it are only ID’s of linked records on other tables. I can’t figure out how to get the actual data within the arrays. For example, instead of IDs in the authors array, I’d like to get the actual data within the Authors table there. I figure I’d make a request to the Authors table, and then have to group them together with map & find somehow. Same for Genre. {1 id: "recYt9GrRjvpVcX0p" fields: { subtitle: "How We Misthink Money and How to Spend Smarter" Thoughts: "Best book ever yay" Start Date: "2021-01-11" Status: "Completed" End Date: "2021-01-14" Authors: ["recquUajrIfbpR6vU"] Genre: ["rechPpsFS3LQyaZkg"] title: "Dollars and Sense" Days to Complete: 3} I’d appreciate the help.
I'm going to try and over-simplify what I'm trying to do. Here's the current set-up of my table. - I have three rows, Apple Picking, Pear Picking, Cherry Picking. For each row I have the following fields, Blank Start Date, Blank End Date, Apple Picking Start Date, Apple Picking End date, Pear Picking Start Date, Pear Picking End Date, Cherry Picking Start Date, Cherry Picking End date. See screenshot below "Before Script" for example of how this looks like in AT at the moment and the values in each field.- I would like to run a script that would populate the Blank Start Date and Blank End Date with the appropriate values. For example, for Apple Picking, I'd like the script to pick-up the Apple Picking Start Date and populate it in the Blank Start Date field. See screenshot below "After Script" for example of how this looks like in AT at the moment and the values in each field.If there's a formula I can use to do this, happy to do that do just wasn't sure if it was possi
There's a lively conversation about querying data that is not ideally shaped to answer the desired question over on Table Forums. It is related to an earlier time shortly after scripts were made possible in Airtable when I recommended (in 2020) that a script should be afforded the ability to become a custom formula. I'm not the only developer who has thought about this.@kuovonne provides an approach to answering the question that started the conversation. But I have and still would love custom formulas to do this.Imagine a different approach that requires only your data and one API call to OpenAI that costs about 1/60th of a penny.Given this GPT query:This is a straightforward idea, but when performing queries across data tables that may not be ideally shaped, we will increasingly see LLMs provide answers where scripting or formulaic approaches are complex and require skills and added development time (of course).gptPrompt("Given this list of dates, determine which is the latest:"
I’m trying to create a home page for my Confluence space with some headline data from a table I’ve got in AirTable. I’m ultimately trying to create Power BI type cards on the page, showing a count / total of records in a view in AirTable. I’m not even sure how to get that headline data out of AirTable, let alone import it into Confluence. I’ve asked the question on the Confluence forum as well, to see if it’s better to approach it from that direction.
I have a Lambda function which is trying to create records in an Image Assets table. One of the fields (Race Name) is a linked record to another table in my base. This table is also synced to another base. The code seems to successfully find the Race name from within this other base using the record_id but there is something preventing it being created and I can't work out what it is? Here is my codeimport axios from 'axios'; // Utility function to get random stage const getRandomStage = () => { const stages = ['DISCOVERY', 'REMIND', 'OFFER', 'FINAL OFFER']; return stages[Math.floor(Math.random() * stages.length)]; }; const createImageAssetRecords = async (baseId, tableName, airtableApiKey, raceName, recordId, imageNum) => { const platforms = ['Etsy', 'Pinterest', 'FB Image Post', 'IG Image Post', '1080x1920']; const airtableUrl = `https://api.airtable.com/v0/${baseId}/${encodeURIComponent(tableName)}`; const createRecordPromises = platforms.map(async (platform) =>
Hello, I am using AppGyver as my front end. From a multiselect field in AppGyver, User A chooses “red”, “blue”, “green”, “purple”. I want to pull all records from my Cloth table which have those 4 colours From a multiselect field in AppGyver, User B chooses “pink”. I want to pull all records from my Cloth table which have pink. I do not know in advance how many criteria the user will select. I know i can sort by multiple fields using an array → ?sort[0][field]=day&sort[0][direction]=asc&sort[1][field]=name&sort[1][direction]=desc (of course the whole query parameter needs to be encoded) But i don’t know how to do that for filters through API cause API filtering is done through filterByFormula → and if i were to use an OR function, i need to know how much filters there are in advance e.g. user will choose 1 colour, or 2 colours, or 3 colours etc Could someone kindly teach me how I can get this done in AppGyver linking to Airtable? Thanks!
I am trying to use createrecordsasync but am getting this error: “No overload matches this call” All the parameter types are correct. I’ve switched them, created variables, double checked, etc. What else can I check? No overload matches this call. The last overload gave the following error. Argument of type ‘{ Client: { id: string; }; Term: { id: string; }; Eating_Count: number; Eating_Nutrients: string; Nutrients_Eating_Ids: string; Type_Not_eating: string; Not_Eating_Count: number; Not_Eating_Nutrients: string; Not_Eating_Nutrients_IDs: string; }’ is not assignable to parameter of type ‘{ Name?: string | undefined; fld5FO4eGWlC7DMPI?: string | undefined; Note?: string | undefined; fldgbYNn7xXOXZ1Gy?: string | undefined; Term?: readonly { id: string; } | undefined; fldJxWEonOumMn0g3?: readonly { …; } | undefined; … 9 more …; fldZSv8PUr3LGCm1T?: string | undefined; }’. Object literal may only specify known properties, and ‘Eating_Count’ does not exist in type ‘{ Name?: string | undefi
Hi,I need to build a script to parse a webpage. At first run it crafts POST request to search for item, the page returns a table-like list of several matching items with their statuses. (I'm on that stage now). I need to choose item(s) with certain status, enter their links and get info I need.So far I parsed such pages using my own functions, but it feels like I re-invent the wheel. Is there any 'best practice' or free working solution for such action?. I just need an example using only script extension (I saw examples of using DOMParser() but I would like to stay inside Airtable without establishing additional servers, node.js etc)Note that I receive text, not JSON. Also, page doesn't require credentials.Example of functions I'm using now (POST options omitted): const myurl = 'https://sampleurl.com'; const [tagA,tagZ,tagX]=[`id="items">`,`</h3>`,`</span>`] //single item start/end/exclude const [DIVIDER,WASTE]=['mw-headline',`<span `] //items di
I’m trying to generate reports based around values stored in a single select field. I’ve tried to get access to all the valued stored in a single select field, however I’ve not had any luck getting access. Does anyone know if this is possible without looping through all records? On the same note is it possible to get access to the order of the values stored in a single select?
Hello all,Using scripting, is it possible to get the holiday string for a particular view? e.g. a gantt chart view. All the posts I have seen use a separate lookup table. This seems like double handling, and a source of error/confusion.If not, why not? Thanks!
Hello All, I’ve been trying to pull together a proof of concept using Splunk and a product called Airtable They have a RESTful API that allows records to be accessed, which is great for use with the REST API Modular Input. The API structure is: https://api.airtable.com/v0/[Base]/[Table] I’m 90% there, but I’m struggling with a ‘pagination’ problem. The Airtable REST API allows you to pull all of the records in a table, but limits results to a maximum of 100. If there are more results than this, then the response includes an ‘offset’ field in the JSON response. You then need to issue the request again, with this as a parameter. I know very little about JSON and even less about Python and Splunk Tool, so I don’t have the first clue about how to implement a Custom Response Handler to deal with this. So far, thanks to previous questions and answers, I’ve got this far with my Response Handler: class AirTableEventHandler: def __init__(self,**args): pass def __call__(se
Hi everyone, Can a record be updated by an external user through an interface button ? Or do you have a link to solve this problem in another way (like a form) if it's not possible. Thanks for your help, François
Hello,Is there a possibility to grant/create API token for a read-only mode and for a limited number, of selected columns only? E.g. I don't want to give access to API for viewing some specific confidential information, but only specific fields, is that possible? And how to do it then? As now it seems if you give reading rights, it gives full access.
Hello all,I have been wrestling with this scripting challenge for awhile and could use help. At a high level I am looking for a way to specify on a record in one table what fields I want to go capture on another table to write into a single field on the record in the original table. 3 tables are involved(but only 2 matter for the scripting):1)Task template2) Tasks3) ServicesTasks are created based on tagging a service(services have their own tasks defined on the task template. Those tasks are generated and have a field called "additional fields needed". This field will have the names of fields on the services table. I want the script to look at the field names in "additional fields needed", go to the services table, find the correct record based on the service name, find the fields, grab the values, write the values into the tasks table in a field called "additional information"Any help or advice would be greatly appreciated
Hello everyone! I have this script: const tableId = "tblapiXxSQL4FGs7G"; const table = base.getTable(tableId); const viewId = "viwVt3r8YFoHt5sy6"; const view = table.getView(viewId); const records = await view.selectRecordsAsync(); const filteredRecords = records.records.filter(record => { return record.getCellValue("View") === viewId; }); const updatedRecords = filteredRecords.map(record => { return { id: record.id, fields: { "fldOhTCFbOqx05nxk": "", "fldDCytU41W6YcJQu": "" } }; }); if (updatedRecords.length > 0) { await table.updateRecordsAsync(updatedRecords); console.log(`Updated ${updatedRecords.length} records.`); } else { console.log("No records to update."); } The purpose with the script is to have certain fields cleared for value when x conditions are met. It works like a charm in other tables, but in my newly created table it just won't work. I have inserted the correct IDs (table, view and fields), but the
Hi everyone, I've two tables with two type of granularity, for instance Table Name and Table Sport, and I would like to create a table with one line equal one name and one sport. I show you this juste below, for the moment I have In my first table one record = one name Name 1 - Tennis Rugby FootballName 2 - Football In my second one record = one sport Tennis - Name 1Rugby - Name 1 Football - Name 1 Name 2 I would like to create a third table NameSport where one record = one name and one sport like this : Tennis - Name 1 Rugby - Name 1 Football - Name 1 Football - Name 2 I created an automation, when a new record enter a view in the table name, it runs a script, to create in the third table the good granularity. I inspire myself from this community message but it takes the all table and I would like only the triggered record. I created an input variable with the record id, but it's still inserting me in my
Using the token creation endpoint returns a 201 status code upon successful request. I believe the standard dictates a 200 response. This is causing me issues as I am using a popular OAuth nodejs library that rejects the Airtable token response because it's 201 and not 200. I'm implementing OAuth for many different providers and if I want to support Airtable I'll need to find another more lenient library for this one specific API. Ideally your authorization server would return a consistent response 😊
I'm looking for a way to get record fields by id not by name.It's possible while using select method using returnFieldsByFieldId parameter , but don't find how with find, update and create methods.The web API supposes this is possible, but I don't find the way to do it thru javascript APIAny dea ?
I should make a GET request with body (I know, it’s strange, but this is what I have to do). Here below my script: let inputConfig = input.config(); let deliveryNote = inputConfig.deliveryNote; // array let courier = inputConfig.corriere; // array let deliveryDate = inputConfig.dataRitiro; // array let token = inputConfig.token; // string let authToken = String("Bearer " + token); var trackingHeaders = new Headers(); trackingHeaders.append("Authorization", authToken); trackingHeaders.append("Content-Type","application/json"); var trackRaw = JSON.stringify({ "deliveryNote": "2501461270", "courier": "DHL", "deliveryDate": "2022-05-05" }); var trackReqOption = { method: 'GET', headers: trackingHeaders, body: trackRaw } await fetch("https://api.retelogisticastorage.it/api/externalServices/trackDelivery", trackReqOption) .then(response => response.json()) .then(result => console.log(result)) .catch(error => console.log('error', error)); Th
As a personal project, I'm doing a no code app that uses Airtable as a database, the connection is done thanks to the Airtable API. But as we all know, Airtable is transitioning to the Personal Access token. Since API keys will be discontinued, I would like some help to how to connect to an air table database using Personal Access Token or Aouth integration to bubble ? Thanks for your time in advance.
Have a specific use to an influencer where I have dumped data from an exported CSV by quarterly revenue earned through affiliate marketing platform known as LIKEtoKNOWit. The login to access this CSV is behind a login page for each influencer/blogger to earn commission through links to products on Amazon or other ecommerce websites. Currently there is no API connection for creators through LIKEtoKNOWit and so I would like to create something where I can capture this data exported daily. No need for up to the minute calls or anything, but I am new to airtable and am hoping to build an interface for each brand to aggregate data by quarterly revenue and by brand. Is there a way to the data into airtable without LTK having an ability for creators to gather this information through an API?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.