Need development and API help? Ask your questions here!
Recently active
I am using Airtable to track food products that are added to a pallet and then record the date codes for shipping. I would like to have my employees be able to select one of our 20 products from a list and then input the code date for that selected product as they build the pallet. There may be up to 10 products on a pallet. Is this possible? Single Select Product 1---->Input code Date (020221) Single Select Product 2---->Input code Date (050323) Single Select Product 3---->Input Code Date (061926)
Hello, I have a script that is intended to copy a set of predefined task records whenever a new project is created. The problem I am running into is with the multiple-select columns. The documentation says that I should be able to write to a multi-select column using the selection ids, but I always get this vague error when testing despite having no syntax/linting errors: “ERROR Error: Field “Phase” cannot accept the provided value. at on line 30 at main on line 15” Here is my script, plus a picture of the error: // get respective project const inputConfig = input.config(); const project = {id:inputConfig.project}; // get tables const sourceTable = base.getTable("Source"); const destTable = base.getTable("Dest"); // get all template tasks let query = await sourceTable.selectRecordsAsync(); // for making dynamic functionality later // TODO: make dynamic functionality later let cols = sourceTable.fields; let getColName = (c) => { return c.name; }; let colNames = cols.map(getColName);
Hi - If i have company > projects > invoices realtionship in my table and an automation triggers on a company update, what is the best way to find the invoices for that company? I am trying to avoid lookups + helper columns and use scripting instead, currently im doing (in psuedo code): Current company ID (from previous step) Find that record in the company table Get contents of the “Projects Field” For each product.id get the contends of the “Invoices” field" For each invoice.id find the record and get the data I need. I suppose my question really is this - when using linkedin field data is there a quick way to get the record that is linked to or do I just need to get the ID and then find the record in that table like I am already doing?
I’m trying to access the metadata but I keep getting a 404 error. I have a feeling that the problem is with the headers. headers = { "Authorization":"Bearer My_User_API", "X-Airtable-Client-Secret": "Meta_Secret_Token" } response=requests.get("https://api.airtable.com/v0/meta/bases/My_BaseID/tables", headers=headers) # I also tried response=requests.get("https://api.airtable.com/v0/meta/bases", headers=headers) Any ideas?
Dear Airtable Community, Seems as though the tenacity here never fails and I wanted to get some help on something I think a lot of people would take advantage of. Is it possible to write a script, either on Airtable or maybe with even another tool, that automatically presses other buttons in a table for all existing records? The buttons I want to be automatically pressed are all Zapier Webhook automations relative to each specific record, but I may need up to 200 of these buttons pressed at once and am looking for the best automated solution. Thank you to anyone who can offer some guidance!
Hi, I am reading a date from a field and want to include it in an email (as part of an automation). How do I go about converting the date that looks like this “2021-02-10t11:30:00.000z” into something like this - 10/02/2021 11:30am (or similar)? Thanks!
I am working on putting together a “sync” with another system to our airtable base. Basically i want to be able to pull a GET request on a members table on the field “CRM AGENT ID” and it find all the records with the matching ID’s. for example. I check a CRM system and find these agent ID’s: 3, 60, 67, 30. I then want to find those ID’s corresponding airtable records with a GET request. Then update all of those records with a PUT. Where i’m running into issues is the URL having the right search formula to search the field for all the agent ideas and return them all. Hard to explain, but how can i do this?
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
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.