Need development and API help? Ask your questions here!
Recently active
Hi all! I’m new to Airtable and trying to figure out how to pull multiple variables out of a single long text field. I’m pulling the Description from an event in Google Calendar and syncing it into a Description field in Airtable. This field will have some things defined in a predictable pattern, such as the Zoom URL, name of the presenter, etc. - each corresponding to a field that exists in Airtable. What is the best way to set this up to be parsed through in Airtable? Is there a tutorial out there that could point me in the right direction? Feel free to suggest something else if I’m going about this the wrong way. Thank you!
I want to fetch records from another base (for reasons) to output in the scripting app. My code works but I must be unable to find much documentation on how to paginate Airtable. Is there a better way to get all records? let offset = ''; while (offset != "stop"){ let response = await fetch(`https://api.airtable.com/v0/${remoteBaseID}/${remoteTableID}?api_key=${apiKey}&offset=${offset}`); let json = await response.json(); if (json.offset !== undefined){ offset = json.offset remoteRecords.push(json.records) }else{ remoteRecords.push(json.records) break } } Open to suggestions.
Hi All, This is for a Twilio Call IVR. Is there a way with Airtable-Node Module to filter by Field and not ID. I guess its kinda like a number look up and give back the value of the field? 1234 gathered digits on a call gets back a field, like status. The code below returns four IDs Sorry I am learning to code JS. exports.handler = async (event, context, callback) => { try { const { records } = await airtable.list() const appointments = records.map((appointment) => { //console.log(appointment) const id = appointment const { name, PIN, Result, Status, Phone_Number } = appointment.fields console.log(PIN) // const url = image[0].url return { id, name, PIN, Result, Status, Phone_Number } }) callback(null, { statusCode: 200, body: JSON.stringify( appointments ), }) } catch (err) { callback(null, { statusCode: 500, body: 'Server Error', }) } }
I have 2 tables (Part Processes Table and Jobs Processes Table). The Part Processes Table contains all the operations for making a part. Every time a new purchase order comes in a job is created and linked to a particular part. I would like to create a script that grabs the linked records in the Part Processes Table and inserts them into the Jobs Processes Table every time a new job is created. Can anyone provide me with an example of something similar that I can modify for my purposes?
Hi ! I hope you can help me, I am trying to get the cell value of a record I have from an automation. I checked all the documentation and don’t understand what’s wrong (except maybe that it just doesn’t work with airtable automation ?) Anyway here is my code let requestTable = base.getTable('Demandes techs'); let request = input.config(); let record = request.record_id; let statusWhenQuote = record.getCellValueAsString('Quote status'); console.log(record.getCellValueAsString("Quote status")); Many thanks for your help
I can’t for the life of me to get this script to work. I’m trying to do a vlookup across two tables. “In Contract” table is the one that I’m trying use the information from “Movie/Episode Title” Column and find that same title in the “Episode/Movie Title” in the “All Assets” table and then grab the info from the “Program/ Asset ID” column and paste that into the “Asset ID” column on the “In Contract” table. let mainTable = base.getTable(“In Contract”); let mainTableRecords = await mainTable.selectRecordsAsync({fields:[“Episode/Movie Title”]}); let lookupTable = base.getTable(“All Assets”) let lookupRangeRecords = await lookupTable.selectRecordsAsync({fields:[“Movie/Episode Title”,“Program/ Asset ID”]}); for (let record of mainTableRecords.records) { let lookupvalue = record.getCellValue(“Episode/Movie Title”); for (let reangeRecord of lookupRangeRecords.records) { if (rangeRecord.getCellValue("Movie/Episode Title") === lookupValue). { let returnValue = rangeRecord.getCellV
Trying to add more than one field under the createRecordsAsync action. This is my single field being created right now, which is pulling (successfully) the name from an array. What I’m trying to do is perhaps a tad loftier than I’m indicating, but I’d like to populate the linked record field of the created record with the record ID of another record. Can I do that in this step here? await table.createRecordsAsync([ { fields: {"Name": tempArray[a]}, //hoping to insert the link via record ID at this stage here. }, ]);
Dear community, I have very little experience with scripting and that is why I am struggling with customizing the currency converter example. My code: // Change this to the name of a table in your base let table = base.getTable('GT_MasterData'); // Fetch conversion rate from API - you could change this to any API you want let apiResponse = await fetch('https://api.exchangerate.host/latest?base=CZK'); let data = await apiResponse.json(); let conversionRate = data.rates.EUR; output.text(`Kurz: ${conversionRate}`); // Update all the records let result = await table.selectRecordsAsync({fields: ['nakupni_cena_eur_ke_konverzi', 'nakupni_cena_po_konverzi']}); for (let record of result.records) { await table.updateRecordAsync(record, { // Change these names to fields in your base 'nakupni_cena_po_konverzi': record.getCellValue('nakupni_cena_eur_ke_konverzi') / conversionRate, }); } I would like to automate script triggering by time via “Automations”. In order to do
Hi! Is it possible to create new options for single-select or multiple-select fields while creating a record with a script? API allows using the typecast:true parameter. Is it possible to do the same in the scripting application’s createRecordAsync() function? Thank you in advance.
Hi there - I am wanting to link Airtable with my Wordpress membership site and have the username and/or unique person ID automatically passed into the Airtable form. Is there a way to do this so I can have some level of automation for each user?
I have registration forms that collect a digital signature. It imports into airtable as a url, like this: (https://s3.amazonaws.com/files.formstack.com/uploads/3669579/85172110/582992994/signature_85172110.png) Can someone help me with a script that would convert this to an image attachment?
Hi all, I need to retrieve a list of items from a formula filter like this filter To do this I use “API URL encoder tool” here is my formula: AND(RECORD_ID_CONTACT="recXXX1234", Statut="🤝 Mission conclue", IS_BEFORE("Fin de mission", TODAY())) curl: curl https://api.airtable.com/v0/appXXX1234/%F0%9F%96%B2%20Disponibilit%C3%A9s?filterByFormula=AND(RECORD_ID_CONTACT%3D%22recXXX1234%22%2C+Statut%3D%22%F0%9F%A4%9D+Mission+conclue%22%2C+IS_BEFORE(%22Fin+de+mission%22%2C+TODAY()))&sort%5B0%5D%5Bfield%5D=Fin+de+mission&sort%5B0%5D%5Bdirection%5D=desc&view=%F0%9F%94%BD+Chrono \ -H "Authorization: Bearer keyXXX" response is : {"records":[]} If I remove IS_BEFORE from my request, I have results. Maybe I’m writing my formula incorrectly? Thank you for your time :slightly_smiling_face:
Hi there - When using createrecordsasync, it’s helpful to know what record ID was just created. How is it possible?
Dear Community I am relatively new to Airtable and all its fab benefits, I have a query about automating and scripting and how best to use this for my example here. We use many bases, one for each client as we find it most useful and each contains many tables. I have thought long and hard about making this one huge base and having different views or tables but honestly, for us we prefer to see the clients in the bases (bad practice?). If I automate a trigger to bring information into Airtable from google forms, can I set it up so it creates a new base each time, rather than a new table in one base? We use a base per client as we have a lot of data and find this easier for us visually. I could always bring all the form information back to the one base if I had to and then maybe there is a script I could run from within AT? Thoughts and ideas on how I can handle appreciated. Thanks Community. Catherine
I did not see these APIs in the documentation. Does anybody know if these APIS exist? - createTable, createFieldInARecord, createView .
Is there a feature or method to DISABLE the apps window from displaying/sliding open when a script is executed via a button in a table? Or, is this a feature request? I’d just like it to run in the background when manually executed, like an automation.
I have searched the API docs, and I see no way to do this. With the AirTable API, how do I create a new tab (new table) in an existing base? and then populate it? I do not see this feature of inserting or creating an new tab into an existing base, only the ability to insert rows into an existing table that was created by a human that opens a web browser and clicks. We have needs to automate the creation of new tables in an existing base (and down the line, creating new bases programatically).
Hi, I have a base with a field called Accounting Date which is a date field. This field is created via Zapier along with some other info about the invoice. At some point after this field is created, it will change to be 24 hours earlier than what it came in as originally from Zapier. In the revision history, it says this field was “edited via api” and I cannot figure out what is causing this field to change to 24 hours in the past. I have checked thoroughly zapier to see if it’s updating the record and it is not. I cannot figure out how this is happening and hence how to stop it from happening. My question is, is there some way to get more detail on the api history vs what is in the screenshot to solve this mystery? I would not be coming here with this question if I haven’t exhausted every other conceivable way I can think of to figure this out… Thank you.
Hello again, community! I have a script that is throwing an error and would like some help from the community. I’m using two “for… of” loops. The first finds IDs of records in another table that match a condition. The IDs get pushed into the “familiesToAdd” array which works great. As you can see in the screenshot, the second loop throws an error. In the past I have used the same structure to update multiple linked record fields using the spread operator and it has worked just fine. The values that are being provided are certainly strings. Can anyone see anything that looks off? I would be happy to send in more screenshots. Best, Matt
Hi, I need some help! I created a table and I have a button field that has as an action Run Script (I must use this action). I have created a scenario in Integromat and all I want to do is that when I click the button on a record the scenario is launched. I have an Attachment field that contains images in the table, I have a module on Integromat that have to receive the URL of the image. I know that I have to use Webhook, I have created the scenario and I have the Webhook URL. But I don not know what the script must be!! Thanks in advance!
Hello, I am trying to integrate Google Analytics through a global tag through react-helmet but no page views show up on Analytics. The following code should trigger an automatic pageView on Google Analytics when the app initially loads, but it doesn’t. <Helmet> <script async src={`https://www.googletagmanager.com/gtag/js?id=${GA_MEASUREMENT_ID}`} /> <script dangerouslySetInnerHTML={{ __html: ` window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', '${GA_MEASUREMENT_ID}'); `, }} /> </Helmet> I can see it loads properly, but no events are being registered on Analytics. Is this allowed through an app? Would appreciate some direction, thanks!
Setting the active table with cursor.setActiveTable is kicking me out of fullscreen mode despite the docs saying otherwise Has anyone else experienced this? Thanks!
We have multiple APIs connected to our Airtable base. I am trying to debug an issue where an API is changing the status of a record, but I cannot isolate which API is causing the issue. Is there any way to get more granular info besides “you edited via API”?
I just ran this script, it made all my prices to 0. Not good. Please help. I am trying to convert prices from EUR to USD. I found this script on airtable. // Change this to the name of a table in your base let table = base.getTable('Seeds'); // Fetch conversion rate from API - you could change this to any API you want let apiResponse = await fetch('https://api.exchangerate.host/latest?base=USD'); let data = await apiResponse.json(); let conversionRate = data.rates.EUR; console.log(`Conversion rate: ${conversionRate}`); // Update all the records let result = await table.selectRecordsAsync(); for (let record of result.records) { await table.updateRecordAsync(record, { // Change these names to fields in your base 'Price EUR': record.getCellValue('Price USD') * conversionRate, }); }
How to parse Blob, guys? Why this feature is introduced and no documentation and real examples of how to use it. I need to parse local iOS localization file with extension .strings and get keys and values into a table. Any suggestions welcome.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.