Need development and API help? Ask your questions here!
Recently active
Hey guys – quick question. I have multiple sales representatives, and I’d like to be able to auto-assign them to a lead when it comes in. Is there a way to accomplish this in Airtable?
Hi Airtable community, I’m a complete novice at scripting, so bear with my ignorance here. I have a table with three fields: Email, Converted Email, and a Button. I want the button to trigger a script that encodes whatever’s listed in the Email field to base 64 and push it to the Converted Email field. I’ve gotten this to work so far using this script: let table = base.getTable("EncodeEmails"); let record = await input.recordAsync("Converting record", table); let b64 = btoa(record.getCellValueAsString("Email")); output.inspect(b64); This outputs the base 64 converted email in the scripting app, which is great. But I want that result to push to the Converted Email field in the record. I’m not quite sure what to do next. This is what I have so far, pieced together using examples: let table = base.getTable("EncodeEmails"); let record = await input.recordAsync("Converting record", table); let b64 = btoa(record.getCellValueAsString("Email")); let recordId = b64.record[0].id; await table.u
I have an automation that runs a script, when a record enters a view. When I run the script as a test (in the automation setup mode), there’s never a problem. However, if the automation triggers, the script is always stopped by execution time limit. Any idea how to fix this? It’s usually only a couple of records int he view that triggers, so it shouldn’t be heavy computing at all. //Copy Values to a linked field //Declare tables var activeTbl = base.getTable("Delivered"); var activeView = activeTbl.getView("Createing Link to Prepared") var linkTbl = base.getTable("Prepared"); var linkView = linkTbl.getView("Prep for PD"); //Declare queries var activeQry = await activeView.selectRecordsAsync(); var linkQry = await linkView.selectRecordsAsync(); //Loop through your active table records for(let activeRec of activeQry.records){ //Declare field in the active table you'd like to match let actField = activeRec.getCellValueAsString("Referenz") //If a Number, use getCellValue inste
When using remoteFetchAsync with my own server API the response.json() has clear character encoding issues: Promoción desde solo 29â¬/dÃa. Calling the API in browser or Postman returns as expected. I spent some time checking Headers in the request, the server response encoding etc… But when I used the normal fetch routing the API through the https://cors-anywhere.herokuapp.com website it worked and returned the correct characters! Is the server used in remoteFetchAsync not encoding correctly the response?
Need help to call/run a script when a row is created in Airtable. The script will do a REST API call to another server. We tried to trigger “When Record Created”. but it’s not running the script. need some suggestions.
Hello there I would like to avoid user copy and paste in one of our tables. For this is have created a button and modified the excellent ‘copy values from one field to another’ script by @JonathanBowen to my needs. This works really well to copy a value from my source field to a target field, replacing the existing value in the target and leaving a create date in the source field. Now what I want to achieve is that that target field is a linked primary field in another table. At the moment users do this manually with copy and paste, but we do not want to introduce the idea of copy and paste as a function, a button would make this more elegant. The idea behind it is that we use one table to build a product by formula from other field values, so that we end up with a full parts code in one field (the source). This is then pasted into the linked field to create a new record in a parts table. However if I change the field name in the code from a standard text field to the linked field I ge
Is it possible to get visible fields for a chosen table and view? I checked the Airtable scripting documentation and I cannot find the property to check if a field is visible for that view
I have several very large bases for which I need to manage the field permissions of multiple collaborators. It would be extremely useful if there was an app/script that exported the data on who has what permissions for every field. At the moment I’m compiling a “directory” of this information manually and it’s every time consuming! Does anyone have anything that could assist with this?
Hi all, I see a BaseProvider in the API documentation . By reading the docs I am not able to understand what it is designed for. Are there any samples that show how to use it? Has anybody used it before or if you are aware of any github projects which use this, can you please share them? Thanks in advance.
Has anyone successfully integrated these (Airtable + Integromat + Webflow) where file attachment deletion is working? i.e. If I remove/delete an attached file in Airtable it gets removed in Webflow as well. Thanks in advance
I’m trying to find a way to pull the field description (described here: Adding a field description – Airtable Support) via the REST API or Airtable scripts. Is there any way to access this data outside of the web interface? Thanks in advance!
Hello I am trying to create a script to enter in new information if needed or change information on a record if needed based on user button. I cannot seem to get the updaterecordasync to work. For the first one I just tested it by automatically changing a field ‘employees’ and giving it a set value, which I have been unsuccessful at getting to work. Ideally I would like to take user input and put it into the record field. I have attempted this on second part of the if statement with no luck either. Thank you for any help.
after using the API documentation it’s confusing trying to find info for the scripting app. I was expecting to be able to use maxRecords to grab the first record but that doesn’t seem to work. What am I missing here? let queryResult = await table.selectRecordsAsync({ sorts: [ // sort by "ID" in ascending order {field: "id"}, // then by "Title" in descending order. {field: "title", direction: "desc"}, ], maxRecords: 1 });
Hi there! After searching around for a while, I have not been able to find a script with the function of finding duplicates within one cell. I have found workarounds with Airtable automations, the only task holding me back now is the script. In this case, I want to be able to find and copy duplicated values from a cell (formula cell) into another cell (link to… cell). Image 1: Here you can see the structure of the table. Column 4 (Concatenated (FORMULA)) combines the values from column 2 and 3 (Outcome 1 and 2) into one cell. I wish to identify the duplicates within cell “concatenated” and return the duplicated variables to the column cell “Duplicate” (Sample 1) (Notice that the cell “Duplicate” is formatted as “link to…” cell). IMPORTANT: IF there is more than 1 duplicate, I want to return all duplicates into cell “Duplicate”. (Sample 2) I wish to make this process automatic. Outcome 1 and 2 are results we receive automatically from an online form. Airtable automatically concatenates
I read the documentation and discovered that Airtable has a request limit for its API. We expect about 50+ people to use our mobile app on the first week of release and the number of users is probably going to increase after a month so this “5 requests per second” seems very limiting for the app. The chances of users sending requests simultaneously is pretty high and this will make the app unusable. Is there a way (maybe a premium plan) to exceed that limit without the 30 second wait penalty? Thanks!
Hi Airtable community. Since yesterday i’m facing an issue with the app I’ve been developping. I haven’t made any modification to my code and it seems to only happen since i upgraded my computer to a faster CPU (I think it’s unrelated but still mention it just in case) I have a method responsible for retrieving all the records from a table. async function getTableAsArray(baseId, tableName, view, maxRecord) { let table = [] let jsonTable = {} jsonTable['name'] = tableName jsonTable['records'] = {} base = new Airtable({ apiKey: 'API-KEY' }).base(baseId); await base(tableName).select({ maxRecords: maxRecord, view: view }).eachPage(function page(records, fetchNextPage) { // This function (`page`) will get called for each page of records. console.log(tableName) console.log(records) records.forEach(function (record, i) { if (i == 0){ console.log('1000ms') } Object.entries(record.fields).forEach(([key, value]) => {
When you are building on Airtable using Javascript - two things can help you build faster with less errors: :globe_with_meridians: GraphQL :closed_lock_with_key: . Type-safety Prisma is an amazing next generation ORM the brings type-safety and GraphQL to the table. So we wanted to see how Prisma would work with Airtable and wrote up a step-by-step tutoria: Sync Inc Docs Prisma - Sync Inc Docs Sync Inc replicates Airtable to a Postgres database, giving you the best of both worlds. In the tutorial, you’ll build a Next.js application that shows about 10K records from an Airtable base. It’s fast. And with Prisma, you can see this is just the beginning: Check it out, and would love to hear what you think.
Hi there, I am working on creating a user cms for our web app. My goal is gather a record’s information from a button click. I am currently getting the record based upon the click but I am only getting the ‘id’ and ‘name’ as part of the returned record object. Here is the code so far let table = base.getTable("Users"); let fieldsToInclude = table.fields.filter(field => field.name !== "Update User"); let record = await input.recordAsync('Update user', table, {fields: fieldsToInclude}); console.log(record, fieldsToInclude); The console output is: {id: "recmKNtwayYQNFu0K", name: "Kelly"} ▶(9) [Object, Object, Object, Object, Object, Object, Object, Object, Object] 0: Object id: "fldMqI2JmcuRkwOru" name: "First Name" description: "" type: "singleLineText" options: null isComputed: false ▶1: Object ▶2: Object ▶3: Object ▶4: Object ▶5: Object ▶6: Object 7: Object id: "fldVQSI2xjMjdunEi" name: "Initiative" description: "" type: "singleLineText" options: null isCo
Hey, Wanted to know if there should be support for it. I just tried to use them but style is not what it should be I think. See attached screenshot of a block with the most recent version of the blocks package (v0.0.47): Thanks, Ronen Babayoff Superblocks.at
Hi all, I realized that for Join Field (previously called Foreign Key field), regardless of whether it is defined as only allowing single or multiple records, is plainly exposed through the Block API as a ‘Multi-Record-Join’ FieldType and there’s no meta data available from the FieldOption as well. That creates many problems trying to handle the join field correctly. Ideally the field type should expose that difference (just like you wouldn’t call Single-Select field Multi-Select). But at least, is there anywhere we get some meta data exposed in the fieldOption or fieldConfig? Great if anyone knows what to do. Or if one of the API team member stumble upon this and take the feedback. Thanks.
Hi, how to integrate & connect APIs of Airtable & Mangopay (PSP) ? what are the steps ? thks !
Hi! I need access to the metadata API ASAP to integrate with Airtable - anyone know approximate wait times / if people are still getting access to the metadata API? Thanks!
Looking for a script to automatically record a Postman response in an Airtable base. Please help :pleading_face: From a non-tech background so will need an elaborate answer :see_no_evil:
I would like to ask if there is a script that will open a specific browser when clicking the button field. My workplace has web portal sites that only work with Internet Explorer, but I don’t want my team to have it as their default browser. I have set up the button to run script, but would appreciate some assistance with the code.
I’m wondering if there is a tool, like the API encoder codepen, which helps build filterByFormula to send to the API via getTableAsync. The API encoder accepts a filterByFormula, but it doesn’t help you formulate one. I have a large Vue site with checkboxes (imagine a furniture store where you can choose size, color, dimensions, name, etc.) and I want to build the filterByFormula on-the-fly as people check and uncheck boxes, but I’m not sure the syntax for a long, complex filterByFormula.
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.