Need development and API help? Ask your questions here!
Recently active
Hello guys, I have an Airtable managing my bills in multiple currencies. I’ve been trying to customize the [Airtable Currency Converter] (Airtable Scripting) to convert each record with the conversation rate of its date. I want it to be automated given that I have 5,000 records of bills. I suspect my syntax is wrong, but maybe the logic of my code is completely wrong too. My code is the following : // load table and records let table = base.getTable("Table 1"); let result = await table.selectRecordsAsync(); // launch a 'for' loop to fetch conversation rate then update each record depending on value of "Date" field for (let record of result.records) { await // fetching exchange rate let apiResponse = await fetch(`https://api.exchangeratesapi.io/${record.getCellValue("Date")}?base=EUR`); let data = await apiResponse.json(); let conversionRate = data.rates.GBP; // updating the record table.updateRecordAsync(record, { 'Exchange rate': convers
I have a view where the primary field is an autonumber generator. About 12 hours ago my code below would have output the list of the IDs of all of the records in a view: let Table = base.getTable(TABLE_NAME); let view = Table.getView(VIEW_NAME) let query = await view.selectRecordsAsync(); for (let record of query.records) { output.text(record.name) } However, it is now saying that each of these records is unnamed. Oddly, the description of the “name” property says that it should be the string of the “Primary Cell Value”. Double clicking the autonumber field shows “This is the table’s primary field”. Can someone clarify my misunderstanding?
I have the code below that has been working for weeks no, and all of a sudden I’m getting an error when i try to process it. its really odd. It’s ran on the click of a button. ERROR L: linkedRecordIds at main on line 5 SUBJECT CODE let url = "WebHookUrl.com/xinvicdiieednisxso123232"; let table = base.getTable("TABLE TABLE"); let view = table.getView("TABLE VIEW NAME"); let record = await input.recordAsync("Pick a record", view); await fetch( url + record.id + "&" + "First Name=" + record.getCellValueAsString("First Name") + "&" + "Phone Number=" + record.getCellValueAsString("Phone Number") + "&" + "Email=" + record.getCellValueAsString("EMAIL") ); await table.updateRecordAsync(record, { STEP: { name: "DELIVERED" }, })
I’d like to get some clarification for how to import external node js libraries into custom blocks to work with other third party api’s within the blocks. I see statements on the Airtable help docs that say you can do this, but no documentation for how to do it properly and any limitations that exist. Also, there is no info online anywhere about whether storing your api keys in a airtable custom block or script is secure or how to do it securely. I’d like some guidance or documentation on this if possible.
Hi there, I’ve just made my first custom App (or Block as it used to be) with a d3 chart. So many possibilities! I can’t work out how you set a component to re-render if the viewport is resized. Any suggestions would be appreciated. Thanks, Bryony
Is there a way to maintain a connection to stream data from a base through a block? The reason I’m asking is that there’s a lot more information I can get about the base through the Block API than through the standard Airtable API.
I’m trying to parse XML pulled in from another API in scripts. I’ve tried using https://gist.github.com/petersirka/9e79b1d43cf6e579fc62 but it is insufficient as the parsing is not accurate in some cases. Is there a way we can use DOMParser() to parse XML? Thank you!
Hi friends, I am loving this so far but have a question about embedding a card view on a website: is it possible for the “link to people” function to actually link to those people and be clickable in the card view? It does this for me in the back end, but when looking at it in the embedded function this would also be a really good feature. Thanks for consideration.
Hi everyone, I have a column (Exact Employees) which contains the exact number of employees a company has and a column (Employees) with a Single Select field with brackets like: 1 to 10 11 to 25 etc. I’d like to have a script that would do something like: Check “Exact Employees” and if number is between 1 and 10, then select 1 to 10 in “Employees” and so on. Can someone help me get started? Thanks
Hello! Hoping you all can help. I have a base of Store Locations (name, address, website) and a related table of Deals (details, participating store locations). The Deals have a linked record field, Participating Store Locations, to attach one or more Store Locations records to each Deal. I need to display a list of Deals with the details for each Participating Store Location like this: DEAL 1 Participating Store 1 Participating Store 2 DEAL 2 Participating Store 3 Participating Store 4 Participating Store 5 I can get a list of the Participating Store Location record IDs for the store locations from the linked record field. I am having trouble getting the Store Location records returned from the find function. I think it has something to do with the timing of an asynchronous function. I’ve tried a few things to make a callback or promise work but my javascript is thin in that area and I can’t get it to work. Any help is greatly appreciated. Thanks! Here is the code: var storeLocati
I got a notification stating that “I can create a link to share blocks”, but I don’t know how to do it. Is there a new button where I should click? Does anyone know what I should do now?
Hi, Is there any way to load blocks in mobile phones ? Any known hacks? Thanks.
Hello Friends, I’m basically trying to make this Find and Replace script run in the automations feature, except instead of manually typing the inputs, just using the input variables entered into the block. I’m only python literate and thus far have only replaced the “findText” and “replaceText” variables: let table = base.getTable("crm_deals"); let field = table.getField("Deal owner"); let findText = input.config()["Input variable name goes here"]; let replaceText = "Input variable name goes here"; // Load all of the records in the table let result = await table.selectRecordsAsync(); // Find every record we need to update let replacements = []; for (let record of result.records) { let originalValue = record.getCellValue(field); // Skip records which don't have the value set, so the value is null if (!originalValue) { continue; } let newValue = originalValue.replace(findText, replaceText); if (originalValue !== newValue) { replacements.push({
Hey everyone. I’ve created a Button field (see bellow) that for some reason remains inactive. Surprisingly the exact formula works without any issues in a different table.
I want to use 3-rd party grid and chart libraries. FancyGrid fancygrid.com FancyGrid - JavaScript Grid Library for Enterprise | Angular React Vue grid... HighCharts highcharts.com Interactive JavaScript charts for your webpage | Highcharts It looks like I can do it and it works. But I am afraid about publishing and licences. Am I allowed to do publish in market place app with 3-rd party libraries?
Hello everyone, Although I am not new to Airtable, scripting/ coding is not something I am familiar with and I would like to ask if anyone can help with a script I set up below. Now that Airtable allows for sync bases, I finally have to opportunity to combine multiple bases in one and look up all records from one source instead of having to click at a million things. That said, since I have 8 active bases (the reason being that we are using Airtable to in order to Telemarket/ Telefundraise) I also have 8 synced tables - with multiple columns each - that are still kind of tedious to go through. I found this script from one of the Airtbale members that allows for a lookup function Now my question is: Is there a way for the if statement to update multiple records and if so how would that script look like? e.g if “Name” === the lookupValue then let returnValue = rangeRecord.getCellValue(“Attempt Counts”); let returnValue = rangeRecord.getCellValue(“Column 1”); etc. and update the main tab
Please ping me on whatsapp? WhatsApp.com Open WhatsApp WhatsApp Messenger: More than 2 billion people in over 180 countries use WhatsApp to stay in touch with friends and family, anytime and anywhere. WhatsApp is free and offers simple, secure, reliable messaging and calling, available on phones all over... Thanks. Yaniv
Hey, I have been reading carefully the airtable api documentation to work with my data. I tried copying and pasting the suggested snippets of code from the official docs into visual studio project. which is just an index.html boilerplate + an app.js reference in the same folder. I understand that in order to follow the documentation I must install airtable via npm into my project folder. All done. Now when I add the code to my project and save it, I get an error on the console: “app.js:1 Uncaught ReferenceError: require is not defined at app.js:1” Then I thought, this must be something to do with the airtable npm module not being referenced. I then look for a fix here in the community and could not find any, so a threat in stack overflow advice to include: import Airtable, { Base } from “airtable”; Now after saving and loading my html boiler plate and checking the console it reads: Uncaught SyntaxError: Cannot use import statement outside a module Can someone show me, how to list
We have been working on a custom block to write data from airtable into the Sanity CND with great success. We were able to use the record ID’s from airtable as the ID’s in Sanity. Now we are attempting the reverse with a GET request and this has been much more difficult. We have had to create logic for the id’s to be created in each application to be used by the other. This became even more complex today when we realized that a reference tag from a tag able was itself a record and still and instance of a record all over our second table. We are using a listener and Sanity uses documents and each has an id but the json response does not include the document id along side the transaction id. Any advice on how to go about patching multiple tables together? Or is this just over all a really bad idea? We have also requested from Sanity to see if they can add the document ID to the json response or if somehow we can find it using the transaction id. Thanks so much!
Is it allowed to do commercial SaaS app? I want to add the way to pay over paddle, entering License Key. By overviewing already existed apps, for me it is not clear issue with commercial SaaS apps.
I’m looking to see if anyone has tried creating a script that can pull the number of incidents associated with a problem ticket on Zendesk to a database column. We use Zendesk’s problem/incident to track the # of users affected by bugs. Would be great to be able to sync this data to our airtable so the user impact is continuously being updated.
I am wondering how best to create IF/THEN logic on a Facebook (or Twitter) attachment field within Automations. My use case is this – I have a Single-Select Field with a few pre-defined options (e.g. this is for concerts so “Show Announcement Graphic”, “Press Photo”, etc) and a “Custom” option for a manual attachment. I have an IF/THEN statement that takes your selection and pre-populates the image URL of the press photo, show announcement graphic, custom graphic, etc. This is the image URL that should then get posted to Facebook. The issue is that the Facebook Automation “Attachment” field can only reference an Attachment cell, so I can’t reference this URL in that field. Referencing it in Links serves up a link to the image in Facebook rather than the actual image. Is there any workaround here? I was thinking about writing a script that outputs the correct URL, then referencing that, but that does not work either. Another thought I had was an automation that uploads that URL as a
Hey, I have been reading carefully the airtable api documentation to work with my data. I tried copying and pasting the suggested snippets of code from the official docs into visual studio project. which is just an index.html boilerplate + an app.js reference in the same folder. I understand that in order to follow the documentation I must install airtable via npm into my project folder. All done. Now when I add the code to my project and save it, I get an error on the console: “app.js:1 Uncaught ReferenceError: require is not defined at app.js:1” Then I thought, this must be something to do with the airtable npm module not being referenced. I then look for a fix here in the community and could not find any, so a threat in stack overflow advice to include: import Airtable, { Base } from “airtable”; Now after saving and loading my html boiler plate and checking the console it reads: Uncaught SyntaxError: Cannot use import statement outside a module Can someone show me, how to list airta
Hi everyone! Lots of exciting announcements today on the Airtable Platform! For more information specifically about how this launch impacts developers - including updates to the Blocks SDK and how to submit an app to the marketplace - check out our post here. We’ll be hosting a live Ask Me Anything (AMA) session in this thread on Thursday 9/17 at 10am PT, where a number of folks from our platform engineering team will be online to answer any developer-focused questions you might have related to building Apps and submitting to the Marketplace. Feel free to begin posting questions here in advance! We’ll do our best to get to everything we can on Thursday. See you there!
Hello Airtable Friends! Custom blocks is extremely exciting! Has the Airtable team created a location to storing custom blocks created by the community? The scripting repository is awesome and I would love to see this for custom blocks. Thank you!
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.