Need development and API help? Ask your questions here!
Recently active
Hi, i am using Aeropage to deal with recent update regarding the attachment url. I have a code as follows: const table = base.getTable("Inventory") const recordsQuery = await table.selectRecordsAsync(); let updateArray = []; // iterate over all records recordsQuery.records.forEach(record => { const attField = record.getCellValue("image"); // iterate over object and save as url if(attField) { let urlArray = []; let aeropage = "https://media.aeropage.io/api/imgcache/token/24e60d5167326c730fd9922adb892288/"+record.id+"?attachment="; attField.forEach(item => urlArray.push(aeropage+item.id)) // attField.forEach(item => urlArray.push(item.url)) const urlString = urlArray.join(', ') updateArray.push({id: record.id, fields
Hi, I am trying to patch multiple records to airtable using Nest.js. I've checked:- url should be correct: https://api.airtable.com/v0/${baseId}/${tableId}- headers with authorized token: const headers = { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json', accept: 'application/json', };- body is stringified with records array limited to 10: const body = JSON.stringify({ records: records, typecast: true, });my records look like:records:[{ id: 'recyhk6cWWQcVrG9s', createdTime: '2023-01-09T07:07:16.000Z', fields: { 'Code Specs': 'window.datalayer.push({\n' + ' "event": "select_content",\n' + ' "shipping_method": "${shipping_method}",\n' + ' "payment_method": "${payment_method}"\n' + '})', 'Code Spec Match': 'false', Platform: [Array], 'GTM trigger method': 'Datalayer', 'Event Name': [Ar
Hello there,I have a scenario where I would like a file that's uploaded to an Airtable form to be uploaded to Box. There seems to be an integration between Box and Airtable but it's super confusing to set up. Zapier does not read the records properly and have us guess which records are the right ones to use. Is there an easy way to set up this automation? 1. Airtable form is filled with an attachment2. Attachment is uploaded to a specific Box folder Thanks!
I need to store api key, username of multiple users like twilio accounts and get the stored data
Hi, I am using a WhatsApp bot as my source of data, and I receive inputs in various regional languages through webhook.For the fields declared as type NUMBER, I am not to store the incoming data from webhook of different language as it gives Field "Amt_Spent_New" cannot accept the provided value: Could not parse number. (Attached screenshot below)If I convert the NUMBER type field to TEXT, I am able to store the data but not perform operations on itHow can I tackle this use case? Any advice or help is much appreciated!, Thank you
I’m trying to script some record creation right now and it involves populating a multi-select field, but for some reason I’m unable to make this updating work no matter how I try. I know that a multiple select field needs to be updated with array values only, so this is what I’ve attempted: var book_arr = []; book_arr.push(book_num); await new_table.updateRecordAsync(newRecord, {'Book Number':book_arr}); where book_num is a single value that I know is already a valid option for the multi-select. I also tried to pass it directly when creating the record as just 'Book Number':[book_num], but no dice there either. I don’t see anything in the API documentation about updating the value of a multi-select field, only updating the options, so not sure where to turn here.
Hey, I just discovered a costly bug, or at least a terrible design.I am using Zapier to trigger emails when a New or Updated field in airtable happens. Apparently when you change the permission of a column, it triggers a change (in my case emailed 100 people). The bug part is that the email was sent because the field "Last updated time" must have changed, however, the actual last modified time DID NOT change. If you understand me, then you're as confused as I am. Try it.
Hello,I'm using this running total script which works great but I want to add another running total column based on another field to this. Any solutions on how to add another running total in the same script?The table and view are the sameThe fields would be different (Field Pillar & Domain is the same but instead of Q2 Demand it would be Q3 Demand)The sort would be the sameRunning total field would be Q3 Running Demand let table = base.getTable('Resource Capacity Planning'); let view = table.getView('Capacity Planning Include Only'); let result = await view.selectRecordsAsync({ fields: ['Pillar & Domain','Q2 Demand'], sorts: [ {field: 'Pillar & Domain'}, {field: "Stack Rank"}]}); let runningTotal = 0; let currentGrouping=''; for (let record of result.records) { if (currentGrouping !=record.getCellValueAsString('Pillar & Domain')) { currentGrouping=record.getCellValueAsString('Pillar & Domain'); runningTotal = 0 } runningTotal += record.getCel
Hey, I am wondering if it is possible to do these things using the Block SDK:1. Check if an automation exists in a base/table by name. 2. Create Automations on a table if they dont exist3. Automate updating an automation scriptUse Case: I have a Blocks SDK extension and an automation that both depend on each other(decoupled) if the extension exists I want to make sure the user has also set up an automation that goes along with the extension.I want to check if an automation exists under a certain string name using regex. Thanks
Test post for labels
I’m creating a WordPress catalog site, of which the products are stored in an Airtable database. This base remains the core of all our products, and with the use of a custom import script I’m pulling in the right data from Airtable to WordPress. Now I’m wondering whether I should also import all images (which are stored in the Airtable product records as well) to the WordPress media library (thus duplicating them), or whether I can just use the Airtable image urls which the api is giving me. An inspection of an Airtable image url (with httpstatus.io/) tells me that Airtable serves them from Amazon S3 via Cloudfront. On one hand I’m thinking it’s a good idea to use the airtable img urls because: They appear to be cdn-served and therefore faster and therefore good seo value it spares me importing hassle and hosting space On the other hand, I also have some concerning thoughts about doing so: dl.airtable.com is nowhere near the domain name of the wp site. Therefore google will punish
I currently am using Airtable as the backend for my company's app. The automations functionality and populating information automatically from a form are the biggest game changers we've had in a while. I understand that Airtable is not a backend and loading times are going to be slow. However, is there a way to improve loading times? our main table only has a list of 27 items (running a single formula). Reference files such as images and videos are also being compressed. I've tried pagination but the loading time still seems slow? It takes around 3 to even 7 seconds to load information. Thanks in advance.
I tried searching for an answer to this without any luck. I’m trying to create a button (linked to a script) that will add a specific comment to a record. Is that possible?
Hi all,I'm a complete beginner and have never worked with API's before. So I'm really sorry, but I'm hoping someone could help me, as I've been googling for days and don't know what is what anymore!I am trying to link my shipping solution (Shipstation) to my Airtable database.So far, I've managed to successfully set up a webhook, so when an order is shipped, Shipstation sends a webhook to Airtable. However the webhook is just a "resource_url", not actual useful data (like an order number). I've gone to the "resource_url" (which needs a username and password) and it has all the data I need.So I guess I need to "run a script" and write an API to go and fetch the data from the "resource_url", so I can then use the order number to "update record".I've added the "resource_url" from the webhook as a variable / input config.So what I need the script to do is;Go to "resource_url" (which is the input config called SHIPSTATION)Login with Username and passwordOutput the dataCan anyone h
I am working on Zoho 's cliq communication platform and I am developing an Airtable extension for that platform. When I tried to create connection with Airtable (actually the platform has a internal frame work kind of thing ) through which oauth connections can be made by providing the client id, secret and other credentials and the rest of the things are taken care of by the backend. And when I tried to create the connection. The authentication tab tried to load and closes automatically without any sign. I have provided below the url sent from the Zoho cliq platform to establish connection. I have intentionally provided the redirect uri wrong to catch the req formatRequest:http://airtable.com/oauth2/v1/authorize?client_id=<clientId>&redirect_uri=https%3A%2F%2Fdeluge.zoho.com%2Fdelugeauth%2Fcallback&response_type=code&scope=data.records%3Aread+data.records%3Awrite&state=fbfa4c39db9a4a9cd58b66b4126468dcda979b338eb5cb3ebefd4d7fe88403ad47b0683e85a
Hello! I have two tables "Event" and "Speaker". An Event can have multiple speakers, and a Speaker can belong to many Events. This is configured by a linked record column on both tables.I am currently querying 20 Events at a time, and though the response give's me the Speaker's linked primary record_id (~15 of them), it does not give me the full Speaker object.After some digging I see I can use the `filterByFormula` as part of the Speaker query, but the method I came across seems very cumbersome (chaining together multiple `SEARCH()` queries using `AND()` Link )Is there a way which I can pass an array of Speaker record_id's that return the full records of the requested Speakers? Similar to a SQL `IN` statement:```SELECT * FROM speaker WHERE id IN(< ARRAY_OF_SPEAKER_IDS >)```Better yet, is there a way to return a response that includes both the Event and it's associated Speakers? This would be ideal as Rate Limiting would be less of a concern.
Hi everyone! I've recently started using Airtable and absolutely love it ❤️However, I'm getting an error while trying to use the PATCH request to update a field in my table.My code is shown below:UrlFetchApp.fetch('https://api.airtable.com/v0/' + baseID + '/' + tableID + '/' + recordID, { method: 'PATCH', headers: { 'Authorization': 'Bearer ' + api_key, 'Content-Type': 'application/json' }, body: JSON.stringify({ "fields": { "OpenAI_key": userApiKey } }) });Error message:Exception: Request failed for https://api.airtable.com returned code 422. Truncated server response: {"error":{"type":"INVALID_REQUEST_MISSING_FIELDS","message":"Could not find field \\"fields\\" in the request body"}} (use muteHttpExceptions option to examine full response)Any help will be appreciatedThanks!
I see I can input the record ID of the modified record and any specific field of that record into my script, but what if I don’t know which field will be changed and I want to get that record’s field’s value? My early testing found script automation to be kinda slow, so I want to try and be as optimized as I can be from the start. My goal is to monitor >200 fields of a particular record type, then if any are changed, add those records together, create a running total per time period with that summed array, then update a separate record for running totals with that array. I found that addition and subtraction for this many fields at once took almost 30 seconds to update, so I want to only update the fields necessary. EDIT: Updated to give more details about my intentions
Good day,Since my site is integrated with Airtable, I would like to ask if I delete records in one table, would that affect the viewing in my Softr page? Is there a data retention for this?Thank you
Hi, is it possible to issue E invoice using Airtable based on ZATCA standards, like now KSA government linking all invoices via API in there portal from external apps.So if we create records it will generate QR code (contains company details) then the invoice send to govt portal via API for approval.This process flow is possible in Airtable ?
I noticed that running a script as part of an automation flow has some limitations in place, which are outlined here. I want to know if the same limitations apply when I am using the Scripting extension.Thanks!
Is there any way to access the extension APIs outside of an airtable extension? The view metadata provided by the extensions resources Airtable Blocks SDK includes visible fields and other view metadata that the public view metadata API does not have Airtable Web API
Hi there! So, I have a funny case. I wanted to connect to a webhook and grab some properties. I needed to create a script since I had nested data. I did that and noticed that I can't use updateRecordAsync() procedure inside scripts in automation. I then switched to Scripting Extension and managed to implement the script there. But, then I can't have inputs from a webhook, that is, I can't add a script from extensions to automation. Am I wrong and is this possible? (I hope) If not, is there another way to use the updateRecordAsync() procedure in automation or to add webhook input into the Scripting Extension?
Hi I hope you are doing well,I am new at using Airtable and I have created 4 tables in Airtable : clients, sites, projects, partners and agencies, the relationships are that to each client we assign sites and to each site we assign projects and to each project we assign agencies that are related to partners based on the region so in the table project for one project we may have more than one agency but I want to creat a column in project where we can only keep the agencies that are checked in the table of agencies.Thank you for your help
<iframe class="airtable-embed" src="https://airtable.com/embed/<share view id>?backgroundColor=green&viewControls=on" frameborder="0" onmousewheel="" width="100%" height="533" style="background: transparent; border: 1px solid #ccc;"></iframe>How do I get the <share view id> part of this url via api?? I would like to integrate iframe in our platform 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.