Need development and API help? Ask your questions here!
Recently active
I am looking for the simplest way to get the raw data from my table fields into my static HTML page(s). I am using iframes right now but cannot style with CSS… Unfortunately, I only know HTML and CSS so the API documentation is over my head. Looked for videos on this and they all seem to use various third-party apps that I do not have or know how to use. Please help! Thanks, Bill
I am trying to search for research applications on district websites and have all the website URLs in one column and keywords for research applications in another. Is there a way to modify the existing script for searching the web for keywords to only search specific websites?
Hi Community, I have a table ORDER of n orders with the {fields} : order-id, product, quantity, delivery-date Airtable SHOP - Airtable Explore the "SHOP" base on Airtable. I am trying to use a script to group_by (product, delivery-date) in order to sum the field {quantity} of a group (total-quantity) Then: with Automation, create a record in a table GROUP-ORDER with the fields: order-group-id, delivery-date, product, total-quantity Example on how the results should look like, is shared in the link above. I’m a little knew to the Scripting App (and my skills in javascript are medium). Is this approach feasible? and how should I get started? I managed to group the fields with a script as in : I need help for solving a problem on the script block However, I am struggling to create a new group-order record in a separate table. Thanks!
Hi there I currently use airtable as my delivery fulfillment hub for virtual video game items where I have multiple staff take and fulfill orders via Kaban View. The process is the record comes into a view and the first person who changes that operator name to theirs gets to take that order. The problem comes where there is latency and multiple people click and take that order within the same second, it will override the true initial person to change the field, also its possible for them to change it after the fact (the airtable history does not work well if it all happens within the same second or one staff has higher latency then the other i think) I want to know if this is possible to build then I will look for an app developer to help. The problem comes with latency, the app would need to have some parameters built into it where it will know what the field was changed to FIRST then override and prevent it from being changed again within the next few seconds Would love to hear your
Hi, I’m trying to use the API encoder to find if a value exists using filterByFormula, and in response get a certain string if it exists and another string if it doesn’t. This is where I’m at but it seems it’s not the direction IF(FIND(“5z”,{Field 6})=0, “DOESNT”, “EXISTS”) Any ideas?
How do I get the all data ( Pictures) from Google forms >> Airtable. Or Forms >> Google Sheets >> Airtable. Either way I want to see the question and picture or audio/Video included. Is this possible? If so, how would I go about building these scrips or connection successfully?
I have a list of names of people enrolled in my class. Is there an easy way to place them into randomized groups of 6? Ideally, I could do this to have gender-balanced groups. Any suggestions would be welcome. But then, I also would like it to have prevention such as, if they answered yes in not being in Madrid, please put on the same group. Groups [ Group 1, Group 2, Group 3, Group 4, Group 5, Group 6, Group 7, Group 8] I.e., If value for In Madrid? Yes, automatically add to Group 8, otherwise, randomly add to another group, but don’t allow more than 6 records to be assigned to each group. Ideally, I want to assign a record (name) to a different group every week, and would eventually want to create a new row of groups, where the record (name) is assigned to different groups, but make sure it’s not the same as the previous group assignment. I hope this makes sense! Adriana
hoping for some help/feedback on the following error. below the error i’ve pasted the portion of my script getting the error. The script was copy/pasted from a scripting block into an automation script. i ran a compare and the script is identical to the scripting block script: TypeError: Invalid arguments passed to output.set(key, value): • value should be a JSON-serializable type, not undefined at main on line 27* 21 const query = await new_submissions.selectRecordsAsync(); 22 if(query.records.length === 0) { 23 output.markdown(“No submissions to load. Done.”); 24 return; 25 } 26 27 output.markdown(Found *${query.records.length}* submissions); 28 for(var i in query.records){ 29 let r = query.records[i] any help would be appreciated
I can get records sorted by some field like below const records = useRecords(table, { sorts: [{ direction: 'desc', field: actionField }], }); but how can I get records sorted by manual order?
I’m trying to batch update records using the Scripting app. I’m able to update one-by-one using this script: // set the table let productsTbl = base.getTable('PRODUCTS') // get the table records let products = await productsTbl.selectRecordsAsync() // loop through the records for (let record of products.records) { // set variables to the record values let recordID = record.getCellValue('ID') let option1Name = record.getCellValue('Option1 Name') let option1Value = record.getCellValue('Option1 Value') let tags = record.getCellValue('Tags') if (option1Name === 'Pattern') { let id_pattern = '[pattern:' + option1Value + ']' + 'id_pattern:' + recordID + '_' + slugify(option1Value) let newTags = id_pattern + ', ' + tags await productsTbl.updateRecordAsync(record, { Tags: newTags, }) } } function slugify(string) { const a =
Hi I’m trying to send a POST request to Airtable with two properties: Name (String) and PostedBy (Lookup field). I keep getting an error unless I remove PostedBy. A new row is created but it is empty. My json looks like this: { "records": [ { "fields": { "Name": "${name}", "PostedBy": "${user.id}" } } ] } Any Ideas?
I got a script to work, am quite pleased with myself and thought I’d share it. I was also guided by some other posts here (in particular this one) though I didn’t fully understand it. I haven’t coded for many years, and never in javascript. This script runs through a list of job bookings at various properties (for cleaning services in this instance). It is useful for each booking to know when is the next booking for that property. The script runs through all bookings in the scheduling window (limited by view). For each job it finds all other jobs at that property. It runs through all those jobs in order to find the very next one if it exists. If so, it links the current booking to the next booking. All this is needed because bookings come in in no particular order, and there are often lots of cancellations and adjustments before the job gets done, and because the actally cleaning is often scheduled long after the bookings come in and can be done any time between one job and the next. S
Is is possible to do multiple layers of filters within for loops? What is the best way to do this, otherwise? So for instance, I am taking a survey, finding matches for that survey and then needing to do counting for those matches from a different table. There are at least three tables I am filtering by along the way.
I’ve been trying to query an API, it works using POSTMAN but when I try and replicate in Airtable I get an error message. let response = await fetch('https://api.xavier-analytics.com/clients', { headers: { 'Authorization': 'Bearer XXXXXXXXXXXXXXXXXXXXXXXXXX', 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*', }}); console.log(await response.json);
Hi there - This is working but I would like to filter by two things - the client as well as the session: let f_thisclient = result2.records.filter(f_record => (f_record.getCellValueAsString(“Client_Email”) ==v_this_client_string ) ); Is it possible?
Hi there. Just wondering if someone knows if this is possible: Make a search box on a webpage where users can search in a airtable base using the api show the resulting hits and depending on some easy parameters give the user a “yes you can aply” or a “no you cant aply”
Hi there - I am wanting to do something similar to the Task from Template except when I am pushing, I want to have done a count that shows up in a different field. I am needing / wanting to see if there is an efficient way to check the list of what would be the template ‘Tasks’ and then go through and find matching entries and do a count (like finding the average time spent previously) and then pushing that to the table. I am not sure if it’s better to loop, or do an update, etc. I’d like it fully automated so we can change and adjust things as we go. Link to the base is here: https://airtable.com/tblqT5vq9owm1wx2S/viwA1XTRfGpdZLrlY?blocks=bipbsFnhKmDB62OIL
Hello everyone and thank you for being such a helpful community! I’m trying to get Facebook Ads data to Airtable using Parabola.io, all new records, no links. I have this body: { “records”: [ { “fields”: { “Campaign Name”:"{Campaign Name}", “Ad Name”:"{Ad Name}", “Fecha”:"{Reporting Ends}", “Impressions”:"{Impressions}", “Amount Spent”:"{Amount Spent}", “Clicks (All)”:"{Clicks (All)}", “Purchases”:"{Purchases}", “Website Leads”:"{Website Leads}" }, “typecast”:true } ] } Using POST and Content-Type: application/json in header, but I get: { “error”: { “message”: “Invalid request: parameter validation failed. Check your request data.”, “type”: “INVALID_REQUEST_UNKNOWN” } } Sent request is: { “data”: { “records”: [ { “fields”: { “Ad Name”: “Ad 2”, “Amount Spent”: “1379”, “Campaign Name”: “ADC | jul. 20 | ADC | DCTO | RMKT”, “Clicks (All)”: “18”, “Fecha”: “2020-07-29”, “Impressions”: “838”, “Purchases”: “0”, “Website Leads”: “0” }, “typecast”: true } ] }, “headers”: { “Authorization”: “
There are an API to have record team discussion (chat)? thanks
My engineers use my account’s API key to POST information into our Airtable base. Sometimes the data doesn’t always come through, the POST request appears successful but the data won’t make it to the table. This happens a lot. I wonder if it’s because my engineer uses my account’s API key and since I have an open session using the base with my account Airtable gets confused as to how the same person is editing the base in two different ways…
Wanted to share this script in case it’s helpful for anyone else with a similar need. I initially came up with the idea so I could randomly review a list of records and assign single-select field values using buttons for each one. This is one of the first scripts I started with, and have come back to it with improvements as I’ve learned — thanks to the incredible help from some teammates :raised_hands: ! This version’s been edited for a general audience so that it’s hopefully adaptable to other bases easily :slightly_smiling_face: Note, it uses the Script settings beta, and to see what it looks like in a base, here’s an example in Airtable Universe. // SCRIPT SETTINGS let settings = input.config({ title: '👓 Random record reviewer', description: 'Pulls a random record, then prompts you to choose a select field option.', items: [ input.config.table('table',{ label: 'Table' }), input.config.field('field1',{
I’vs just updated my node version, and trying to init a new block. keep getting this error: Initializing block using https://github.com/Airtable/apps-hello-world template :x: Something failed! Cleaning up… :x: Error: a.isDirectory is not a function couldn’t find anything helpful when googled it.
I have a table (“Containers”) with 3000+ records and for each record I would like to do a Vlookup from another table (“F”) in the same way as is done in Excel. I came across the below script. The problem is the script runs out of time before it can update every record so I have to run the script multiple times. It seems the script is looking through all 3000+ records every time and not zoning in on the records that have not yet been updated. The result is I got about 2500 records updated but now the script only finds 10 or so to update each time compared to 150 at the beginning. I tried to use “Paul view” to limit to running the script only on un-updated records but it does not speed things up at all so maybe it is still running on all records. //Substitute “Containers” for table name which contains values //on which you want to run the vlookup let mainTable = base.getTable(“Containers”); let view = mainTable.getView(“Paul view”); let mainTableRecords = await mainTable.selectRecordsAsy
This previous post details accessing the special NODE_ENV environment variable within a Custom App. This is all well and good, but leaves me wondering if it’s possible to store/access custom environment variables through a custom app? Reading through the documentation/tutorials at Create React App, my guess is this is not currently possible in a Custom App because it’s run using block run instead of react-scripts and npm start? Attempting this by adding .env files in both the root directory ({block_name}/) and entry point ({block_name}/frontend) and running a console.log outputs undefined in the inspector. Am I correct in assuming that accessing .env variables (besides NODE_ENV) is not currently possible? Does anyone have any good workarounds/alternative solutions? At the moment, I’m just defining these variables as constants in their respective files. (For reference, I’m looking to use .env variables for two main use cases. 1) development vs. production server endpoint to send API req
Hi Airtable script gurus! I need help. I am working off of a code that searches for key words and returns results. The code works when var “districtRecord” is an input. However, I need to run the code on 10k+ records, so using the input would take forever selecting one at a time. I attempted to update the code to run through all the records in the table, and broke it. I keep getting an error saying there is a missing “)” on line 1. "SyntaxError: missing ) after argument list on line 1 at l on line 1 at Generator._invoke on line 1 at Generator.forEach.e. [as next] on line 1 at e on line 1 at s on line 1 on line 1 on line 1 " Here is the entire code: let districtTable = base.getTable(“Districts”); let districtRecord = await districtTable.selectRecordsAsync(); let searchQuery = districtRecord.getCellValueAsString(“Keywords”); let resultsField = districtTable.getField(“Results”); //this is the attempt to run through all records: for (let record of districtRecord.records){ async function se
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.