Need development and API help? Ask your questions here!
Recently active
Input.fileAsync force change ID to Date. //read csv let latestStock = await input.fileAsync('Please CSV', { allowedFileTypes: ['.csv'], } ); console.log(latestStock); ↑It’s true ID"0002-3". But Date format. If Do you know resolve. Please teach me.
npm @airtable/blocks-cli Official command line tool for Airtable blocks development Does the public beta for the blocks cli allow the use of Webpack, Rollup, or another package to handle bundled CSS/JS? If so are there any examples? I have two Marketplace apps that use a package with a newer version requiring Webpack but am unsure how I could properly fold in a custom bundler, or if this is even possible yet.
I am trying to retrieve several records for which I know the ID but not the number of records: I tried to use Airtable’s search records but I don’t know how to fill in the Formula part : Can you help me ?
I need to monitor the use of the “Send email” automation action for many bases and over 100 users. Is it possible to use a script to create some kind of log of active automations? Or notify when an automation sending information outside of airtable is created or used?
Not sure why I keep getting an error message when I try to automate this script: I just need the first 5 digits of the Project code pasted into the 5 digit (linked) column. If it doesn’t already exist, it needs to create a new record. Help?
Hello, I am wondering if there is a way to set a timeout on an await call ? Essentially I have a script where the user is asked a yes / no question, if the user says yes the script continues, if they say no the script aborts gracefully. Upon aborting two functions are run to update statuses in my tables. However if the user does nothing, the script eventually timesout and aborts, and no “shutdown” functions are run. My question is the following: can I limit the await user input call to x number of seconds, so that upon timeout I can run my functions before ending the script ? Thanks in advance ! Best, Oscar
Hi, I have a table that I put numbers to all the columns daily. And I have a problem making a chart out of this. This table represents the visitor numbers of my website daily and I want to visualize the ratio of the visitor’s age group in total. columns are /Age 13-24 / Age 25-34 / Age 35-44 / Age 45-54 / Age 55-64 … Primary row is the date. I cannot figure out how I can make x-axis in chart same as my columns and show the sum of the everyday counts as y-axis?
Hi, any idea why is Vega-lite displaying the last month July 1 2022 of my table as the first month in my Chart, even before June 1 2021 ?!! this happen with whatever Date I start the table on. It looks like a Bug (in Vega or AT) to me, displaying the last month before the first one… Anyone facing the same issue, Thanks ! See code used { "$schema": "https://vega.github.io/schema/vega-lite/v4.json", "title": "Debug Test Chart ", "width": "container", "height": "container", "mark": "bar", "encoding": { "x": { "timeUnit": "month", "field": "DateTest", "type": "nominal", "sort": "x" }, "y": { "field": "VALUE", "type": "quantitative" }, "color": { "field": "NAME", "type": "nominal" } } }
I am trying to read formatted text from a rich text field via API. However, sometimes different text may result in the same Markdown representation. For example, each of the following four text snippets: ~a~ ~a~ ~a~ ~a~ is represented in an API response as ~~~a~~~. Is it possible to get the contents of a rich text field that can be decoded unambiguously?
I am attempting to create a simple script which will count the number of entries in a linked lookup field. My plan was to invoke .selectRecordAsync() on the table of interest to pull the records and count the number of entries for a given record in that field. I’ve run into an issue early on with this script: the selectRecordAsync call appears to only be returning the name field and Id for the records, but no other data. My code is below. let vendorTable=base.getTable("Vendors"); let quoteField=base.getTable("Vendors").getField("Quoted Parts") let records= await vendorTable.selectRecordsAsync() console.log(quoteField) console.log(records) let exampleValue=records[0].getCellValue(quoteField) console.log(exampleValue) I’m getting the following responses in the console. My table is structured as follows: The only issue I can think of off hand is that all of the fields (aside from name) are linked or lookup values. What am I missing here?
I wanna delete cells-value in Amount Field. I am referring to this↓ 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. 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. but I can’t.参考にしています I wanna just all clear Amount field Value… help me. //get table let merchandiseTable = base.getTable("C_商品"); let fieldAmount = merchandiseTable.getField("amount"); let merchandises = await merchandiseTable.selectRecordsAsync(); let merchandise = merchandises.records; //console.log(merchandise); //Amaount-fields value to null while (merchandise.length > 0) { tmp
Hey guys. I wanted the Enterprise API and i have registered with a free account for now. But the Page says that the link says “Page not found”. Is there something i can do? or do i need to switch to the paid version to access it? 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.
I have a simple script I’m trying to write, but since I’m new it’s not simple to me… LOL I have a junction table I’d like to automatically populate. In this example… I want to connect every bug with every home. So anytime a bug is added to the Bug Table, the junction table is updated to connect it with every home. Likewise, whenever a Home is created, the junction table is updated with every bug. Lastly, I want the script to clear any junction records if either a bug or home is deleted. I started with the script from this thread HERE, but just couldn’t figure out how to modify it to make it work. Lollipops for anyone who can help me! Thanks. :slightly_smiling_face:
My application has several Select components which the user can use to enter information. The first two fields have only a small number of options. The third field has over 70 options and can be tedious to use. I want to use the values selected in the first two Select components to filter the available options presented to the user in the third Select. The options in the third select are pulled from records in the base. These records have linked fields. Some of these linked field values are options chosen in the previous Select components. So, lets say I want to filter returned records from a table where values in a linked field (s) match either the record ID of string value in said linked field.
I have an app that provides interface to add linked records. I want to prevent the users from doing the linking directly on the field. This is because the app adds the link to a view and creates backlinks in that view. when the user adds the links directly on the field, I lose the backlinks since Airtable does not allow backlinks when using views for linked records. I understand I cannot restrict permissions on that field since that disables permission for the App as well. I was able to get the changes in my app using useLoadable and useWatchable so everytime this field is updated in this particular view, i get the new queryResults. But I want to know what changed if a new link is added / deleted and if so what is the newly added link. How do I do this with blocks? Thanks in advance.
We have a script to add a record (client login info) to a table (ComputerLogins). The script asks the user to select which client the new record is for, from a clients table, which is linked to the ComputerLogins table. They are then asked what single-select category (“Portal”) the entry should be assigned. It then creates the record. Problem is that if a record already exists with the same category, for the same client, it creates a duplicate. We’d like to check the ComputerLogins table to see if (1) the client already has a record and (2) if they do, does it have the same category that the user wants to add? If it exists, then the record should be updated, if not it should be created. I’m new to this scripting but I can do the first part and the last part, but I’m having trouble with the comparison code. I’ve tried to figure out if it’s a records query with .includes or some && condition statement or some type of getAsString to do an if A===B then update statement. I think th
I am new to Scripting and need assistance with modifying the following Airtable Script, which is working well with the Base that I am creating. Unfortunately, I do not want the script to request user input for the number records to create; instead, I want it to use the number that is contained with in a field in the GOODS IN table. Can anyone help please? let settings = input.config({ title: 'Create child linked records', description: `For a record in a "parent" table, this script will create some number of “child” records in another table, where each “child” references the “parent” through a Linked Record field.`, items: [ input.config.table('parentTable', { label: 'GOODS IN' }), input.config.table('childTable', { label: 'LOTS IN' }), input.config.field('linkField', { parentTable: 'childTable', label: 'Linked record field', }), ], }); async function createChildrenLinkedRecords() { let { parentTable, childTable, linkField } = settings; if (
Hi All I’m building an app with Adalo using Airtable as my database. I have, as of now, 1 base with two tables, users and products. A product can have many users and a user can have many products. Obviously there is a linked field connecting Users → Products and it’s a multi-select linked field (a product can have many users). I’m trying to “add” a user or “append” a user to the user array through the airtable API (PATCH) and each time I get something to work, I can only get it to overwrite the current user in that table as opposed to adding a new user. Any thoughts on what I’m missing here? Thanks!
Is there a way to make createRecordsAsync create a new value when it is not present in a single select field? await table.createRecordsAsync([ { fields: { 'Print Name': prnt.name, 'Printer': { name: prnt.printer }, }, } In this example, I have two fields: ‘Print Name’ is a text field and ‘Printer’ is a single select. Is there a way to pass a value to Printer that isn’t already in the base? This happens on the GUI side if you’re copying and pasting values. I’m wondering if you can do it inside a script.
Hi, my code is working locally just fine but not on the server. The code’s purpose is to create a new record is created in Airtable. When I push this code to IBM Cloud Functions, which is equivalent to AWS Lambda if folks are more familiar with AWS, the code seems to finish before Airtable’s “create record in base” function executes. A little about the code: it’s an analytics function. It will take a search term, like “dog food”, figure out all of the products tied to that search (say there are 64 products) and for each of those 64 return five different scenarios based on whether our main Airtable has that data: relevant result (in this case, 50% or 32 relevant results) not found in database (in this case 28% or 18 not found) found, but missing country (in this case 8% or 5 missing country) found, but missing manufacturer (in this case 14% or 9 missing manufacturer) edge case (in this case 0% or 0 edge cases) All code samples are below. The code is two pieces, one is a “createRecor
I am wrote code (below) inside a Twilio function which utilizes the Airtable API which first looks up a record in specific table (“clients”) in an Airtable base. It then pulls field data from that record (using record.get), and then using JSON in the “Callback”, enables me to utilize that field data later on in my Studio flow. It works perfectly. What I’m trying to figure out now is how to reverse that procedure. I’d like, once again, to first find the Airtable record. But then, instead of using “record.get” to pull field data in; I would like to write/update fields back into that Airtable record. In other words, after the line that reads: “if (record.get(“Client_ID”) === clientnumber)” instead of the two record.get commands that pull data from the fields, what would the code be to write data (say just a literal string) back to those two fields? Thanks in advance for any help you might provide! My Function Code to Fetch Airtable Data Into My Studio Flow const airtable = require(“airt
Hi there, I hope someone can help me :slightly_smiling_face: I have been using page designer to create invoices, but want to automate the process a bit more. Page designer has a built-in line-items functionality and I’m trying to build the same, but the document gets created in Google Docs. I’ve tried a lot using Zapier, but wanted to reach out to you guys for any suggestions. I know of Documint, Formstack etc., but find these options wayyyy too expensive. Thanks & Cheers!
I’ve written an automation script that I’d like to migrate over to the scripting app. I know that there are some differences between the two, but I’m having a lot more trouble than I thought. The script connects to an external API and pulls data from the API into my base. I seem to be running into issues with the async functions I’ve written to connect to the API and pull the data in. The code works when it’s not wrapped up in a function, but fails when it looks like the example below: async function testFunction(){ let response = await fetch('https://api.github.com/orgs/Airtable'); console.log(await response.json()); } testFunction(); This code above works as an automation script, but not in the scripting app.
Is the fact that the Scripting app linter recognizes this method a bug, or a sign of things to come? The capital B seems to imply React shenanigans. I know there have been calls for table creation to be added to the app, but I didn’t think it would actually happen. I still don’t, but I guess that’s one way to place it behind a paywall in style come September (assuming Airtable actually comes through with it this time around lol). Either way, I’m afraid that trying to run this yields a full stack’s worth of a debugging mess instead of a new table: Edit: or have I just broken the app by running it on an iOS version of Safari? :grinning_face_with_sweat:
Hi, would it be possible to define a custom formula? For instance I want to make one that generates a UUID that can be used across a variety of platforms. Thanks in advance
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.