Need development and API help? Ask your questions here!
Recently active
Hi, I have a few tables and i want to trigger an automation when a record is added in table 4 but go up the tables to get a value from table 1. Houses > Rooms > Items > Reciepts (best example I can think of!) When a new reciept is added I want to send an email to say here is a reciept which was added to item X in room Y at house Z. The new reciept has an Item ID in it but that field is an array of item IDs, so at the moment I have my input variable set as: let itemID = input.config().ItemID[0] Is that the right way to do this? Next I want to go into rooms and find the room linked to that item, but again the linked field is an array which is confusing me! Would love some help, Thanks!
Hi everyone! As part of making Airtable apps safer for our customers, we’re rolling out tighter security restrictions for our marketplace apps, along with a network access option for Enterprise administrators. Apps are a powerful way to extend Airtable that gives superpowers to teams and companies of all sizes. We’re continually looking to make apps more secure and transparent to users, so we’re taking the first step to tighten app security and give users more visibility over how apps access their data. Our hope is that this long-term commitment to security and transparency will make Airtable a more valuable platform for developers and users alike. On February 10, 2021, we’ll start to enforce several browser-based security settings for any apps installed from the marketplace, including existing apps already installed in bases. The enforcement uses Content Security Policy headers (CSP), which are an industry-established standard for browser security. As part of this enforcement, we’ll u
Hello. I’m trying to write a script that loops through all of the records in the table MyTable1, and for each record in MyTable1 loops through all of the records in table MyTable2, and at each iteration checks to see if table MyTable3 contains a record where Field1 is a link to the current iteration’s record in MyTable1 and where Field2 is a link to the current iteration’s record in MyTable2. I’m essentially trying to automate populating a junction table where MyTable3 contains every possible combonation of linked records from MyTable1 and MyTable2. There’s a great example of how to something similar in another thread (Automatically Populate Junction Tables!), but it wasn’t quite what I was looking for. The script I’ve written so far is below. I wrote as comments the steps of the script that I’m unsure which functions to use to accomplish that step, and was hoping that someone might be able to help me out with this. Thanks in advance! let tableMyTable1 = base.getTable("MyTable1") let q
Hello, I’m using a Database to organize ideas in a Kanban view. My ideas contains a Rich Texfield to store notes, and things todo, etc … I’m wondering if there is an app working like Description App but to edit the field of one of my idea. Like a Note Taking App because the tiny popup/modal editor is not very handy …
I’m building a custom app and need to show an attachment’s thumbnail image as part of an info card. When I enter <div>{record.getCellValue("Attachment field")}</div> to view the cell values, I get the following error: Error: Objects are not valid as a React child (found: object with keys {linkedRecordId, value}). If you meant to render a collection of children, use an array instead. I’ve tried adding record.getCellValue("Attachment field").fields.url but it comes up as undefined. I’ve also tried {record.map(value => {value.url})} to try access the object’s properties but map is not a function of record. How can I access the thumbnail’s URL?
I want to have a folder in my app with some static assets. How can I access it and use as images in html?
Looking to Delete records in batches base on a Table View Does someone have a script for it?
I am trying to write multiple new records to a table. The docs suggest doing this like so: table.createRecordsAsync([{'My field name': '1'}, {'My field name': '2'}, {'My field name': '3'}]); In my code I have the following test: table.createRecordsAsync([{ 'Name': "Dave"}, { 'Name': "Sam"}]) But I get the below error: invalid record format. please define field mappings using 'fields' key for each record definition object As a check, I also attempted to write a single row, like so: table.createRecordAsync({ 'Name': "Dave"}) And this worked fine. I also attempted this: table.createRecordsAsync([{ 'Name': "Dave"}]) And I got the same error as before. So it seems to be something about the createRecordsAsync method and passing an array. Any ideas?
I’d love for Airtable to provide a sign-in service, delivering oAuth authorization tokens, allowing us developers to create apps that would be able to read and write data to our users’ own Airtable accounts. For security reasons the permissions of such third-party apps should be limited to a specific workspace, base or table.
Hi, Couldn’t find the bug posting forum so I am posting here. If there is a better place, please let me know. When adding a record by clicking on “+ Link to a record from …” defaults are not applied to columns in the added record. Is this behaviour by design? David
Love Airtable but feel frustrated by the API. At Blobr we developed an interface to share and manage easily the Airtable API. You can find it here: blobr.io Share and manage the content of your Airtable API Blobr is the no-code solution to turn your APIs into products It solves many issues we had like having not only one API key but several, be able to manage how we share the content and the business rules to do so. Hope you enjoy it.
As far as I can tell, the Batch Update app uses the React Select library to handle input components for single-select and multi-select fields (both “regular” and “collaborator” types). Can the source code for the Batch Update app be made public so other developers can replicate the appearance already used in a “standard” Airtable app? As it stands, the Select component provided in the Airtable SDK isn’t quite sufficient for multiselect fields.
Hi All - new here and a bit of a novice developer but trying to automate a simple creation of new records in one table when a new record is created in another table. I’ve been trying to mimic a bit of the parent /template script example but my filter function wont read my input variable that is part of the automation. let listTable = base.getTable('List of Metrics'); let importQuery = await listTable.selectRecordsAsync(); let importRecords = importQuery.records; let metricsTable = base.getTable('Metrics'); let inputConfig = input.config(); let companySector = inputConfig.companySector; let imports = importRecords.map(c => ({ 'Sector': c.getCellValue('Sector'), 'Stage': c.getCellValue('Stage'), 'Name': c.getCellValue('Name'), })).filter(x => x.Sector.includes(companySector)) I’m trying to filter the imports by sector, but an error I’m getting is that since companySector is a string it is not compatible and reads as null. Feel like I’m missing something simple, thanks
When writing multiple rows with the Airtable API, what if some records fail (e.g. due to invalid fields) and some succeed? Does the whole call fail, or just API just return the record IDs that succeeded? I can test this myself, but for the sake of time I wish this was included in the API docs.
Continuing the discussion from How fast is searching for a specific value in a field (column)?: I did a test to check in practice how searching for a single value using Airtable API scales with the number of rows and it turns out that there’s no problem with that. Here’s a table that I got that shows the number of rows in an Airabse table and how long it takes to find a given user ID string in seconds: rows, time 1, 0.52 10, 0.39 100, 0.39 1000, 0.41 10000, 0.47 50000, 0.75
I currently have a spreadsheet in which I enter my daily sales records and bank balance for each day. I use the previous day data to calculate the bank balance difference and sales data. I was wondering if there is a way I can replicate the same behaviour with Airtable?
Hello all, I’m a no-code programmer (if that’s even possible) so for everything I do I look for a similar example and I copy and adapt. I’m trying to make a script where after pressing a button the user is asked for a couple of values to be updated in that record. I’m not able to find any script example where it automatically selects the record which button was pressed, and I always see something like this: const record = await input.recordAsync(“Pick a record”, table); Where user has to find and choose again the record to be updated. How can I do that? Is it possible? Thank you!!! Angel
Recently discovered Airtable and love what it can do as I track several things across a good amount of Google Sheets. I have been wanting to consolidate them for a long time and Airtable looks the part. I have a very long and complicated if/else statement that I need help with. I have never written script before and over the last three days I have tried to learn as much as I can about it. With that being said it is still over my head on how to accomplish what I want. I tried to do this with a very long nested if statement with no luck and after some research it looks like a script would easily do want I need. Our company pays out a year end profit share bonus based off the number of training hours the teammate(employee) completes. The basic formula is long but fairly easy to follow. Where things get complicated is if the teammate joined us during the current year. Last year we expanded and had several join us throughout the year. Every quarter we require a minimum of 10 trainin
Hi guys! I’m running an Order Management System with Airtable and I run into the 50 000 limit quite often. My solution is to make a copy of the entire table and clean the main table from most of the copied records. This solution is quite effective but as I have many of these copies there is a problem where my team needs to find an archived record. For this I have created a multibase PHP search that works quite well - but I don’t have any way to generate a clickable link to these record. What I have: I have the base ID that I’m searching I have the record ID What I need: An https link that opens the record in Airtable so that my team doesn’t have to open the table manually. Is it possible to generate a clickable link while having a base ID and the record ID - or do I need anything else? I’m writing the script in PHP. Thanks for any help - much love to everybody <3
Hi, we paid for the Pro Account on Airtable yesterday ,the trial period was expired. However, the workspace shows we are on Trial. This is a problem because it is a big blocker for my project. Hope someone can help. Thanks!
I am trying to delete in Bulk with integromat, I am trying to create the payload Can someone please tell me what is wrong here?
I have been using Airtable as the database to work with a Node/Express API for about a year and when fetching data from a table, any linked records just return as IDs. I ended up creating a populate() function which loops through these linked IDs and does another fetch to Airtable to grab those linked records and merge it back into the original object. As you can imagine this can result in some really slow response times based on how many records are being returned and how many linked IDs those record have. Would love to know if there is an easier/more performant way to do this?
I have a table/sheet that has a field that links to records in another table (parent/child). When I use the REST API and do a HTTP GET (url, params, headers), and look at the response, the only thing I see in the field with the link is the AT record identifier like: [ 'recPKTGm6EPiDoS6g' ] No data from the linked record is present. I have searched all over the response, and I do not see that there is enough information to use this AT record id to get the data of the record it refers to. ------------------------------------------------------------------------------------------------------------------------ In the UI, if I click on the field in the sheet, I get a popup that shows the full record (all data fields), and clicking on the down arrow next to the key at the top, I can see an option: “Copy Record URL”, and it looks like this: https://airtable.com/tblPlziY7QNosBG3N/recPKTGm6EPiDoS6g And so I see there is a uniform URL format for referencing a record with that URL. https://airta
Hello all! Very new to this, especially to scripting. I am simply trying to create a way to generate multiple entries on the ‘Codes’ tab based on the Quantity Purchased in the ‘Purchases’ tab. Currently I have an automation which allows one single entry to be created in Codes based on the New Record trigger on Purchases. I have tried to go through scripting and cannot get my head around it and would so greatly appreciate if someone would be kind enough to assist me by any chance. Many Thanks indeed, K
Two questions, rolled into one. I started using prefill_ to populate a form with URL parameters which worked a treat against a single line text field. However, I’ve had no joy in getting the prefill_ to work against a lookup field. Is this possible? I then explored using a script to copy the value from a single line text field into a lookup field, so that I can create a linked value. However, when I tried this, I kept on getting error messages about the lookup field being an array and I couldn’t work out how to pass the single field values into an array, to populate the lookup field! Any help would be much appreciated. Simon
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.