Need development and API help? Ask your questions here!
Recently active
I have been trying to get the script "Create records for multiple templates" to work in an automation script. I am trying to get this to work because the button I have in the base the run the extension script does not work in Interface Designer. Any Help or insight to get this to work would be greatly appreciated, or if you know of a work around to get the button to work in the interface that would work as well. Below is the original script and the values from the base used to the script prompt. this is the code from the script:// Create settingslet settings = input.config({ title: 'Create records for multiple templates', description: 'This script will create records in a child table that link back to a parent record and are based on the template records that 
We are using the prebuilt tableau web data connector and are running into issues with Tableau Server. Our workbooks perform as expected in Tableau Desktop, allowing the pull and refresh of Airtable data. When we migrate the workbook to the Tableau server, the connection to airtable fails.
HelloI've been working on a script all day in the Script Extension thing, and it's been working fine until just now when I went through to comment out my console logs I was debugging with to tidy up the code. I went to run the script one last time and now all I get is the "An error has occurred" popup telling me to refresh the page (which doesn't help).Any ideas what causes this or how to fix it? Really need to have this working!
The client secret is described as:An optional private key that authenticates your integration when requesting an OAuth token.You should only generate a client secret if you are requesting OAuth tokens from a server. Do not generate a client secret if you have a desktop, mobile, or web application directly issuing the OAuth token request.Can anyone clarify why there is a difference between requesting a token from a server and from an application? Isn't using a client_secret generally more secure?If I am creating an OAuth app that will be used by others to authenticate from different machines and possibly servers, should I add a client_secret or not?
I am building an integration for Airtable extension on Zoho's cliq. And I need to get the base collaborators for performing some core functionality. But it seems to be a part of enterprise version. Is there any way that I could get the base collaborators without an enterprise version.
I am really struggling to do something as simple as "clear" a records linked field value.I have tried... table.updateRecordAsync(r, { "Linked Field": [{id :''}]}); table.updateRecordAsync(r, { "Linked Field": [{id :null}]}); table.updateRecordAsync(r, { "Linked Field": []});If anyone can let me know how to clear a records linked field that would be amazing.Thanks
i have 7 ids, i want only that 7 ids records only, how to get this
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
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.