Need development and API help? Ask your questions here!
Recently active
Hi, AirTablers (yup, It’s now a verb) ! I’m trying to build a clean two-way sync between AirTable and GoogleCalendar. My choice is Integromat because : (1) full two-way CRUD functionality out of the box (2) first useful paid plan much cheaper than Zapier for my use case. I have good coding background, but I’m still new to those codeless integration tools, and I was wondering if someone could help me build Integromat scenarios for my use case ? I have read this and that, but nothing really helpful. My logic so far is to use two scenarios : Watch GCal => C/R/U/D in AirTable (using URL of GCal event as a field in AirTable) Watch AirTable => C/R/U/D in GCal (using AirTable record ID as description of GCal event) My main concern is to avoid infinite loops, and to make sure my scenarios are as simple as possible (you should see the weird lines of Node.js I write sometimes…). Any input would be highly appreciated !
Hey all, I have a button that “Runs script”. I want the script to type "(a word)" into {FieldX}, obviously in the same record as the button that was pressed Thank you!
Is there a way to get user input from a dropdown list? I would like this list populated from the values in a single select field. Lee
Hello, I’m new to Airtable and I’m trying to build a React Next.js app with Airtable as an api. here is the relevant code in pages/index.js export async function getStaticProps() { var Airtable = require('airtable'); var base = new Airtable({ apiKey:process.env.API_KEY }).base(process.env.BASE_ID); const table = base(proces.env.TABLE_NAME); my .env: API_KEY=xxxxxxxxxxxx BASE_ID=appDAc9CXCfSiBuV8 TABLE_NAME=Content even when I’m running the app locally, I am getting error 401 that the airtable API key is invalid. If I print the process.env.API_KEY it is totally fine so the .env does work. When I copy the same key and paste it into the code, everything works fine!! It seems like Airtable has a strange problem, maybe with next js or something because I can’t get this to work in any way. I really need to deploy my app and can’t do that without hiding the key in .env/next.config.js…can anyone help on the matter? deployment error pic Thanks!
Hey Airtable team, I noticed that topics started closing automatically after 3 days, with no way of replying and contributing to the discussion. Specifically to the custom blocks topic where new things are learned and created on a daily basis (but in my opinion relevant to all categories), I think that this puts some breaks on the sharing of knowledge in the community and on it’s growth. Just my 2 cents. Best, Ronen
Hi all, I’m trying to develop a method to work with a given table with a various views. I have a table named “Send Pitch”. Under this table, I have multiple views. Each view tied to a different client. Each client has its campaigns with multiple names. Each campaign has its own “Pitch” or “Follow up” that needs to be sent to a potential lead. I want to create a method to show on a given column the full template of this pitch with personalization. I tried so many ways to build a flow for this problem, but I couldn’t find the right way to do that. Here’s an example of a view: Airtable Grid view - Airtable Explore the "Grid" view on Airtable. I need to work with these fields: Campaign name First Name User Name Fup Text Basically, I thought of this metric: Extract the fup number from ‘Campaign Name’ column Finding the relevant Pitch for the ‘fup’ code Assign it to a column Modify ‘First.Name’ and ‘User.Name’ I’ve tried to use a sequence
I’m not sure to understand what’s happening. I’m pushing files as attachments and receive the response as expected. For example, I get the following for the file I uploaded: { "id": "attIuYUqNG4YvfUvz", "url": "https://<...>/doc.jpg", "filename": "doc.jpg" } But then when I look at the history, Any tip on why this may be happening? :thinking:
Hello all, I am using AirTable as the data store for a MVP version of a mobile app built with React Native, and as the content creation / management application. So far, I am using the fetch API, and REST calls for CRUD operations on the data. I did this in order to get going fast, but am not handling things like: HTTP Status 429 rate limiting and retry. Deletes of more than 10 records at a time being “batched” The Javascript client documentation sats it handles some of these things, and runs in Browsers and NodeJS. I cannot find any mention of React Native in the documentation or support in formation. I’ve looked at the Typescript code in Github, and everything appears ready to be deployed inside a React Native application, but … I don’t KNOW it works. Has anyone actually used the AirTable API client in a React Native application that is using Expo? Tested it on iPhones and Android devices? We are moving very fast, and I don’t want to waste time with the Client if it doesn’t work w
Has anyone else experienced this? I have a JSON object I am trying to fetch from Google Scripts Web App. It works great in the Block Script editor, but when I try to use the same code in the Automation block I receive this error: TypeError: Response status was 302 ‘Moved Temporarily’ but redirect mode was set to ‘error’ This error is referring to the Google Script URL.
Hi all, Is there a way I could pass markdown - result of script run to automations? Like in the example here where the output table could be send in an email?
I have a column with text that I send out as tweets. Sometimes this column has more then 256 characters and cannot post to Twitter. In those situations, I’m hoping to split the column into two so that I can send out two separate tweets. I was using SPLIT(text) however that splits based on character count and sometimes it breaks the words in half. I’m hoping to split the text without breaking the words. Unsure how to use it with Airtable Scripting block. Can anyone help me use this within Airtable?
I have a Google Spreadsheet that has 75,000 cells in it. I have created automation using Zapier to create, read, update rows on sheets. Sometimes, I get the “Read operation timed out” error by Google Sheet on Zapier. I got suggestions like Airtable is better than Google Sheet to handle large databases. I have been using Airtable for other projects, but not sure if it’s any good to handle large databases. So my question is, what’s the total cells/rows limit that Airtable can handle in integration with Zapier?
Has anyone managed to able to give any hints on how to write a script to display a table contents as a table, along with images? Is there any way to include a a button or another interactive element to allow users to pick a certain record from the output-generated list, and process the record the user has picked further in the record, i.e. to create an entry on another linked table ? As a workaround, i added a button which calls a script that does links the record to a linked table, into a view that i am displaying with the list records app - but when hitting this button, it first opens the record in an expanded view, from where i have to hit the button again, then it triggers the scripting module, hence closing the List-View App, and doesn’t return to the it any more. Meaning that the user has 3 windows popping up, clicks the button twice and ends up somewhere else than he/she has started. Running the whole operation (displaying the table plus triggering the interaction) from the sam
Does anyone know how to include a script that includes moving records with formulas and drop-down options to another record from this, I’m stuck and it keeps giving me this error message: ERROR P: Can’t create records: invalid cell value for field ‘Answer Option Type’. Could not find a choice with that ID or name at main on line 6 This is the script: let table1 = base.getTable(“Table1”); let table2 = base.getTable(“Table2”); let result = await table1.selectRecordsAsync(); for (let record of result.records) { if (record.getCellValue("Move to Table2")) { await table2.createRecordsAsync([ { fields: { 'Question Text': record.getCellValue("Question Text"), 'Sector': record.getCellValue("Sector"), 'Logic - Parent Question' : record.getCellValue("Logic - Parent Question"), 'Answer Option Type': record.getCellValue("Answer Option Type"), }, } ]); await tabl
I’d like to retrieve types of columns in a table and their metadata, e.g. type, select options and colours. Is there an API for this?
I’ve got a base I use to track my clients and the coaching sessions I have with them. Two tables: Clients and Sessions. The Sessions table has a link to the Clients table to display the client name. The Clients table has various data about the clients themselves including a checkbox field called Paid that tracks whether this client is a Paid or Pro Bono client. (The status of the checkbox could change over time. For example, a pro bono could become a paid client at some future point.) The Sessions table has data about the date, length of the session, etc. including whether it was a paid or pro bono session. Here’s what I’d like to do: When I create a new record into the Sessions table, I want Airtable to check the Paid field in the Sessions table if that client has a check in the Paid field of their record in the Clients table. I have two input variables: recordId which is the ID of the newly created record, and client which is the ID of the client in the newly created session record.
I’m working on a project that uses multiple bases that all have one table that is identical. I’d like to loop over all of the bases and output the content. I’m missing something for getting this working without creating nested arrays within arrays. I use this to get the contents currently: const records = await airtable .base("appBaseId01")("Case Overview Information") .select() .firstPage(); const details = records.map((detail) => { return { city: detail.get("City") || null, name: detail.get("Name") || null, state: detail.get("State") || null, }; }); return { props: { details, }, }; Does anyone have a recommendation for querying for all of the bases in an array like ["appBaseId01", "appBaseId02", "appBaseId03"] and outputting a single array of objects with the contents of each?
Hello, Is there such thing as a fetch put? I am needing to do a put on an external api with the airtable scripting app. I was wondering what the best way to do it is? The external api is expecting a put method. I have successful used fetch for get and post but can’t seem to figure out the put. Thanks in advance!
Over the weekend I was helping a non-profit that’s organizing food deliveries from restaurants to hospitals as part of their COVID response efforts. They have a table of Orders. An order specifies the restaurant providing the food, the hospital receiving the food, a start and end date, and the days of the week to repeat the order: We wrote a script that goes through these recurring orders and creates a delivery record for each day that the order should repeat: Here’s the script: const ordersTable = base.getTable('Recurring orders'); const deliveriesTable = base.getTable('Deliveries'); const orders = await ordersTable.selectRecordsAsync(); const dayOfWeekToNumber = { Sun: 0, Mon: 1, Tue: 2, Wed: 3, Thu: 4, Fri: 5, Sat: 6, }; for (const order of orders.records) { if (order.getCellValue('Deliveries')) { // Skip it, the deliveries were already created. continue; } const name = order.name; const startDateString = order.getCel
Hello everybody! I’m not familiar with javascript and less with data types… I’m trying to accomplish the following: When a record is created. Check a value of a linked field. (Marked red in the picture) If it’s value is “Vinos” then trigger a webhook. How would you do it? I can get the record id, trigger the webhook, but I’m not able of checking the value of the field. I know it should be very easy Thanks so much!!
Hello, I am using the input.textAsync() to ask the user to choose a supplier. When I run the script, the input field pops up fine but the input field is disabled. Also, the next button is missing as well. I do have the input in an if statement after I iterate an array to generate the string listing the suppliers. Not sure if that could be the issue. When I use the input.textAsync() at the top of the script without any nesting, it works fine. Anything I can do to fix this? I am using the Chrome browser
Hey I’m trying to update a few fields on a record. Same process each time. So I have a for loop that goes through an array with a combo of the field I want to update and the values to put in. A basic version looks like this: Array = [{“Field”:“field 1”, “value 1”: “something”}, {“Field”:“field 2”, “value 1”: “something”}] For item in array do: Some processing Table.updateRecordAsync(RecordID, {"${variable string with field name}": another variable value}) However I can’t get the field "${variable string with field name}" to take a variable no matter how I set it up. I have tried every combo of ’ " { [ around the variable. And tried constructing the variable separate as a full string to put in but to no avail. Is it possible to use a variable in the field? How could I do this? Many thanks.
Hello Everybody, I have created a scripted code that populates episodic shows from season level. so I have Show Title, Season, Eps count, Start Date, Pattern Release per Week So this script gives me each date for each episode depending on the pattern release /Eps count and start date. The Scripting app works perfectly except that it keeps freezes at some point Like I have 2000 Eps to create, sometimes, it stops at Episode 560, other times it stopped at 916 and it always stops at the same count of episodes, I tried to make sure that everything is in a text mode, no special characters and no odd thing in the lines still, stop at the same point. 1- Can you please help me figure this out, Why does it stop at all? 2- Can anyone help me in modifying the code, If anything Changes in the fields that are included in the script like " Release Date", “EPS”, “Origin”, Windowing", it modifies only on these fields, keeping the same record, not to create a new record with the updated ones. let impor
Hello, I’m trying to create a filterByFormula that finds a certain value in an array. Here is an example. I have this array: Using filterByFormula I want to get the values that have exactly the word Azure. So in this case it should get only the first Azure, not Azure Cloud. I tried to use FIND OR SEARCH but this 2 return both these values. Some kind of workaround I found doing the formula like this: AND(OR(FIND('Azure,', ARRAYJOIN(Skills,',')))) So I’m converting the array into a string and then search for Azure,. Yes, that is a comma :slightly_smiling_face: This way I’m able to select the Azure value. But as you can see in the example above I also have Python and [emptyspace] Python (the brown one). If I use the above method I only get the first Python even thought I should get the second one too. This one is weird. I’m not sure why this is happening to be honest. Is there a function to find a specific value in the array ? Not using SEARCH or FIND? Thanks
I’m not sure what I’m doing with remoteFetchAsync, but when I make the same API call in Postman I get a response with the list of warehouses. When I do it in Airtable I just get a status. What can I do to get the response back?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.