Need development and API help? Ask your questions here!
Recently active
I have my .env file with my variables, its in my src folder, I have my YOUR_ID_HERE, YOUR_BASE_ID and that in it. BUT, when I use “process.env.MY_VAR_HERE”, it gives me a a error: “Airtable requires a api key” … I already generated one, I know its the dotenv file, because when I switch the vars in the field for the raw api code… it works. so its the dotenv file that’s not loading.
Hello, I would like to run the script every time the user enroll to my app. How can I access the current user in the script?
I am using integromat and airtable update record module. If my data coming in date fields are empty its failing to pass into Airtable. This used to work and it just would negate the date fields since there was no data but now getting invalid date field. I tried using ifempty formula but that does not work either. Any suggestions here? The rest of the fields if I have them mapped and no data is there , it just treats them as if they were not mapped. Not sure what is going on with the date fields.
I’m using Zapier with Airtable and a New Record in Airtable trigger. The new record has an email address like d12345@… Then I have a Find Record in Airtable action. There is a record with the email D12345@… - with a capital D. The Find Record action doesn’t find anything. Is there any way to make this work so that the Find Record action will match on similar strings like this?
Hi everyone, we are interested to use Airtable as a database for video classes that we produce. Is there an already built app or script that can generate unique filenames using fields in a table? Our reasoning is we want to fill out a form that once submitted will generate a file name, we will rename the file accordingly and keep it in our database. Then at a later time we can search with the appropriate criteria and get a list of filenames that we can easily search on our local drive. Please let me know if something like this exists. Thank you for your help
Hi I would like to be able to create multiple linked records in one “run”. I do a lot of videos for lectures and have a base has with a “productions” table and a “projects” table. I want to be able to add a button in the “projects” table that runs a script the script should ask me how many new records to create in the “productions” table. and then create the records linked to the project This would help me when 1 projects has 30 productions. And because a higher demand for remote learning I get many request for many videoes - so time saved on place it time used in another:) Thanks!
I didn’t see this discussed but it seems like something that would be extremely valuable. Is there a way to run a script upon leaving a field or when a field value changes?
Why my files on google drive come with an extension (jpg)? I don’t want to see these in my files. when they transferred to airtable using integromat they come with also. it’s a big issue in matching these names. how to avoid this issue guys?
I am trying to add decimals with 5 or more decimal places. i used the currency field but i cannot add the data via api. the value here is “gains”=>“0.00072333333333363115” i get error Airrecord::Error (HTTP 422: INVALID_VALUE_FOR_COLUMN: Field “gains” cannot accept the provided value)
Hi! I couldn’t find any informations about extending the existing Metadata API in a way, so there would be a possibility to update the structure of the bases, fields and so on through the metadata API. Let me describe myself better, what I mean by that. I had an occasion to work with Salesforce for some time. This is also a low-code platform, where instead of writing code whenever there is a repetetive task, you can do that by draging or clicking. Everyone knows the benefits of low-code platform, so I won’t be talking about that here. When using low-code tools like Airtable or Salesforce, everything is wonderful in developing stage, we can do that much faster, we have ready made API we can connect to other tools really fast, but when we finally go live with the MVP of the product and we have real users who uses the application we made, we would rather perform future developing and testing on some dev/test environments. Of course we can do that, but current way is just bad. When we fina
I want to create an API end point to delete records based on a user_id (or any field other than the records’ id). In other words, the equivalent of SQL DELETE FROM {table} WHERE user_id = {x}. Airtable’s built-in API only allows to delete records based on their ID, not on any other field. Is this possible?
I’m hoping to get the first 9 characters of a record into another field. Id normally just make the field into a formula and use Left({product},9) but the rest of the automation wont run on the formula field. Please help.
I have a code that looks like this: await createPackage(oderSummary); async function createPackage(oderSummary) { let pickPosition = true; let lineItemsArr = []; const r = Object.keys(oderSummary[0]).map((v) => ({ [v]: oderSummary.map((c) => c[v]), })); let tableItem = [...r[2]["Pozycja"]]; while (pickPosition == true) { let pickItem = await input.buttonsAsync( "Pick order to pass", tableItem.map(String) ); let filteredOrders = oderSummary.filter( (item) => item.Pozycja !== Number(pickItem) ); let difference = oderSummary.filter((x) => !filteredOrders.includes(x)); tableItem = tableItem.filter((v) => String(v) !== pickItem); lineItemsArr.push(difference[0]); oderSummary = filteredOrders; if (pozycjaTabeli.length) { let shouldContinue = await input.buttonsAsync("Dodac Nastepna?", [ { label: "Yes", value: "Yes" }, { label: "Cancel", value: "Cancel", variant: "danger" }, ]);
I use the following request to get list of records by view. In this view, records are sorted by id DESC. But the API returned list of records, which are sorted by id ASC https://api.airtable.com/v0/mybasekey/mytable?api_key=my_key&view=my_view This problem just happened in today. Please help me to resolve this problem.
Hello, I’m trying to do an automation for a project of mine where it takes two images, overlays one over the other, and then saves the result to a new field. I have tried to use OffscreenCanvas as well as a simple Image object. However, I get a cannot find name error for both. I am aware of the limitation on the DOM API, but both of the APIs are not a part of the DOM API. Any ideas why I get this error? Or maybe an idea for a different solution?
So let’s say I have two tables, (1) People and (2) Companies. I’ve created a form view in the People table, which has the following fields {First Name}, {Last Name}, and {Company}. What I’d like to have happen is that when a user fills out this form, the {Company} value is not only created in the People table, but also in the Companies table as linked record so that this person and the company in the Companies table are a linked record. I would use Zapier for this, but I don’t know how to configure the Zap to get them to be linked as opposed to just creating an isolated record in the Companies table. Any help would be much appreciated. Thanks a ton.
Hello! I am trying to sync prices and stocks for several products between Google Sheets (source) and Airtable (destination). Thanks to other posts’ answers in this community I could make a script that updates products one by one. But I would like to reduce the number of requests by adding 10 products at a time on a single request. I tried several things but I cannot make it work. I guess it’s related to the way the script parses the data. Here is a simplified version of the script covering only 10 products: function bulkSendData() { const url = "https://api.airtable.com/v0/XXX/"; const dataSheet = SpreadsheetApp.getActive().getSheetByName("XXXSheetName"); var productsData = []; //Step 1 get the data on Google Sheets for (r=2; r<11; r++) { var singleRecord = { "id": dataSheet.getRange(r,1).getValue(), "fields": { "Cost": parseInt(dataSheet.getRange(r,2).getValue()), "Stock": parseInt(dataSheet.getRange(r,3).getValue()) } } pro
This is the command that I ran to access the app and get it running on my computer- block init appiRmFlQxTjGB2Un/blksvlnJt2mRtaQ4V --template=https://github.com/Airtable/apps-summary proportion After I entered the API key, it shows the following error- API key saved to /Users/shahzinakhan/.config/.airtableblocksrc.json. To update it, use ‘block set-api-key’ Initializing block using GitHub - Airtable/apps-summary: Summarize numerical data as averages, ranges, and more. template Error: :x: EACCES: permission denied, mkdir ‘proportion’ How do I set the appropriate permissions to get this running? Thank you.
Hi, I’ve been working on a Next.js app with Airtable. I’m trying to retrieve a single record by specifying the field (not reocrd ID provided by Airtabe). I refered to the document below, but it only mentions the way of doing it by the record ID. Airtable Airtable | Everyone's app platform Airtable is a low-code platform for building collaborative apps. Customize your workflow, collaborate, and achieve ambitious outcomes. Get started for free. The code below is working fine, but I’d like to get a record by the specified column (eg. where “user_id” = 987813 ). //export const getServerSideProps = async (context) => { export async function getServerSideProps(context) { let todos = await table.find('rec1PDbe0ww22feo3'); return { props: { initialTodos: getMinifiedRecord(todos), }, }; } Thanks,
For those of you that develop application using Airtable, how do you manage dev vs prod? My application as a UI to display data from my application. Thus it is essential that I separate data uploaded during development vs production. Currently, I copied a base, named it as “Dev”, and store the base key in my dev settings. However, I need to manually update my dev table whenever my users make structural changes to our prod table (such as adding or removing a column). Has anyone figured out a way to deal with this?
Hi I have essentially copied the tutorial here as I didn’t need anything too far from this solution Adding it all up | Airscript I have got it working and I would like to put it into an email automation. The script works and it aggregates on the values I need; it produces an array with 2 objects with key value pairs in it. This seems to meet the requirements for an output.table; however when trying to use the output function, it appears that only output.set is available. Is this the only option when using scripts for emails? It would save me time if I could just have it output a table. Am I missing something or is this a limitation when using scripts for emails?
I’m trying to implement a simple Java implementation using the Airtable API. I only need to update a cell in a table. Unfortunately, I’m having hard time getting this to work properly and I have been unable to find any help across the web other than the AIrtable github for the API that was last updated 3 years ago. Does any one know of some sample code or tutorials that show a simple implementation of the Java API? Any help would be greatly appreciated!
I need to write a script that queries one of the tables in a base (a list of credentials as a junction table that brings together names and credentials against a certain date), then looks for missing records (of credentials) against another table and outputs a list of those who are missing credentials. I’m completely new at scripting and have just started to learn a bit of JS to try and get started. Please let me know what info you need from me and I’ll try and provide it. Many thanks in advance.
I noticed useSession can return null/undefined when running an app in a base in the Airtable universe. This can cause fatal bugs when code relies on it not being null. It might be worth making a note of this on the docs Airtable Blocks SDK and making the TypeScript type nullable.
Hi there, I’m wanting to create a short workflow and I’m wondering if a Script is the way to achieve it. I’m using Airtable for website orders and would like an automation where in one click two things happens: The field “Status” is changed to “Processed” for all items in the particular view A CSV immediately downloads all items in that view. Is this possible with a Script? Many thanks! Blake
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.