Need development and API help? Ask your questions here!
Recently active
Hi guys, I’m working with a base that I have created for our team with 3 tabs: Talent, Client and Projects Since this is a many to many relationship between Talent and Projects, I created a Junction table to log and manage information specific to various Talent and Project relationships. We now have over 40 projects and 800 + talent records that become 30,000 + records in the junction table. I need some help with modifying this junction table script to avoid unnecessary records being created. I only want this for selected records in the Project tab i.e. live projects instead of complete ones or checked projects in the Project table. I’m a little new to Airtable and I don’t know how to script unfortunately, so i’d any input/guidance towards this issue.
I’m relatively new to coding, and I was able to call a REST API, and record the information to the console log. Unfortunately, where I am having trouble, is then taking that response and doing literally anything with it. Here is the code and the response below let response = await fetch(‘https://myapiendpoint.com’, { method: ‘GET’, headers: { ‘apikey’: ‘123456789’ }, }) console.log(await response.text()); The response I get is in XML it seems. A small excerpt of the response below: <User><Id>USER ID</Id><UserName>USER NAME</UserName><FirstName>FIRST NAME</FirstName><LastName>LAST NAME</LastName><Active>true</Active><Email>EMAIL</Email></User> I want to take the objects in this response (for example FirstName and LastName), and assign them to variables so that records can be created in later steps. I appreciate any assistance that can be given!
Hello together, is there a way to get just even or just odd rows from a table? Even: 1,3,5,7,9,… Odd: 2,4,6,8,10,… I want to use https://api.airtable.com/v0/xxxxxxxxx/${even-rows} or something else. Maybe someone high skilled can help me with this issue :slightly_smiling_face: Thanks a lot!
Hi, I’m trying to get a component’s name and insert it as a class name. A google search tells me I should use this.constructor.name, but that doesn’t seem to work here. Eg: function OrderLineItems(props) { return ( <section className={this.constructor.name}> </section> ) } Does anyone have a solution for this?
Hello dear community members, I hope you’re doing great. I am requesting your help because I would like to use a script, so that when a partner edits a Linked Field (here ‘Status’) in his Table View, it will directly compare its value to the Status of the client in my Lead Table (lookup field) to update it, based on the one the partner selected. I was using “edit shared view” before but it has been removed by Airtable, and I tried different options but seems the “only way”. I already have different synced tables within my main base, and I manage to organise everything between them, but he cannot work for this specific need of editable view. Because the “Status” that is to be chosen from the partner in its view is creating a duplicate in my ‘Status’ table, and thus do not update my CRM, which therefore do not stop/ launch my sequencing and is a big problem for me because it means I will/or will not send email to people who should receive/or not one. The thing is that in both table my ‘k
My extension uses a react component (monaco editor) that downloads a .js from cdn . jsdelivr . net when it is rendered. The extension was approved for Airtable marketplace in July (4 months ago) and it worked fine. But now users are getting error when extension tries to display the editor and the browser console shows: “Refused to load the script [link to .js on jsdeliver cdn removed] because it violates the following Content Security Policy directive” etc… Extension communicates with my server with no problems, so the “Allow network access” for the extension is enabled. Do I need to change the extension to no longer use that react component and resubmit to Airtable - which will probably take weeks - or is there another way? Extension is: InfoPixo Live Charts
Hi - I am trying to have a script that will take a single row with a linked record column (one which allows multiple entries), grab the data from the field, strip the commas, pivot the data (now 1 value per row), and then insert those rows into another table. For example, the source data: Source table Person Project (linked record, multiple) Bob Proj1, Proj2, Proj3 Jane Proj1, Proj3 Destination table Person Project (linked record, single) Bob Proj1 Bob Proj2 Bob Proj3 Jane Proj1 Jane Proj3 I can generally understand existing scripts but am not a dev full time and so am not sure where to start with creating new. Can anyone help?
Hi first time scripting in Airtable and its a bit difficult so any help would be appreciated. I am using a button to run an automation to create a new record in a table. I then want to set a value in this new record to a USER INPUT value. This USER INPUT would be prompted when clicking the button.
Hello, I try to fix the change made by Airtable that break all scripts with Expiring download URL. So I was building a list of Media URL for my record Switching form URL to Expiring Download But I have no results while iterating of the variable: The content seems to be blank on test record: How can I retrieve from the Script UI the correct “temporary URL” in order to be able to download it WITHOUT Sign-in ? Thanks !
Hi, can anyone help with scripting? I am loading a record from Salesforce with a number, an ID, and a quantity. I want to then (with a script) automatically create more records (depending on quantity) with each record adding a 1 to the first records number. So if the salesforce imported record had number: 000001, ID: XYZ, quantity: 5, this would be pulled into airtable and then a script would create 4 more rows as follows, then stop. 000002, XYZ 000003, XYZ 000004, XYZ 000005, XYZ Can anyone help? Thank you so much in advance if so!
So I have a situation where I simply want to calculate cost-of-goods sold. Allocation is done based on FIFO, however I could only find one reference to a script here: https://community.airtable.com/t/fifo-script-help/35234 Does anyone have a working script? Or is there a non-script way to do this that I’m just not getting it (admittedly I’m new to Airtable). I’m surprised this is not an extremely common problem–I don’t see much in the forums or other websites. Any help would be appreciated :). Many thanks :pray:
Hello, I’m hoping someone can help me figure out what’s wrong with my script. I’m new to JavaScript so I’m hoping it’s something simple. This is to track inventory first-in-first-out. I have 3 tables. First is a list of inventory received. Second is a list of inventory sold. Third is mostly lookup fields that track the current inventory levels. I have a script that works when I iterate through the array by manually updating the index. i.e. I put in “0” as the index, run the script, edit it to “1”, run the script, and it works fine. But when I try to loop it, something’s wrong. I’m doing this on the line that I’ve starred. Here it is: let salesTable = base.getTable("Sales"); let salesRecords = await salesTable.selectRecordsAsync({ sorts: [ // sort by "SKU" in ascending order {field: "SKU"}, // then by "Week (End)" in ascending order. {field: "Week (End)"}, ] }); let inventoryTable = base.getTable("Inventory Levels"); let inventoryRecords = await inve
Hi everyone, I’m trying to build rollup fields using the enterprise api endpoint listed here. But I keep getting 422 errors, even when I try to create basic fields such as auto numbers. Here’s an example of the data I’m sending var url = "https://api.airtable.com/v0/meta/bases/baseId/tables/tableId/fields" var data = { "name": `q_2-1-test`, "description": `Random desc`, "type": `rollup`, "options": { isValid: true, recordLinkFieldId: `fldhDkHwnD45oCZq6`, fieldIdInLinkedTable: `fldn0niuiFhkEuyF2`, referencedFieldIds: [] } }; I’m a little confused by the referencedFieldIds property, I’m not quite sure what should be specified here. I have used the Script Interface to see what was referenced here on an existing rollup field, but here is what I got: { isValid: true recordLinkFieldId: "fldhDkHwnD45oCZq6" fieldIdInLinkedTable: "fldn0niuiFhkEuyF2" referencedFieldIds: Array(0) result: Object type: "singleLineText" } Thanks a lot
I’d like to add multiple values into one cell. Preferably so that these values add up to one summarized value to another cell. How to do this? Example: A 17.5 meters long flag festoon is done of 4 snippets of 5 meters, 5 meters, 5 meters, 2.5 meters. These snippet values should be in one cell and add up to total length into another cell.
Hi, new scripter here in AirTable. I’m familiar with Google Apps Script, so I’m just trying to learn the minor differences here. I’m trying to run a fetch POST operation here in Airtable scripting to a 3rd party site that stores jpgs. The fetch will return the image url and a bunch of metadata. I can retrieve this info in Apps Script ok. I’m trying to do the same here in AirTable. My question before I get started is, the 3rd party company requires a callback URL from this source to allow access to their server. In Google Apps Script, it looks something like this; https://script.google.com/macros/d//usercallback What is the AirTable callback equivalent, so I can send that info the 3rd party company and get my access approved? Thanks
I have a list of companies I need to keep an eye on. Is it possible to have an updated twitter follower count daily with only the twitter link of these companies? I have been searching everywhere but I cannot seem to find an answer.
Hello Airtable community, I am new to Airtable and still learning javascript, reading trough this community has been very helpful so far. However, I can not find a solution to what seems to be an easy task. Please help. Working with 3 tables: dayTable shiftTable scheduleTable In dayTable records are automatically created based on the script and automation which I created (the user picks the week start date, then the formula calculates 7 days and finds all dates in between, and then creates a record for every day in another table = dayTable, in dayTable weekday formula is showing me what day it is In shiftTable shifts are created, some shifts are every day, and other occasional which is determined with single select field. For occasional shifts there is a multiple select with 7 options (1 for each day) In scheduleTable there is 1 record for each day+shift, (for example there are 2 everyday shifts, and in scheduleTable Moday has 2 records - Monday morning and Monday ev
I have the base https://airtable.com/shrk4QtqMfI5yJdYr with two tables: Posts and Categories; The Posts table has one column which is a link to Categories and another which is a lookup on Categories. The data is as follows: { "records": [ { "id": "rec0Wx3tdBsuBjHrV", "fields": { "Name": "Post 1", "Categories": [ "rec7PDGo7c2GP9wu2" ], "Category names": [ "Category 1" ] }, "createdTime": "2018-11-22T20:24:15.000Z" }, { "id": "rec334VYelorur9Ix", "fields": { "Name": "Post 3" }, "createdTime": "2018-11-22T20:24:15.000Z" }, { "id": "recIJhElGuUrFdvVn", "fields": { "Name": "Post 2", "Categories": [ "rec7PDGo7c2GP9wu2", "reccM
Hi! I’m James, an engineer on the API team. Today I’m sharing an update as part of our API infrastructure changes that could affect your API usage, along with some action items that might be relevant.We’ll be implementing a 16,000 character limit on the URL length of requests made to list table records using the public REST API. Once the limit is enforced, requests to this endpoint that exceed 16k characters will begin to fail.Who is impacted?From looking at past usage of our API, the vast majority of requests from users would not exceed or even come close to approaching this limit. We’ve used this data to identify and reach out directly to users who would be potentially affected, but if you currently have a workflow that involves making requests that meet this criteria, or plan to within the next few months, you will need to migrate to one of the suggested alternatives.What do I need to do?If your workflow involves making these requests using Airtable.js, we have already made the chan
Perhaps I’m missing something, but for whatever reason I cannot get a list of bases available to me using the latest OAuth API integration. I have “shared” a couple of bases that I want to be available via the API, but I get nothing but an empty array when querying the List Bases metadata endpoint. curl "https://api.airtable.com/v0/meta/bases" -H "Authorization: Bearer <access_token_from_oAuth_response" {"bases":[]} I have confirmed that my access_token is indeed good does return my user ID and scopes allowed via the token. curl "https://api.airtable.com/v0/meta/whoami" -H "Authorization: Bearer <access_token_from_oauth_response>" {"id":"<my_user_id>","scopes":["data.records:read","schema.bases:read"]} I presume that I haven’t “shared” the base in the way the API expects, but I have not found where I might do that. Ian
Hey there, I have a script which: Takes the Qty of a product and creates rows in another table based on this qty. At the same time it maps 2 x Linked Record fields and sets the row ‘Status-’ to a pre-defined value. The script is running wonderfully until the ‘Qty’ of a product starts to increase - for example I received the ‘Script exceeded execution time limit for 30 seconds’ error based on a qty of 380. I’m a little confused at why this is occurring and wondering if anyone has any suggestions on the script posted below? Thanks in advance. let inputConfig = input.config() let originalLineItem = inputConfig.originalLineItem let originalProject = inputConfig.originalProject let quantity= inputConfig.quantity let tableToUpdate = base.getTable('Inventory Ledger') let updates = new Array for (let i = 0; i < quantity; i++){ updates.push({ "fields": { "Stock! Linked": [{id:originalLineItem[0]}], "Allocated to (remember late is best)": [{id:origina
Hello, This topic has been discussed many times among all the Airtable experts but it has remained similar since it was started. Airtable provides many features in UI or using Interfaces but when you talk about making integration with other tools or using some programming language it still lacks features and also limits in accessing data via API. We can understand that Airtable want to control everything(every request) and they need to make sure that security is not broken by using API and developer options. But I think they give at least some built-in options so developers can use it. For example: If I’ve to access more than 10k records in my custom build CRM/Software, I’ve to make 100 requests with their specific rate limit to fetch that data. If I need to filter some data directly it’s still really slow. I can able to access the base schema or update any basic fields( Manage select field via API is super useful). There are lots of things.
Hello, Is there a chance reading & creating comments would be added to the API? Would be really useful in the integration I’m working on.
The REST call from Appgyver for a new record fails, because the call has a ‘null’ for a linked record. Appgyver won’t remove the field just because its blank, so a null is sent - and Airtable breaks on it.
I have 2 tables. One called Booked jobs and one called Planning I have a form from which a user can add one record at a time to the Booked jobs table. Each booked job could be a service from a list of 3 services: Origin, Destination or Both. For the Origin service there is a Start Date and an End Date. For the Destination service there is a Start Date and an End Date. For the Both service there is a Start Date Origin, End Date Origin, Start Date Destination and End Date Destination. For each date in one of the ranges mentioned above a new record would need to be created in the Planning table with the respective date and some other details from the Booked job. What I have until now is the following: let table = base.getTable('Booked jobs'); let query = await table.selectRecordsAsync(); let destination = base.getTable('Planning'); let prev = input.config(); let typeService = prev.typeService; let startOS = prev.StartOS; let endOS = prev.EndOS; let startDS = prev.StartDS; let endDS = pr
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.