Need development and API help? Ask your questions here!
Recently active
Hello, the default Delete duplicates extension is awesome to remove with one click all duplicated records at once but have a little problem, its removing new records and keep first one, how i can invert the process and keep the last record instead of forst ? remove then all old records and not new. here is the default code : let settings = input.config({ title: 'Delete duplicates', description: `This script will delete duplicate records in a given table according to the value of two input fields. Duplicate records are detected when they contain the same cell value for each identifying field. For any two records that are considered duplicates, it will use a third comparison field to determine which of the two records should be deleted.`, items: [ input.config.table('table', { label: 'Table' }), input.config.field('firstIdField', { parentTable: 'table', label: 'First identifying field', }), input.config.field('secondIdFi
I have some questions about syncing a Google calendar into Airtable. When I set up the sync, it asks for a date range sync–both a start date and an end date. Does this mean that events after the end date will no longer sync? How far out can I push that end date? Is there a way to sync a calendar in perpetuity?
I was both excited and a little anxious about the recent Quadrant recognition for “collaborative work management”. I have no insider standing with Airtable, but I do know that it’s not uncommon for technology companies to pay large fees to be “recognized”. Whenever I see these bold prognostications, I get a little fidgety because they often come with lofty assertions of perfection like this. "This report acknowledges the challenges that arise from too many ‘collaboration tools,’ and addresses the need to connect work so “teams can rapidly uncover faults or errors that would otherwise go unnoticed.” Gartner predicts that “by 2023, organizations that promote data sharing will outperform their peers on most business value metrics”.’* Yet, trust is key—identifying trusted data and locating trusted data sources remain a challenge. I’m excited about this report because I fundamentally agree with the premise - uncovering faults and errors while also elevating trust in data are the corner
Hello, I’m quite the novice to javascript and have been trying to brute force my way into this script. I have a script set up to pull information from frame.io and that part works great. I can push the information I’m looking for to the console, but I want to create a table with the information in it. I believe I need to use createRecordsAsync but I get a little stuck. This is the code I have: //Get Review Links const projectId = '664531da-96f3-4e72-8577-4acb703daddc'; const resp = await fetch( `https://api.frame.io/v2/projects/${projectId}/review_links`, { method: 'GET', headers: { Authorization: 'Bearer REDACTED' } } ); const data = await resp.json(); console.log(data[0]); let table = base.getTable("ALL FRAME LINKS"); let linkyLink = await input.recordAsync("pick a record", table); let assetName = table.getField("Asset Name"); let reviewLinkID = table.getField("ReviewLinkID"); let linktype = table.getField("TypeofLink"); for (i = 0; i < data.length; i++
Folks, I need to make a simple action: When a form is submitted, I need to automatically update a field on all the records on one view to a specific value. How can I do this through scripting?
Hi all, I have two tables that I’d like to link to each other via automation. As the data is flowing in via integrations from 2 different data sources with no common ID, I need to try to map those values. For example In table A I have a field with Name “Abc” In table B I have a primary field with Name “abcd” Now I would like to link those two tables by matching those values that are closest to each other. In Excel that would be done with a “LIKE” operator. How would you approach this in Airtable? Is it possible to do it in automations? And if not, via scripting?
I’m using airtable as a way to keep a product catalog for my company, both out of stock, and currently available products are listed, as to help customers compare products they like but may be out of stock, against our current inventory. Is there a way to script some code to identify specific markers (Flavors, similar categories, etc.) based on user selection/input, and for airtable to automatically recommend a similar product? I’m not well versed in coding, so any assistance would be appreciated!
Hi Team, We have almost 20 air tables,views and each view is attached to 1 air table form. for e.g. Airtable Name: internal_link<CUSTOMER_NAME> Airtable View Name: internal-linking-<CUSTOMER_NAME>-views Airtable Form Name: internal-linking-suggestion-<CUSTOMER_NAME> Likewise, we have 20 tables, views and forms for each customer. Each form is having field named as Source Category which is of type multi-select. The values in this field are different for each customer. Right now, I have provided these values statically by some manual work.Now i’m looking forward to update these values in every form dynamically with respect to each customer. FYI. The data for Source Category field is available inside snowflake database. You can say. snowflake database is source to fetch the values for this field. Please see below image as an example for ADOC customer. Also, have a look at the form which is same for every customer. Only values in Source Category field are varying. So, h
Hi all, I have been stuck on this for awhile now, would appreciate any help! I’ll try my best to explain: I am trying to create an automated tagging solution to read through a text field and tag it in a multi-select based on specific keywords. Where I am running into trouble is after I push items into the array, those items stay in the array and each record thereafter will retain the tags from the previous record even if they do not apply to the specific record. I am also stumped on how to batch the loop. Here is what I have so far: let table = base.getTable('Intakes/Submissions'); const feedbacktype = table.getField('Feedback Tag'); const existingtags = vocchoices.options.choices; const feedbacktags = feedbacktype.options.choices; let query = await table.selectRecordsAsync({fields: table.fields}); let aTags = []; for (let record of query.records){ let choices = record.getCellValue("[U] User Product Feedback"); let options = record.getCellValue("Feedback Tag"); let f
I’m using Python - Airtable Rest API and having issues with Linked Records. Example Here is what I am getting for Linked Records - “recUU4mTrhZ5W1bMp” Instead of getting this, can I get the actual ROW ID. I’m guessing internally it must generate some “AutoNumber” like 1,2,3… how to get this Number instead of this Random some record identifier - “recUU4mTrhZ5W1bMp”
Hello! I’m getting an error with sending a patch request. I’m getting the following errror: { “error”: { “type”: “INVALID_RECORDS”, “message”: “You must provide an array of up to 10 record objects, each with an “id” ID field and a “fields” object for cell values.” } } I’m trying to send an array. I’ve checked my JSON formatting. Not sure what else might be the issue. Here’s the JSON I’m trying to send (with record IDs masked): { “records”:[ { “id”:“recabc123”, “fields”:{ “Reminder Days”:[ “recced456”, “recefg789” ] } } ] }
Using: "https://api.airtable.com/v0/app key/Interview%20Data -H “Authorization: Bearer YOUR_API_KEY” API to fetch all the records, some of my records are missing
Hey there! I am trying to stream data from an Airtable base to a local file. I am working in go and using this client airtable package - github.com/mehanizm/airtable - Go Packages I want to be able to detect whether a record has been modified, without having to use the original data and comparing it to the current data in the base. A solution I explored was to add the “Last modified time” field to all records, which would solve all my problems. But there is no way of doing that through API and has to be done manually. Not a great user experience! I also am aware there is a webhook but am not keen to go down that route. Is there any automated way I can get the “Last modified time” or any information that a change has been made and can narrow it down by the record? Thanks!
Hi everyone! I recently noticed a bug in one of the script I developed. I would like to create some tests in order to avoid future regressions. Has any of you tried to do such thing?
Hi All. Need some help adjusting my script to copy multiple record returns from one table to one record multi select in another table. I have Thinkific lesson completions coming in creating a new record each time. Wanting to then move them to another table with multi select field using email as the lookup. It works in other databases with text and numbers, but I’m a little stuck in this instance. Here is the script… This is the table of Thinkific lesson completed records this is the desired result that I havent been able to achieve yet… Thanks for the help
How to automatically obtain the daily exchange rate and add the corresponding record in the specified table.
I am trying to automatically update over 1,500 attachment names in fields within an attachment field where I only have a single image. Relevant to this post: My table name is: “Books” The attachment field (that I want to update the file names in) is: {Cover} Single line text field: {Title} Link to another record field, with multiple select options: {Author(s)} Currently, each of the {Cover} file names are completely random and inconsistent. I want to incorporate the {Title} and {Author(s)} text into the new name of the {Cover} attachments, but keep the existing image from the {Cover} and not simply replace it. The NEW name for the {Cover} attachments would be: “{Title} by {Author(s)} - MySiteName” If there are multiple authors, ideally, it would have an “and” between their names, but if this is too difficult, the {Title} alone is more than enough to make me satisfied. I have my automation set to “Update record when {Cover} is not empty”, but I can’t figure out the script for the life o
I am using this app that @Alex.Wolfe published (THANK YOU ALEX)! , and am hoping to make some tweaks so that I can use linked records fields. Right now the app allows you to create one record in another table for each option in a multiple select field in the source table, and links the new records back to the source record. Which is exactly what I need, but I believe it’s set up so the options from the multiple select cannot be outputted into a linked records field in the second table. Here’s my used case scenario: People will submit a request to have a project staffed by multiple designers. On this request they will select multiple types of designers (this is the multi-select field; i.e. a graphic designer, a mechanical engineer and an industrial designer). Based on what they have selected, I am using this script to create a new record for each of the types (i.e. a record for a graphic designer linked back to the request, a record for a mechanical engineer linked back to the request
I’m trying to use an Airtable Automation script to lookup a customer ID in the Stripe API. My fetch call is returning a 200 but the data object is empty in the Airtable script even though the same call has a valid JSON response via curl in terminal. Here’s the full script code: let Stripe_API = 'YOUR_STRIPE_API_KEY'; let Stripe_URL = 'https://api.stripe.com/v1/customers/cus_MQGV6PEdpS1RWJ'; let options = { method: 'GET', headers: { 'Authorization': 'Bearer ' + Stripe_API } }; console.log(options); let response = await fetch(Stripe_URL, options); console.log(response); Does anyone have ideas about why Airtable isn’t recognizing the full response from the Stripe API?
Hi - I’m not great with scripting but trying to learn. All I want to do is copy a set of data - really just one column, from tableA to tableB, monthly via automation. The column is a linked field in the destination table and so would need to be an array of recordIds when passed. I’m not sure how to cleanly do that and am not familiar enough with scripting to fix it. The below are things that I’ve borrowed or taken from elsewhere & tried to adapt, but I’m not quite there. Can someone point me to my issues? I know for example that I am passing only the first element with “[0]” but I don’t know quite how to cycle through all the elements cleanly. I welcome any code cleanup or suggestions. let sourcetable = base.getTable("Projects"); let sourceview = sourcetable.getView("ProjectView1"); let destination_table_name = "DestinationTableName"; let destination_table = base.getTable(destination_table_name); let query = await sourceview.selectRecordsAsync({fields: ["Project Name"]}); let reco
Hey there, I am currently using the Airtable API by using Make (Integromat). Since the sorting from the base won’t get passed to the output, you need to sort it inside the API call. Now I want to sort my output by two parameters. Unfortunately the sort[0] parameter gets overwritten by sort[1]. I would like to have the sort[0] prioritised, how could I do that? Any input or suggestions would be highly appreciated. Thanks in advance! :slightly_smiling_face:
For context, I have built a Softr app with Airtable as the backend and I want to use SendGrid Marketing to be able to email users of my app but I don’t want to have to manually sync the list of users from Airtable to SendGrid every time a new user signs up for my app. So I adapted @JonathanBowen’s awesome SendGrid email send script example to call the SendGrid Marketing Contacts API for use in an Airtable Automation triggered when a new record is created in the users table. // Set up input variables let inputConfig = input.config(); let email = inputConfig.email; let firstName = inputConfig.firstName; let lastName = inputConfig.lastName; let userType = inputConfig.userType; let signupDate = inputConfig.signupDate; let SG_API = 'YOUR_SENDGRID_API_KEY'; let SG_URL = 'https://api.sendgrid.com/v3/marketing/contacts'; let data = { "contacts": [ { "email": email, "first_name": firstName, "last_name": lastName, // Custom fields
I am Not able to Fetch all the records using API in flutter What i did is used url - https://api.airtable.com/v0/BASE_ID/TABLE_ID?api_key=API_KEY using this i was only able to get 100 records please help me
Hello, The dropdown for “Choose a View” has a narrower width than the max char size of view names. When users name a bunch of views the same initial way, it’s impossible to tell what you’re copying.
Hey there AT community! im currently working on some AT connectors for are company shop floor using tulip and was wondering if there is a way with airtable api to find a record using i.e. a serial number instead of the record ID to point to it to add data to its other columns. I have read that in this case what your using to lookup has to be in a text format field in AT but currently serials are generated using a formula field for us.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.