Need development and API help? Ask your questions here!
Recently active
I have added a form field to my custom block and I am updating its value via the React state. It works well and looks fast. The block is fairly standard. It reads values from a table, filters them and then displays them in a list. When I look at the console I see my logs telling how many rows were read after every character entered into the input field.This means all the code of my block (inside index.js) is executed again and again. There is a useRecords statement just before this log output. Does this mean the rows are read from Airtable for every character pressed (round trip every time)? Or is there some form of caching? Will I get a performance hit when there are many (1000+) rows in the table?
Hi! I am working on a Block that would require the creation of fields of type formula. Unfortunately unstable_createFieldAsync doesn’t allow that (yet?). I could instead create the fields using another type and then watch the dependencies for each record. But it would be kind of hacky and probably not performant. Is there another way to create a field? Thank you in advance!
Does the custom block API allow us to call POST/GET requests to external services such as one’s own AWS EC2? It seems that I can only call Wikipedia and other services fail
Hi! I am working on a Block that would require a backend server (with API access tokens), what is the recommended approach? Should I host the backend myself, or is there a nodejs equivalent of frontendEntry for backends? Thank you in advance!
I’m trying pass a string as a field - which I’m pretty sure I’ve seen @kuovonne explain someone else that it’s possible. const mainCur = base.getTable("Contacts").getView("Currency"); const mainCurMatchField = 'Currency name' const mainCurrencyConversion = async (tableView, matchField) => { let selectRecords, gbp, eur, usd selectRecords = await tableView.selectRecordsAsync(); [gbp, eur, usd] = await getConversion('test') for (let record of selectRecords.records){ console.log(record.getCellValue(matchField)) } }; await mainCurrencyConversion(mainCur, mainCurMatchField) I’m trying to get record.getCellValue(matchField) to use ‘Currency name’ as field name. I’ve tried to wrapped it in {}, but so far I’ve been out of luck. Is this possible or is it me who got this wrong?
In today’s date most of the people need to keep their house clean. So for that I have some different tricks about cleaning and those ideas I collect from cleaning services in dubai.
Hi all, So I saw the newly added Button for the web/desktop app! Very nice! I have a few questions :slightly_smiling_face: Will this button be visible in the iOS app? If so, will it be possible now to download the pdf via the Page Designer block and preview it on the phone to share? (i understand that setting this up will need to be done on the web/desktop yes. Just want to know if it is possible through the iOS Airtable app.) Thank you :slightly_smiling_face:
Hey guys, Working in Adalo and realizing that rollup fields are not transferring over through the API. Wondering if anyone has come up with workarounds for accomplishing this. Just trying to pull the sum from one column of the base into a single field in Adalo. Im currently doing this in a separate table in Airtable from the list or records I am trying to sum. Thanks!
Hi, really love the flowchart block. As the SDK for the flowchart block is open, I was wondering if anyone in here have created any custom flowchart blocks yet? Also Airtable devs: Any chance we will see the 100 record limit lifted soon?
I am using the Airtable Python API With the following code I get a successful response, minus the API key I removed. *from airtable import Airtable* import os* table_name = ‘PeachTree 903’;* base_key = ‘app9F0yiPo2kvFBsA’;* api_key = ‘’;* airtable = Airtable(base_key, table_name, api_key)* print(airtable)* The response I get from the above is: Which matches my table_name. Now when I go to add this next line and run the script I get the following errors like nothing is returned which does not make any sense. airtable.get_all() Anyone solve this?
Here is my goal. I have three fields within my table as follows: Button Field (for the purpose of running script, available in Beta) Check Box Field (used for filtering view) Linked Record Field I am looking for script (or other method) to do the following: Click button to run script Script marks Check Box with Check Script adds all available records from linked table in the Linked Record field. For example, say there are 3 records in the linked table. When I click the button in the record in my table, the Linked Record field should populate with links to those three records. Thanks!
is it possible to have a markdown output for a long text with rich text enabled field instead of this syntax? - Discuss [empathy][1] with your child/ren. - Incorporate [(40) kindness and empathy activities ][2]at home. [1]: https://mcc.gse.harvard.edu/resources-for-families/5-tips-cultivating-empathy [2]: https://positivepsychology.com/kindness-activities-empathy-worksheets/
Hey, Every time I’m renaming or moving a typescript file, I get the following error in block run: Bundle Error: Cannot find module './OldFileName' from '/home/user/superblocks/my-block/build/development/transpiled/user/frontend' The only way I found that makes block run work again (if I don’t want to rename or move the file back) is to delete the build folder, the block node_modules folder, uninstall the blocks-cli and today I also had to run npm cache clean --force. I’m guessing it has something to do with the typescript or babel transpilation process that keeps previously transpiled files around in a cache. Questions: Is there a way to rename or move files without breaking block run? If not, is there a more time efficient way to fix this after it breaks? Someway to efficiently clear the relevant cache without having to uninstall and clear everything npm? Thanks, Ronen Babayoff Superblocks.at
I’m developing a new block as part of this competition: https://airtable.devpost.com/ I’m having issues with react hooks (it complains that I’m using two different react versions). Is there a way to look at how you’re bundling the JS? It’s using the @airtable/blocks-cli package but I can’t figure out what that’s actually doing. Is there a way to overwrite the webpack config you’re using? If not, could you tell me which react version you’re using? Thanks!
I’m wondering if this is intentional behavior… In the Scripting Block’s editor, when I try to use the spread operator [...] to spread a Set() into an array, I get syntax highlighting for an error: Using Array.from() on the same Set() works just fine (no syntax highlighting). But, curiously, the Scripting Block also runs the script just fine with the Spread operator version of that line of code, even though it’s highlighted as an error. The same code does not produce any error highlighting in a JavaScript environment in VS Code: Not a real issue, and probably an edge case, but I figured I’d report it anyhow, just in case 1) it’s an unintended bug, or 2) I’m unaware that shouldn’t be using the Spread operator on Sets. Side-note… The built-in editor in the Scripting Block is a surprisingly excellent experience! I’m curious if you guys rolled your own, or if you utilized some open-source editor library?
Hey folks. I am trying to read an Airtable view into a pandas dataframe and I am having a heck of a time to get it to work. I tried the airtable-python-wrapper, but no joy, something about the code causes it to die. Thanks
Hi everyone, I’m having an issue that when I save an integer to a percent field, it appends 0.0% to the amount. Let’s say the value is 25 it’ll save as 250.0% anyone has an idea on why this is happening? And also on the API docs, the percent field is the only one that displays no info. I have attached screenshots of this.
I would like to write a simple script block triggered by the new beta button to update fields in the record which the button was push. The use can is this. Our team uses a base to track orders through a production environment: planning to operations to lab to shipping. There are several fields that have to be updated to move the records from one department’s view to the next and it would be great to automate these updates with a button. I have no javascript experience so I really don’t know where to even start. Any help would be greatly appreciated.
Hi all - I’m new to react and web dev in general. I have created a Box with a FormField inside. It displays correctly but I cannot seem to enter any text in the input field. It is not taking any values, like it is read-only. Does anyone know what I am doing wrong? Here is my code: <Box padding="20px" border="thick" borderRadius="large" > <div> <FormField label= {formLabel} > <Input placeholder = {descriptionPlaceHolder} value = {addDescription} onChange={e => addDescription = e.target.value} /> <Button style = {{marginTop: 10}} onClick = {() => {}} > Add </Button>
Hello! I’m trying to use my Airtable base to output multiline code snippets based on the records, but I can’t seem to figure out how to give the output.markdown() the correct strings to render something like: function test() { console.log("notice the blank line before this function?"); } It works fine when using the single back tick, `, to create a preformatted text style, but if I use the triple back-tick like so, ```, it throws an error. Here’s an example:
The Custom Blocks contest deadline is approaching! Do you have questions about releasing or debugging your block? We’re hosting our third live Ask Me Anything (AMA) session in this thread on Wednesday (6/24) at 11am PT. Billy Littlefield and Tim Deng from our platform engineering team will be ready to answer any development questions you have. We’ll be picking 3 questions at random to win a $40 Amazon gift card. Any solutions offered by the community will be included in the draw as well. You can even start posting your questions now, and we’ll be answering questions live from 11am - 11:30am PT on Wednesday. See you there!
Last Modified’s field data can’t pass through Integromats filter. Output of previous chain send’s Last Modified’s field data correctly in filter. I tried to mention name, email, id, even mention tag but nothing works: anjeytv@gmail.com usrFiOja8dQXDG3Ra АКСЕНОВМЕДИА <airtable:mention id=“usrFiOja8dQXDG3Ra”>АКСЕНОВМЕДИА</airtable:mention> It is still can’t pass through the filter. Please help what should i put in it?
We have used CSV Import block, and it work well. But when we integrate it into our website using iframe, it seems that CSV Import block didn’t work. Do CSV import block work within an iframe? Thank you.
I am using a script to fetch stock prices from https://financialmodelingprep.com/api/v3/quote-short/?{stock}?apikey=* I run it and the CORS error pops up saying it is unable to fetch the data. Then sometimes Ill click it and it’ll fetch but return the price undefined… Any workaround to having this work a bit better? Here is my code if anyone is curious output.markdown ("# Updating stock prices"); let table = base.getTable (“Stocks”), records = await table.selectRecordsAsync (); await Promise.all ( records.records.map (async record => { let stock = record.getCellValue ("Ticker"); if (! stock) { output.text ("Can't update the price of stock with no name"); return; } output.text (`Updating price of ${stock}...`); // make request var requestResult = await fetch ( `https://financialmodelingprep.com/api/v3/quote-short/${stock}?apikey=*` ).then (r => r.json ()); // print fetched data output.markdown (`${stock}'s price r
Hi there, I’m a d3.js developer new to Airtable. I’m trying to work out how to import d3 (which is an external Javascript library) and where to do it so I can get started! And would I do this in the API or in a scripting block? Any thoughts?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.