Need development and API help? Ask your questions here!
Recently active
Use Case: You have a table of stylists, therapists, technicians, etc. (“agents”) who perform any number of services, and customers are supposed to schedule an appointment with an agent to perform a service but only when that agent is available. While you think the No-Conflict Asset Reservations script is great, it doesn’t take into account your need to schedule an agent for more than one appointment per day. Solution: No-Conflict Appointment script by Kamille. An improvement upon my previous script, you can now schedule same-day appointments assuming those appointments don’t overlap. It allows users to select a service, pick a qualified agent/employee to perform that service, and then select upcoming dates and times which work for that agent. The script opts to use buttons as opposed to text box inputs to reduce human error in typing in correctly formatted date/time strings. Since there isn’t a datetime picker input type, I basically hacked my own using two conditional button inpu
I’ve been using the expandRecord() function call to provide a quick way to update content in my Block interface, but I would LOVE to use that flow for new data entry as well. Is that possible? I’ve read through the documentation and example projects and I didn’t see this noted. And expandRecord() does currently require a record to be passed to it.
Is this on the radar? Using "!=blank()" is not returning the correct result Formulas :angry: Just got bitten by this one again. Is this on the list guys? Using the API in my case: [myDate != ‘’] works fine, [myDate != Blank()] does not and in my case returned a truckload of records that didn’t need updating. I’ve posted other examples before, but blank() still is dangerous…
So this is probably a dumb question, but I have hit a wall! How do you write into a Date/Time field with the current date in the locale timezone? I have tried the .toLocaleString() method and the console will output everything perfectly, but nothing shows up in the field. This is what I have. var rightNow = new Date(); var res = rightNow.toLocaleString(); table.updateRecordAsync(record,{ "Date/Time Submitted To Shipping": res }) Any help would be greatly appreciated! Update: I can get the Date/Time in a Date/Time field by using the .toISOString() method, but the time is 5 hours off.
i have button to add record. before release , in development ,was able to add record from custom block succesfully with `table.createRecordAsync’ . when block is released does not add new record. block is started on terminal
Hi team, I’m working on an exciting block for the Devpost but that requires a user to prefill a few things (AWS key/access) and I see that in the Google Translate block, there is a nice Wizard set up page: Is there some sample code somewhere where we can see how the wizard works? It’s not listed as a component on Airtable Blocks SDK but the Design guide does seem to reference it Quip TIA!
I’m working on getting my dev environment ready to start working on a custom block. However, I’m running into an error. After running block run in Terminal and allowing my browser to load https://localhost:9000, opening the block in Airtable yields: /usr/local/lib/node_modules/@airtable/blocks-cli/transpiled/src/builder/node_modules/yaml/index.d.ts: Namespace not marked type-only declare. Non-declarative namespaces are only supported experimentally in Babel. To enable and review caveats see: https://babeljs.io/docs/en/babel-plugin-transform-typescript 107 | str: scalarOptions.Str 108 | } > 109 | export namespace scalarOptions { | ^^^^^^^^^^^^^ 110 | interface Binary { 111 | /** 112 | * The type of string literal used to stringify `!!binary` values. Any ideas as to how to start troubleshooting this? Admittedly, I work more with Python and this is my first dive into Node development.
Hey all, I think this is a bug, or maybe my React knowledge isn’t up to snuff. Looking at this Tooltip Example here: Airtable Airtable | Everyone's app platform Airtable is a low-code platform for building collaborative apps. Customize your workflow, collaborate, and achieve ambitious outcomes. Get started for free. import { Tooltip, Button } from "@airtable/blocks/ui"; const tooltipExample = ( <Tooltip content="Notifications" placementX={Tooltip.placements.CENTER} placementY={Tooltip.placements.BOTTOM} shouldHideTooltipOnClick={true} > <Button icon="bell" aria-label="Notifications" /> </Tooltip> ); When I add a “disabled={true}” property to the button in the above example, the tooltip no longer renders. This is unfortunate because my main use-case for a tooltip was to indicate why a button was disabled. Am I missing something? If it is a bug, do you think it can be fixed before ne
Hi there, is there any way to trigger the “Send Record” functionality from a Block? I see there’s a POST to https://airtable.com/v0.3/view/VIEW_ID/emailRows with a stringifiedObjectParams that I could derive within my Block. Is there a friendly function to call from the UI to make this, say, on the view object? Anything to note here about calling these types of functions from blocks in general?
Hi everyone! I have a table, a collection of URLs to different articles and videos. I wanted to have the text parsed from these URLs (the content of the article, description of a youtube video). I made it with python (beautifulsoup4) and made a serverless function for this. When I’m running it in scripting block, it gives an error message (‘TypeError: Failed to fetch at Failed to fetch’). It appears sometimes after passing perfectly 10 URLs and sometimes after 38, or after 3. So it looks completely random. When it runs to an error, I test it with the serverless function outside of Airtable’s scripting block, and it works fine there. Do you know anything, what could cause the error in random lines? Thank you in advance for the help!
Hi, I have a Table that I use for inventory/stock management. I was wondering is there a way that once a certain stock’s quantity reaches a limit (i.e. about to run out), can an email be sent out directly to use (as a reminder) or directly to our supplier to order in more stock? If this can be done internally with Airtable, that would be great. Alternatively, if not, would it be possible to use Zapier to connect our Airtable and create a zap/trigger so that once the stock quantity reaches a certain amount, an email can be sent? I was also wondering if there was a way to connect details from standardized emails we receive and organize to have the information automated so that it is entered into my one of my tables. Again, would this be possible by connecting Airtable with our gmail using Zapier to collect the information from the email and plug in the data in certain blocks within the table?
Hey there, it’s short notice but I would like to participate in the current Airtable block challenge. I have an idea for a quite useful block, the concept and could take over design and table logic. I need a developer, that can realize that. Depending on team size any prize money is split per head count. Looking forward to connect. Stephan
I have integrated the Airtable API in my Wix site which was working fine with other filters but when I implemented date range filter with those filters then it’s showing empty items in response and here is the URL of my request https://api.airtable.com/v0/appGS7oZJd8MLqWKc/Candidates?filterByFormula=AND(({City}=‘Benton’),AND(IS_AFTER({Date_of_Submission},2020-06-03),%20IS_BEFORE({Date_of_Submission},2020-06-29)))&api_key=“key_provided_by_airtable”. I checked that on Airtable data UI by applying the same filter and it’s working fine over Airtable UI but not working in API calling when I applying the same filter via API.
We’re working on submitting a Team Voting block with a twist. And we noticed that there isn’t any visual controller for editing the fonts within the block (eg. editing the question, and the answers styles). Is this intentional? Is there a specific style our fonts should adhere to? If so, I’d love to know where we can get this info from, as to submit it pre-configured for this specific font style. Otherwise, end-users won’t be able to change the font. :roll_eyes:
Hi Airtable! I am in the process of backing up Airtable Records and I don’t want to lose my data when I restore them, so I have 2 questions. My understanding is that the API only allows 100 records. Do I need to change anything in the URL for Retrieving Records? Apparently, the default number is 3 or do I change it to 100 in the URL, before I run the scenario? https://api.airtable.com/v0/appTcwWOhdqs5mJXj/Imported%20table?maxRecords=3 I will be using Integromat to do this, Webhook=>HTTP=>JSON=>Airtable (using Airtable API) Does using Airtable API keep the data in these field types, when restoring records back into a base with the same field names and types: Attachment (one image per record) Date Field Date Field (formula) Currency Currency (formula) Multi select Single select Linked field (base has two tables) URL (websites-one URL per record) Any help would be appreciated. Thank you, Mary Kay
For the voting block we’re building, the end-users submit data we need to save. Because the Base creator can share the Base with read-only permissions, it means we won’t always be able to write data back to the Results table. Is this alternative approach to get the total votes using a Download CSV button reasonable, or we could somehow save back data in a read-only Results table / another base that’s not shared?
Hi All - I’m a React newbie. My block code is getting unwieldy and I would like to split it into a few different files, starting with the settings ui. I am unsure how to do this. In the settings.js file how does it look? Do I have a single function that returns a div with all the other stuff in it? Then how does the export line of the file look? Then, in the index.js file, how does the import line look and how do I call this function that has my settings ui in it?
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!
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.