Need development and API help? Ask your questions here!
Recently active
Hello all, I am working on creating a product database for my company. Ideally I would want to be able to select what product I am looking for, and then airtable show me the most similar option based on about 11 different attributes. There is a decent amount of data for airtable to sort through, as there are about 220 records (and still adding more), each one having at least one (typically two or more) attribute(s) each from the 11 different attributes types using multiple select fields. I am wondering if there might be a solution (either with scripting or automation) to this problem. Any help is most appreciated! If anyone would like to see more in depth what I am talking about, in regards to the data level of my table, I’ll provide one of my public access links below. I do work for a cannabis company and we are in a legal recreational use state within the US, so everything is fully legal as far as the state is concerned. Airtable Demonstration Table - Airtable
Hello All, Im trying to utilize the ‘Create Records for Multiple Templates’ script but running into trouble on modifying the script (or maybe there is a better script to use?). Essentially, I got the basic script “out of the box” working. Projects holds the project list with project type, and target end date Tasks holds the tasks for all projects should be compatible with Gantt view links to project in projects table Templates holds the templates for each project type However when creating a project, there is 2 major problems: no proper dependency, instead this script block just uses “Task Order” no link to date fields So basically im asking, how can I: Use a dependency field in the Template Table to carry over to the Tasks Table. NOTE: The Template table tasks are named by task, ie Task 1, Task 2. However the Tasks table tasks are named by Project - Task, i.e. Batman - Task 1. So when populating a self-linked table field in the Tasks table, it needs to convert the dependency (te
So if I do a formula like this in AirTable: phone=‘+61 432 777 028’ it can figure out the + and even the space - but it gets more complicated when trying to filter by formula through API… now I’m sure i’m missing something but here is the proof… in video form! Tldr: spaces are not working in AirTable filter formula through API Minor issue but just thought I’d point it out
Can anyone provide me with the formula to filter the records based on the assignee mail. As assignee is kind of a compound filed I am unable to find a way to extract the mail and pass it in the filter by formula method. Thanks in advance
Hi everyone! I have altered the example script a bit to update the ‘£ Rate’ field on all records in my ‘Cash Input’ table. I want the script to update the ‘£ Rate’ field only in new records that do not already have a value in the ‘£ Rate’ field. How can I do that? What changes does my code need? I use this code: let table = base.getTable('Cash Input'); // Fetch conversion rate from API - you could change this to any API you want let apiResponse = await fetch('ttps://api.exchangeratesapi.io/latest?base=EUR'); let data = await apiResponse.json(); let conversionRate = data.rates.GBP; output.text(`Conversion rate: ${conversionRate}`); // Update all the records let result = await table.selectRecordsAsync(); for (let record of result.records) { await table.updateRecordAsync(record, { // Change these names to fields in your base '£ Rate':conversionRate, }); }
Source code for scripting blocks seems to be interpreted as function code. For example, the following input executes successfully (writing the string "first" to the output container): output.text('first'); return; output.text('second'); Using return at the apparent top-level of a script can be useful for control flow in shorter scripts since it allows developers to exit early without throwing an error or wrapping their code in an immediately-invoked function expression. On the other hand, the behavior is undocumented, and the scripting block’s editor flags it as a syntax error (“A ‘return’ statement can only be used within a function body.”). That makes it unclear whether developers should rely on it. It would be great if the developer documentation for the Scripting Block said something about whether authors can rely on this (and if so, the editor updated accordingly).
Hello! :wave: I have been trying to figure this out for a couple of weeks now, but finally diving into custom scripts. I am trying to set up an Automation in my Airtable Workspace where: https://i.imgur.com/7YzO6yB.png Button is pushed > Import data from .csv or Google sheets. Is there a script that will import when I push that button? It doesn’t have to be this way exactly, it can be an import every couple hours as well. The goal is to just take data from a google sheet that is updated by 50+ people and just automatically import it that data to my airtable a couple of times a day. I have tried visual Scripting sites like zapier, make.com, Integromat, couplier.io, sheetgo, chrome extensions, etc. Thank you!
Hello all, We are currently testing the usage of a wiki app to produce nice and up to date functionnal specification in our project. This wiki would be even more relevent if it can consume data coming from our Airtable databases. We test confluance as wiki solution. We currently use an airtable database for our project glossary. I am trying to display within a confluence page an airtable record corresponding to a glossary definition. The record ID corresponds to a word and I would like to display only a field of this record which is the glossary definition of the related word. I don’t want to use a view to do so. Could someone help on this use case ? Best regards Arthur Viret
Hi Airtable Community! I am creating a project management system, complete with Gantt charts and project templates. In summary, here is what this script is doing: Allow user to select the campaign (webinar, whitepaper, etc) Filter the template table by the selected campaign, which reveals matching tasks to be done. Duplicate the subtasks matching that campaign into the live task tracking table I have 90% of the script working, but I am stuck on TWO things: Setting the date offset from “Launch Date” rather than “today’s date” (see comments) Creating a record with multiple record links (linked from the same table as dependencies) creating a record from a template where that record template has multiple linked records. It might help to know that I do not have a strong background in javascript, but I am familiar with other languages. Here is the code below that was made possible by this webinar (thank you!): ///function to add days using Date Offset in Templates from "Launch Date" in C
Good afternoon! I’ve seen something like this get asked a couple of times, but usually there’s no answer or just a recommendation to check documentation or something to that effect. I am an absolute JS neophyte, but I’m reasonably computer-literate. My goal is this: A button-activated script that: Duplicates the selected record Copies the contents of the “End Date Minus 7” field of the ORIGINAL record into the “Start Date field” of the NEW record Copies the contents of the “End Date Minus 7” field of the ORIGINAL record into the “End Date” field of the ORIGINAL record. Essentially it takes a 15-day shift and splits it into two 8-day shifts that overlap by a day. It’s a little loopy, but the maneuvers seem like they should be simple enough. How would I approach this?
HEy All I’m trying to create a CURL API request that Searches for records that are {WEEK} = “24” AND{PAGE} contains “22”. My PAGE field is a look up so it might have more than one page number in it. If PAGE has one one record in it I can use filterByFormula=AND(%7BWEEK%7D%3D%2224%22%2C%7BPAGE%7D%3D%2222%22) I think I need to use SEARCH or FIND but I cant work out the syntax. Thanks in aadvance
Hi, I’m struggling with the Airtable API, I’d like to download the content of one table, all 3k+ records and save them as a csv file using python (I can’t code JS). My issue is that while trying to connect to Airtable Base and trying to get the first 100 records, I get blocked by a user authentication challenge page and get returned a 403 response saying. Our systems have detected unusual traffic from your computer network. Please help us with a quick security check to validate it’s you sending this request. This may be happening because: Javascript is disabled or blocked by an extension (ad blockers for example) Your browser does not support cookies Please check your settings to ensure Javascript and cookies are enabled that are not from loading in your browser. It’s actually referring to this user authentication page: Airtable User Authentication Challenge Page | Airtable Support Here’s my code: import requests import pandas as pd # Environment Variables AIRTABLE_BASE_ID = "appxxxx.
Hello everyone, I have a table Company and a table Benefits. Company has many Benefits. When I get the list of linked records (Benefits) from a Company record (trigger by update), it gives me an array of the linked records but with its name. I would like to get the array but with ids instead. I use the input variables interface to get the fields Benefits (relation) in my Company record. There is a way to get this array of benefits by id within the interface or do I need to code in the script (beginner in scripting) ? Thank you so much for your help!
First, I want to say I am new to JavaScript so I could be doing something obviously wrong. I have a table that has user emails, and then linked fields to each “assignment” they submit. That is connected with an automation, when they submit a form, it links the record. Now, I am trying to assign points to each user, with each assignment having a different point value. let table = base.getTable("Assignment Tracker"); let query = await table.selectRecordsAsync(); for(let i = 0; i < query.records.length-1; i++){ let cohort = query.records[i].getCellValueAsString('Cohort (from Students)'); let email = query.records[i].getCellValue("Student Username (Email)"); let points = 0; // I have more activities than this, just putting it here so you can see how each is structured. if(query.records[i].getCellValue("(1) Cold Intro Call")) points = points + 15; if(query.records[i].getCellValue("(1) Free to Paid")) points = points + 3; console.log(email + " " + points
I’m fetching XML data text() but am running into a dead end when trying to find a way to parse the data. I tried using domparser and a few different functions I found on StackOverflow but most seem to require a non-native library. Does anyone have any suggestions on either how to parse XML in vanilla javascript or how to convert XML into JSON? For reference when using let parser = new DOMParser(); I get “ReferenceError: DOMParser is not defined”
I operate a booking system in Airtable and I have to generate months of recurring dates/times (one per record) in advance. Click, hold, dragging date sequences is very helpful in this regard (see: Quickly filling cells using fill handle – Airtable Support) However, I’m left wanting more. I’d like to create a script or automation to generate the recurring dates/records for me. As an example, let’s say I was teaching a yoga class every Mon, Tue, Thurs, and Sat at 1 pm and 4 pm. Instead of having to continually check my dates, then drag out hundreds of dates/records manually, I’d like to write a script or automation that would do it for me, thereby ensuring that the timeslots/records for the said class were always created several months in advance. Has anyone solved a similar problem to this one? Does anyone have any thoughts as to how I should approach a solution? I could imagine an Airtable app that had similar options to the “create recurring event” modal used by google calendars.
Hello! I am new to scripting. I am trying to replicate the action that is being performed on the variable below: “ :writing_hand: CREATE: Product Input”: [{id:${inputConfig.productInputName[i]}}], for: “ :writing_hand: ADD: Input Qty (Mass per Unit)”: [{id:${inputConfig.InputQty[i]}}] But failing, I believe because InputQty is a string of numbers (but formatted as a string) and the receiving field is a number field. What is the best way to convert from string to number?
I am sure this has been asked before, I have searched high and low, and have found no solution to do the following, even with Zapier. I have a .csv file that I want to import direct to Airtable. The .csv was created programatically (in Node.js), and exists on a Google Cloud VM (Red Hat Linux). There is nothing in the AirTable API that allows for direct insertion of a full CSV as a new tab in an existing base. I want to name the tab in the existing base the same name as the CSV file, without the .csv extension. If anyone has actually done this successfully, and smoothly, please respond. The only articles I can find on how to import a CSV to AirTable involve a human being and clicking in the browser.
I am building out a road trip planner and would like to calculate the distance between two inputted addresses in: Driving Miles Driving Hours I plan to set up a Button Field connected to this script, so every time I add a new stop along the route, I can manually run the script to determine driving distance and time (recorded in 2 separate fields) between the new stop and the previous one. There are a number of examples using the Script Editor in Google Spreadsheets alongside the Google Maps API: *Using the Google Maps Distance Matrix API *Using Script Editor *Sample Thank you!!
Hi, When trying to call the Airtable API using python in either vs code or straight from my browser using google colab, I get stuck on the user auth challenge page. I use the request library in python to do a simple get request, see my code below. Am I missing something? I can’t write JS which is why I chose to use python instead, my goal is simply to download the table content to then upload it in another tool to have a proper BI dashboard. I also tried using Postman and got the same 403 result. import requests import pandas as pd AIRTABLE_BASE_ID = "appxxxxx..." AIRTABLE_TABLE_ID = "tblxxxxx..." AIRTABLE_VIEW_ID = "viwxxxxx..." AIRTABLE_API_KEY = "keyxxxxx..." endpoint = f"https://airtable.com/{AIRTABLE_BASE_ID}/{AIRTABLE_TABLE_ID}" headers = {"Authorization": "Bearer " + AIRTABLE_API_KEY} r = requests.get(endpoint, headers=headers) Response code: 403 text (partial): Our systems have detected unusual traffic from your computer network. Please help us with a quick security ch
I am connected the API of Airtable to Power BI but at the time of displaying the data it only shows me 100 records when the base has more than 1000 records.
I have a table with Rating field which can have value up to 7. With current API I can get value for each record, but I can’t get metadata for that field, to know possible max value. Is it possible at all?
Send Airtable email address to a newsletter platform so that it is added as a subscriber. Click Automations and add this script after “When record is created” step. The script calls a Webhook which adds the email. Optionally sends a welcome email, if configured. PS Most email platforms have a similar Webhook, just replace with the platform of your choice. let inputConfig = input.config(); var email = `${inputConfig.email}`; var name = `${inputConfig.name}`; var list = `${inputConfig.list}`; var apikey= 'insert-sensorpro-webhook-apikey'; var apicall = { "AddToList": [""], Contact: [ { "FirstName": "", "LastName": "", "PersonalEMail": "" } ], "UpdateByKey": "email", "SendWelcomeEmail": false, "SignupFormId":"00000000-0000-0000-0000-000000000000" }; apicall.Contact[0].Perso
Hello, Can I somehow export data to csv file using Scripting block? I need to generate a pretty complex csv file (with more than 100 columns) with a predefined column order, values by default and specific formatting. That is why I do not see feasible using standard “Download CSV” functionality.
I would like to know whether it is possible to get the value of a Record Function when posting a request. I get that you can use these record functions such as RECORD_ID() or LAST_MODIFIED_TIME() in a filter formula to perhaps do something like this: ‘RECORD_ID() = “recXXXXX”’. Is there a way to get the value of RECORD_ID() or LAST_MODIFIED_TIME() to be returned?. I would also like to avoid having to add a LastModifiedTime field to my records and do this purely through the API.
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.