Need development and API help? Ask your questions here!
Recently active
I have a table with an audio preview attachment as a field and I am trying to use the scripting block to get this field for a record. I can display the URL for a giving record with the code below but I am wondering if there is a way to be able to preview it from the scripting block, maybe with an audio player even? Any help would be greatly appreciated! let table = base.getTable('Music Collaborations'); let view = await input.viewAsync('Sort By', table); if (view.name == 'All Songs') { let query = await table.selectRecordsAsync(); output.text('All Songs Selected'); }else if (view.name == '5 Star Songs') { let query = await view.selectRecordsAsync(); output.inspect(query.records.length); output.table(query.records[3].getCellValue('Audio Preview')); }
I have been successfully sending data from Parabola to Airtable via the API export, but now I have been receiving 422 errors saying: { “error”: { “message”: “Unknown field name: “Moda ID””, “type”: “UNKNOWN_FIELD_NAME” } } However, “Moda ID” is a field in my table. Does anyone know why this might be happening? Has Airtable changed something in their API?
Hello, I have a base designed to track some packages shipped in a “Packages” table. Some of these packages may be linked to the same shipment, as signified by a “Shipment ID” field. I’m working on creating a script that passes only unique shipment IDs to a “Shipments” table, so that I can link packages to their respective Shipment ID and roll up values from the “Packages” table for some further analysis. Currently, with my script, I was either hoping to only put Unique IDs into an array, or, from an array I pass ALL the IDs into, create a second array that only captures the unique IDs, and with that, I can create records in the shipment table that I’ll link with either the same script or a different one. The issue I’m having is that, when I use the output.inspect() or console.log() to view the array, the array displays as [Object, Object, Object, …] and when trying to pull only unique values, even though they might share unique values, it treats them all as distinct. Any advice on this
I have a base with several collaborators. Some are listed in columns with collaborators and some aren’t. I want to use the api to retrieve a list of all collaborators belonging to the base in question. Is that currently possible?
Hi All, I’m having some trouble implementing AirTable API into a C# application. I am trying to create a web application for my operations team and I would like to use the data they are posting in Airtable.com to our asp.netcore MVC web application. Unfortunately I’m having some issues implementing the API into the project folder. In what folder would I place the API>? Also if I’ve already downloaded the Nuget package do I also have to create a class library for the github source files or will the nuget package be enough as long as I remember to call it with “using”? Any help is appreciate thanks again.
:wave: Zach here from the Airtable team. We have a new beta launching soon that may interest anyone who’s been using scripting block. With the scripting action beta, you can trigger a script to automatically run when a record enters a view in an Airtable base. For example, you can run a script when a form is submitted, or when a change is made either inside Airtable or using the Airtable API. If you’d be interested in trying out the scripting action and sharing your feedback, fill out this quick form and we’ll be in touch as soon as the beta is available: https://airtable.com/shrEuuvkrSt1WW3so
Hi Is it possible to read and write comments for the record using Blocks API? Or will it be possible in future?
Hello Brains! I am looking for a way to quickly “fill inn the blanks” with the value of the above cell. Something like “if cell is empty, then copy value of above cell”. (This is an issue after my weekly import to my base) I know I can drag down to copy - but when there are many lines downwards, the speed is increasing to a level I am not in control of, and I risk scrolling too far and end up overwriting a cell. So I am stuck with ctrl+C, ctrl+V, but that makes a lot of manual work, and is a source for errors. (I also have coworkers in the base, so I need it to be easy, quick and safe). Any tips, tricks, formulas or scripts?
when i go to get into it says its outdated but also im using the most recent version.
Update (June 25, 2020): The button field is now available for all users — read more in our launch blog post: https://blog.airtable.com/now-available-button-field Hello! We recently announced the public beta of the button field (New beta: button field), a new field type that allows you to trigger customizable actions with a button. It allows you to perform actions in several blocks, including “Send email with Sendgrid” and “Run script”. These actions use the record that the button was clicked from to perform the specified action. We’re excited to announce that you can also use the button field to perform actions in custom blocks. Here it is in action (source code below): New APIs Two APIs are available: useRecordActionData registerRecordActionDataCallback Both register your block to receive these “record action” events (button click) and give you the data corresponding to the record that the button was clicked from. See the API references for more details and examples. The new APIs
Hello, I see that there is a rate limitation on querying Airtable records. But is there a limitation on Airtable attachment links? I am building a table (and form) where users can upload multiple files for one entry. Later I would need to download these images off Airtable to a local DB. When downloading the CSV from Airtable, the attachments appear as links from Airtable. Would like to know if there is any specific rate limit on hitting these URLs. Thanks!
Sometimes when state changes in my application the entire block reloads and this destroys the workflow of the entire application. How do I fix it
My Daily Bookings Table is the centre of my workflow. I was URLing our Daily Bookings across to Google Cal but this was taking too long to update. I then tried to Zap but it appears Zapier can’t make changes to records that sync across airtable and google cal. I am currently looking at zzBots integration. Does anyone have a calendar from airtable that they are updating and making changes to that is synced with their Google Cal? What are you using to do it?
Hi all, I am managing a Slack community in which I use Airtable to record all user information. I would like my Airtable to also keep track of the last time my users accessed the workspace. On Slack’s end, this can be achieved through the team.accessLogs method of the Slack API (see here). How can I set up some Zapier-like automation that calls the API once a day and updates the info on the table? Thanks in advance :pray:
The custom block seems to retain the scroll position when moving between components which get replaced based on State. Is there any way to always load page with scrolled at top of Block UI?
HI, I read the document : https://airtable.com/appEYx9XUfEttr3Nr/api/docs#curl/table:table%201:update I just copy and past the code… and i get errors… but getting records or creating records it is working… I put the api_key as a parameter and in headers both doesn’t work for updating the records… In the header is put Content-Type: application/json https://api.airtable.com/v0/appEYx9XUfEttr3Nr/Table%201 { "records": [ { "id": "recwpwzgzp7pTHfMb", "fields": { "Name": "test", "Notes": "test" } }, { "id": "recjKjPPQqaXh60MH", "fields": { "Name": "test2", "Notes": "test2" } } ] } { “error”: { “type”: “INVALID_REQUEST_UNKNOWN”, “message”: “Invalid request: parameter validation failed. Check your request data.” } }
Hi all! I’m trying to read from two tables using useRecords which have a limited number of fields to create a stateful content variable which I have to pass on to the next react Component. Here’s my code const { translator, compId } = props; // Block viewport const viewport = useViewport(); const [editorVisible, setEditorVisible] = useState(false); const [content, setContent] = useState(demoContent[0].content); // Block settings button useSettingsButton(function () { if (viewport.isFullscreen) { setEditorVisible(!editorVisible); } else { viewport.enterFullscreenIfPossible(); setEditorVisible(true); } }); // read the current tables and translate the content to // 'content' object const contentTable = base.getTableByName("Content"); const detailsTable = base.getTableByName("Details"); const contents = useRecords(contentTable); const details = useRecords(detailsTable); const relevantDetail = details[0]; const myContent = conten
Hi, I captured a screenshot via code and it returns me data uri of image. I need to upload that on airtable but when i tried manually through aortable link url option in attachment field, getting this error “Error fetching URL metadata.” I need to confirm that i will accept data uri or not. How i will upload screenshot through code if its not accepting data uri of image. Thanks in anticipation
Is it ok to use the Air name in the naming of our app?
I wanted to enter the Airtable Blocks contest but I don’t have a Airtable pro account for testing my application. Is it possible to get a coupon code for a testing workspace so I don’t need to pay? Thanks, Rob
Hello there, Please help me out with Integromat Search module. I used this formula in Integromat Search module to send email 2 days after check out. Check-out is lookup field. IF(AND({Rev}!="", { :x: }=BLANK(), DATETIME_DIFF(TODAY(),{Check-out},‘days’)=2),“1”,“0”) The formula seams to work in airtable, but the search module does not always return correct result. for ex. same email was sent 2 days in a row, which should not be possible because 2 days difference can be only on one date :confused: Please advise, Thank you
I would like to fill a field that results in this HTML text The items in italics are Airtable fields within that Airtable table <!DOCTYPE html> <html> <body> <h4 style="text-align:center;">*Workshop Title* </h4> <p style="text-align:center;">*text Date Range Friendly* <br>*Text Bottomline* <br>*Medium* </body> </p> </body> </html>
Hi, I think I’ve figured out how to retrieve a unique record in my table using the following filter, but how can I get the ID of resulting query? let filteredRecords = query.records.filter(record => { let name = record.getCellValue('Order/Shipment ID'); return name !== null && name === range }); I’ve tried the following but am getting an error let filteredRecordsResult = filteredRecords.records[0]; output.text(filteredRecordsResult.id); Error: TypeError: Cannot read property ‘0’ of undefined
Hi, is it ok to integrate the block functionality inside another app for displaying purposes?
I have a fairly large base (approx. - 20k records, 20 tables, 300 fields, hundreds of views, etc.) and I am no longer able to open the IOS Airtable app (keeps crashing). Also tried to open via desktop mode on iPhone10 browser but crashes too. I must currently use a desktop/laptop to access my base. My temporary workaround was going to be use a shared view/snapshot of the information that I always need when away from desktop/laptop (view only/no editing) which would limit the records down to the view of a few thousand records. That worked ok, however I can’t filter & sort the information using the mobile website. Tried switching to desktop mode, which would have worked great, but I can’t scroll the base up/down & left/right. Any performance updates coming to IOS App? OR ability to filter/sort on mobile website views? OR ability to scroll on IOS with browser in desktop mode? Thanks.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.