Need development and API help? Ask your questions here!
Recently active
I’m using the automations feature in Airtable. One field is not auto-populating when the process is triggered. I’ve also noticed that multi-select and linked records cannot be used for automations. Is there a way around this?
Hi y’all! The Cursor API is now accessible within the scripting block. You can use it to access the currently active table ID and view ID. This is particularly useful for removing the need for your users to manually select tables and views while running a script. Learn more about how to use it in our scripting block API documentation. Hope you all enjoy the new feature; happy scripting!
Hi, Airtable - Support Prefilling a form When making an Airtable form, you can use prefill_ parameters in the URL of the form to prefill specific fields. Find the URL for the form you wish to prefill. Once you get the form URL, you can ... I am using the prefill feature to create 3 different links for 3 different webflow pages. On each page i prefill a single-select field with the page-name. Eg. “project_one”, “project_two”, etc… Within airtable i open the “embed view” and copy the code. Then i add my “?prefill_ProjectName=project_one” code. After that within webflow i use the HTML-Embed element to paste the shared link into. Example embed code before: <script src="https://static.airtable.com/js/embed/embed_snippet_v1.js"></script><iframe class="airtable-embed airtable-dynamic-height" src="https://airtable.com/embed/shrbasdada21212?backgroundColor=cyan" frameborder="0" onmousewheel="" width="100%" height="979" sty
I just wanted to give miniExtensions a shout-out! Working their new portal designs and ability to have customers/employees edit records. I had a few feature requests (colored buttons, ability to remove back button, have buttons open in same window vs opening new, etc.) and less than 24hrs later they were all implemented :grinning: Who does that??? Their customer service is top notch! Their extensions have come a long way in the last few weeks and you get a lot for the price. (I am not affiliated with them in any way). miniExtensions Integrations and Tools for Airtable - miniExtensions Add new features to Airtable. Process unlimited records in bulk with scheduling and automation. An alternative to Zapier and Integromat
Hi, is there a way to increment a number field via the API ? Something like: base(‘Variants’).update([ { id:id, fields:[ my_number_field: increment(1) ] } ]) I would like use the API to perfom an update without pulling the previous value first.
I often have to look up old conversion rates and match them to items that was paid at a specific dates. I’ve been playing around with the scripting block and been trying to figure out if I can get a drop-down calendar in my block, however it seems not possible atm. For now I’m thinking I want to be able to pass an input string, have that to lookup historic currency rates. However I’m alittle stuck on getting to grips with how to format dates. I would have thought the below would send me the input date, however I get nothing atm. let table = base.getTable('Match currency to date') let date = await input.textAsync('Choose a date you want to look up') let checkDate = new Date(date); console.log(checkDate.getDate)
I’m currently trying to build a filter into my Block where I: I populate the Select (UI Component) options with data from multipleRecordLinks Field cells on all the Records in the table Capture that option onChange. Use that option to filter for only the Records that contain that option in their multipleRecordLinks cell. Is there a way to extract all of a Field’s related cell values through the Field class or do we have to get cell values through the Records class or Record hooks?
Is there a way that I can copy a word or words from a URL in any given record and paste it into another field on the same table? If so, what would that script look like? I have a table full of records each having their own link to a specific URL (none are the same). Each link opens up a specific record on another database made to match. Within each record in this linked database (which is not airtable btw) is a place called “Contractor or Supplier” about halfway down the page where, directly next to it, is the name of a contractor or supplier. I need to know if there is a way I can have it look in that link, grab the name of the contractor or supplier, and paste that name into a “Link to another record” field within the same table.
this is my table https://api.airtable.com/v0/app7MvgC7cKX7Zq7n/student?filterByFormula=class="2"&sex="male"
Hi all! I’ve installed the blocks-cli through node, but when I try and run it (for example the command to set up a hello world block, but also just running ‘block’ on its own) I get the following error: /usr/local/lib/node_modules/@airtable/blocks-cli/node_modules/update-notifier/index.js:74 (async () => { ^ SyntaxError: Unexpected token ( at createScript (vm.js:56:10) at Object.runInThisContext (vm.js:97:10) at Module._compile (module.js:542:28) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js:438:3) at Module.require (module.js:497:17) at require (internal/module.js:20:19) at Object.<anonymous> (/usr/local/lib/node_modules/@airtable/blocks-cli/transpiled/src/run_block_cli_async.js:215:454) Could anyone shed some light on how I might be able to resolve this? Thank you! Tom
Hi, I have a field which I can see in API documentation for the table. https://airtable.com/{app_id}/api/docs#curl/table:{table_name}:fields I don’t see the field in rest of the docs (list/retrieve/create/update). I don’t get the field in the API response either when I’m trying to list records. Table name is 110 characters long, is Single select, string. I’m wondering if the length of the field name is the reasoning of the missing field. I would like to know what to do to get the field in API response.
How Do I Integrate and Upload a Company’s Competitors Info Data From Craft, Owler, Bloomberg or etc? Thanks for taking the time to help!
I have a script I run that manages task due dates. Using self linked table to setup predecessor tasks with manual start date and manual lead time fields, it calculates the end due date. The script pulls the predecessors end date and checks if the task start date matches or not. If not it will change the start date. My problem is right now is that when I press the button to run the script, it runs through the script once, showing me a result of all the tasks/dates it updated. Because at the time of running the script these are the only dates it found mismatching. But as a result of these updates, I have to run the script again to update any further tasks/dates that were affected. Then again and again until there is no more dates needing to update. What I want to do is have the script pause at the end, then run the script again on its own. I want it to continue this loop until there is really no more tasks/dates to update. Is there any way to do this?
Hello, I’ve been working with a script for a while to import some CSVs. The purpose of doing this is to cleanse some of the data prior to importing it and adding more controls around how these files are uploaded verses using the CSV import block which we can’t control as well. A question I had was, that when I try to import one of my files that contains a 16 digit tracking number, it comes in formatted as scientific notation and loses any data beyond where it is summarized. I understand that this is often regarded as an Excel issue, and there are workaround within Excel, but when I try those workarounds, save the file, and try to import it, I still get scientific notation formatted numbers. I was wondering if anyone had a potential solution to this or if anyone has run into similar issues. My current solve would be mapping where we currently get our data from, to an Excel file, and using the scripting import on an .xlsx file type instead but we would really prefer to have them stay in
How to get the modification time of a table item (in Kanban)? Example: You need to get what is highlighted with a green line (Using the API)
I have a table with 8,000+ records that include email addresses (source table). I have a list of 200~ e-mail addresses being updated manually (table 2). I would like to create a grid view in the source table that filters to only include the list of 200 e-mail addresses, without having to manually search for each or create a filter. The end result being that my source table has a column that indicates if the record’s email exists in Table 2, and I could create the grid view based on this. Anyone know if a script exists for this? Originally asked the question here: Filter for a long list of values
Hello, I’ve posted a related discussion to this one, wondering if there was any way, through the scripting block, I could break out numbers that were in scientific notation into long strings from .csv files that I was importing. Unfortunately, none of my potential solutions worked out. I’ve started trying to figure out at what point these files get converted to scientific notation. When I view the .csv as text, I can see the long numbers as I would expect them to be uploaded. But when I upload the file via the scripting block, they are formatted in scientific notation. This is starting to make me think that the parsedContents function takes some liberties with the data and converting it. While it is tremendously helpful for a lot of my purposes this is a roadblock I’m not sure how to get passed yet. My question would be whether or not there is a way to prevent the automatic file parsing in the scripting block from changing my fields and data? If there were some way that the file could
Hi, everyone - I could seriously use some assistance with a script I’m trying to figure out. Please note, I always thought of myself as efficient with computes and I like to think I’m pretty good with Airtable formulas, but the scripting stuff is so above me it’s crazy… Any assistance would be greatly appreciated. Here’s what I’m trying to do. Table 1 In table 1 I have a formulated field that auto populates with a bunch of comma separated text strings. Any given cell can look something like this. Auto-populated Field TEST_S1_12345_Commercial_15s_[Pre/Post]Master_RecordTest_16x9_XXXX_MV_en-US,TEST_S1_12345_Commercial_15s_Video2_RecordTest_16x9_XXXX_MV_en-US,TEST_S1_12345_Commercial_15s_EDL_RecordTest_XXXX_MV_en-US,TEST_S1_12345_Commercial_15s_Music_RecordTest_XXXX_MV_en-US,TEST_S1_12345_Commercial_15s_GraphicToolkit_RecordTest_XXXX_MV_en-US,TEST_S1_12345_Commercial_15s[Pre/Post]Wide_RecordTest_16x9_XXXX_MV_en-US,TEST_S1_12345_Commercial_15s[Pre/Post]Vertical_RecordTest_9x16_XXXX_MV_
Hello, I am really new to google apps script and pulling data from Airtable, I’m using the code from this post on Medium. One problem I’m having is that every time it pulls from one of my 3 tables it brings in data in the wrong format, so that then Data Studio chokes on it. I added a couple formatting lines to the Apps Script, by hard coding which column to re-format, but then the columns aren’t consistent when they re-import. So, is there a way to pull the data from Airtable locked into the correct format, or am I better off using a column header in Apps Script to identify the formatting changes, and if so, how do I select column based on incoming header?
I’ve been banging my head against the wall for a few hours, I can’t figure out why my selectRecordsAsync() does not pass anything into queryResult. I think it has to do with me using an async function, but not sure why it wouldn’t work? let poTable = 'PO/PI Paperwork' let poView = 'test' let btnPO = 'Client' /////////FUNCTIONS //Show PO list by client///////// const poList = async () => { let view = base.getTable(poTable).getView(poView); let queryResult = await view.selectRecordsAsync(); return queryResult } ///////////UI if(btnPO === 'Client'){ console.log('Client') let test = poList() console.log(test) }else if (btnPO ==='Number'){ console.log('Number') }else if(btnPO === 'Yarn'){ console.log('Yarn') }
Hi – I may be in the wrong place, but if this is possible, am guessing it will be a script. I have a single multi-select field with 450 options like: United States, Automotive, P&L, Canada, Manufacturing My team has gone through and categorized these into 3 new fields which would be: United States, Canada Automotive, Manufacturing 3 P&L We have about 1500 records tagged in the first way. Is there a script I could run, that would redistribute those tags from the single field to the three fields, without creating new options? Please let me know if this should be elsewhere. I searched for similar requests and didn’t find this. Thank you!
@JonathanBowen @Bill.French - From what I’ve read so far, you folks are the people to go to for this question. I’m currently developing a script that I would like to leverage to search a keyword within column and then assign points to that record. To add context, lets say I have a base with a teacher ID in each row and each teacher has 3 classes (columns) with sets of student names in the cells. My goal is to input let’s say “Jane Doe”, and have the script search each column for the name. If the name exists in a cell in Column 1 connected to Teacher-A, then 1 point would be added to the Teacher A Record (in a separate column or variable) So far I’ve been able to write a script that asks for inputs and creates new records in a new table called search results. However, the columns where I’d like to record points per record are not be updated correctly. In other words, I’m not able to search the string within the cell. Was wondering if you could direct me in any direction or if what I am
Hi guys, I have released a new block - “API Connection”. It can connect to any API to fetch the data and save it to your Airtable. I have released it as open source on github - https://github.com/saas-developer/airtable-api-connection . It should help bridge the gap between technical/non technical folks in your team. Do let me know if you find any bugs !! Thanks !!
I see that you can get all records from a table or view - and even sort them. But what if you want a subset - for example all those records connected to another record? It’s not always possible or desirable to create views for this type of thing?
Hi folks, I’m pretty green when it comes to Javascript. I’ve worked with Vue mostly in the past. I’m definitely new to React. Despite that, I’ve managed to hack together a fairly decent custom block for a friend and client of mine. I’m using the Cursor model to display the selected record in my block. I’ve managed to get the input fields to update the record. But I’m having an issue where my inputs are retaining the value from the previously selected record. Here’s a screen cap of what’s going on. Here’s the code for my Input component. import React, { useState, useCallback } from 'react'; import { Input } from '@airtable/blocks/ui'; import { debounce } from '@airtable/blocks/dist/cjs/private_utils'; export default function FieldInput({ onInput, initialValue, ...props }) { const [value, setValue] = useState(initialValue); const callback = useCallback(debounce(onInput, 500), []); function handleChange(e) { setValue(e.target.value); callback(e.target.value); } return
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.