Need development and API help? Ask your questions here!
Recently active
I want to make an automation that runs a script, and in that script I'd like to call an ajax function (either with jQuery somehow or with XMLHttpRequest() etc.) to grab some external data from a Google calendar. Is this possible? I've searched around and can't seem to find any information on it and the script editor says the ajax functions aren't defined, so I'm not sure if/how I can include jQuery if that can help.Thanks
Hello,I am setting up a record to duplicate a record (but only certain fields) in a base by taking input variables and then creating a new record and inputting these into the new record as suchlet recordIdNew = await table.createRecordAsync({ "DateTest": StartDate, "SingleLineText": SingleLineText, "PhoneNumberTest": PhoneNumberTest, "CheckBoxTest": CheckBoxTest, "LongTextTest": LongTextTest, "EmailTest": EmailTest, "SingleSelectTest": {name: SingleSelectTest},}); I have managed to achieve this with all the required data formats but I’m really struggling with Multiple Select. I am able to pull the data from the original records field and it shows in the console as followsCONSOLE.LOG▶(2) ["AA", "BB"] The issue is, I don’t know how to add it to the new record (like I am able to do with all of the other data types) I have
Hi,I am working on a project requiring syncing complex data to Airtable. After having errors due to some columns containing json data (working on a Python script), I switched my API queries to typecast=true which solved my issue (json data is converter to text).https://airtable.com/developers/web/api/create-records#request-typecastHowever, I was surprised that using this parameter gives me some errors on dates formatted as "2023/01/19 10:12:18" while same data was working correctly with typecast=false :requests.exceptions.HTTPError: ('422 Client Error: Unprocessable Entity for url: https://api.airtable.com/v0/*********/*********', '422 Client Error: Unprocessable Entity for url: https://api.airtable.com/v0/*********/********* [Error: {\'type\': \'INVALID_VALUE_FOR_COLUMN\', \'message\': \'Cannot parse date value "2023/01/19 10:12:18" for field date_intervention\'}]')Isn't typecast=true supposed to be more permissive ? If so, why such errors on dates while they are accepted on typecast=
I’m using a button to trigger a Zapier webhook. It’s annoying that every time the button is clicked, a browser window is opened. As I can select to run a script with the push of a button, is there any way to run a script in the background that triggers the webhook? Thanks!
Good day,I would like to download attachments via a link keeping the original file name. I managed so far to upload a document with the correct file name but the issue is that when downloading in another page it becomes a new generic names for all filesDo any of you know a solution to this? This is currently being integrated with Softr.Thanks
Hi all!I'm very new to scripting and I have this code that was working before until recently. When I run the code I see TypeError: Cannot read properties of undefined (reading 'getCellValue') at main on line 271Line 271 is let client_apps = globals.site.getCellValue("Apps") For reference this is the first part of the code that the line is referencing: var globals = {} let client = await input.recordAsync("Which client has a change?", base.getTable("📊 Clients")); const sitesTable = base.getTable("🌐 Sites"); const sitesQuery = await sitesTable.selectRecordsAsync({fields: ["Apps", "Client", "Site Name", "Site Type", "Status"]}); // Does the client have multiple OTT sites? If so, we'll need to know // which app suite the change applies to // Get all the client's Site records var clientSites = sitesQuery.records.filter(record => record.getCellValue("Client") && (record.getCellValue("Client")[0].id === client.i
Hi guys and gals 🙂I am a newbie to Airtable, can someone help me out with the script and automation?I want to populate two fields in the column Notes and Points with the data returning from a web API call using bearer token authorization, but I also need to add the parameters included in Product and Quantity in the API call and filter out specific elements from the json file to be stored in the field Notes and Points.I have the following columns:RunWork | Status | Product | Quantity | Notes | PointsRunWork contains the checkbox.Status is either blank, In Progress, DoneNotes and Points will get populated with json data from an API call.My logic would be, If RunWork is checked,-> Then change Status to In Progress-> Then populate Notes and Points using parameters in Product and QuantityWhen all fields are filled,-> then change Status to DoneAny help or code example is greatly appreciated!
Hi! I'm fairly new to API's and using it to pull data. I'm trying to pull data from all my tables in one of my bases using the AirTable PyAPI. The problem I've noticed is that when I pull these records, the linked records seem to appear as keys (e.g. as ['rec0v48BBolMT6HD1']) but I wanted to map these to the values they link towards in other tables. Is there any way to map these? Thanks!
Hello,I created Oauth2 integrations on your website, and now I do the authentication request and then the token creation request, like described on your doc.The problem is that I can get the access token, but it doesn't work every time, it seems that I get to randomly. However I always do the same way. I also tried with Insomnia and Postman, and when it does not work, I get the response :'Response': '{"error":"invalid_grant","error_description":"Unrecognized grant code"}'I verified, the code_verifier is the same in the two request (/authorize and /token), so the code_challenge is the same as in the response.Here is my request to /authorize : $"https://airtable.com/oauth2/v1/authorize?response_type=code&client_id={OAuth2Infos.ClientId}&code_challenge={codeChallenge}&code_challenge_method=S256&scope={OAuth2Infos.Scope}&redirect_uri={OAuth2Infos.RedirectUrl}"And for the /token request, I send :authorization_code:<received_authorization_code>, redirect_uri={
Continuing the discussion from Creating new row entries from a long text: Since this thread was closed and I’m facing a similar problem I was wondering if someone could help out. I have a Long text field in my table, lets call it “Task Submission”, that I would like to create entries in another table from each new line of text, as shown in the image below. Is there a Way to script this to run manually or automatically. I have an enterprise plan. I need this because i need users to submit new tasks that need to be followed in another table. thanks
Hi there, is there a way to get the list of workspace collaborators without having an Enterprise subscription? Just getting their name, photo and id
I’m trying to use an offset parameter in an API call in order to retrieve more than the first 100 records. I’m getting this error: {‘error’: {‘type’: ‘INVALID_OFFSET_VALUE’, ‘message’: “The value of offset ‘(record id)’ is invalid”}} Can anyone help with what’s going on here? Is there a different way it’s supposed to be formatted? Thanks!
Not sure this is documented anywhere, but I did find out that there might be a bug in the oAuth 2.0 flow when retrieving a new access token using a technically valid refresh token that isn't the "newest" refresh token.Steps to reproduce:1. Go through oAuth flow and store the refresh token as refreshToken1.2. Get new access token from refreshToken1. (this will work perfectly)3. Go through oAuth flow again with either the same bases or different bases and receive new refreshToken24. Try to get a new access token from refreshToken1 (this will fail)5. Try to get new access token from refreshToken2 (this will succeed)So if we have a user that goes through the flow twice, giving different bases to different parts of the application, are we supposed to remove all instances of the previous refresh token? I believe most other instances of oAuth 2.0 flows will allow you to continue using the previous refresh tokens so this might be a bug.
Hi, my app Finta is using the new Oauth authentication. Right now, my method is that for every request, check to see if the access token has expired or will expire within the next 10 minutes. If so, request a new access token and then proceed. I'm running into an issue where my app attempts to refresh the user's access token potentially multiple times at the same time. For example, my user might request to see their Airtable bases on the frontend at the same time that a function on the backend performs an action that requires using the user's credentials.Unfortunately, Airtable revoke's a user's refresh token if it's used more than once 😞. How are other people solving for this? My initial thought is to just create a cron job that runs every 10 minutes that checks to see if any access tokens are expiring soon. If so, refresh. That way, my main application functions won't collide.
Hi,Looking to have a simple web page with one search field and a button. This web page for the clients, so they can enter their Customer ID, click the button, then a connected epson printer will print the order info based on sortable data. The amount of search at the same time not that big, we expect have 10 person each at the same time, so I hope this not affect process speed.I want something pretty on the front end, like our logo and a colorful button.The airtable data is som simple, just a table with Customer ID, product name and Quantity.would appreciate to know how to achieve that, Thanks
I'm using Airtable Web API to build a web-application, it's going great so far, every time user updates a cell, I get a notification about it via the email by using a formula of last_modified and comparing it with current time.But here is the error, when a user changes a table fields name to something else, there's no notification.For example here changing "Status" to "asf" there is no notification of, "Status" has been changed to "asf". Anyone might have a function in API to do this?
Is there any way to get a record by a cell value? I have an API hitting a webhook and passing in an external ID, which is present in the table as a value in the “External ID” cell. I need to get the associated Record. Seems the only solution is to iterate over the entire table until I find the assocaited record using if( record.getCellValue("External ID") == input.externalId ) { ... } Would love to know if there is a better way.
Hi All Am wondering if anyone can help me integrate the PhotoRoom API with Airtable. Notion Notion – The all-in-one workspace for your notes, tasks, wikis, and databases. A new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your team The API removes the backround from an image. I am running into roadblocks, and get the following returned: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> 400 Bad Request Bad Request Could not decode image, ensure image_file or image_file_b64 is set I am very, very new to scripting, and this is probably quite a straightforward task for an experienced coder / scripter!! Any guidance as to how to do this would be greatly appreciated. Thanks Jamie
Hi all!Is it possible to scale with airtable? I'm looking for recommendations on how to get around airtable's 5x / second limit API call limit. Looking for a tool that can queue up the requests for me and send them through under the threshhold. I am using Zapier with airtable for a lot of automations. I'm worried as I start adding my new clients then it will break.I've found two tools that an do this. Anyone have experience?https://nocodeapi.com/ - looks promising but customer support is atrocious. How do I know i can trust them? Anyway their product signup doesn't even work. Website has many problems. Not trusting them with this important info.https://rapidapi.com/aircache/api/aircache - no experience with them. Again could work.Others?
I've run across a script in our base that uses this code:let view = await input.viewAsync("Pick a view", "Projects");Our "Project" Table has 100+ views organized by sections, is there any way to modify the code to limit the input choices to a specific view section? (screenshot: Section=Templates) if not, are there other ways to limit the input options using a view naming convention or similar? Thanks for any input, I've reviewed this documentation, but didn't find any guideance.https://airtable.com/developers/scripting/api/input
I have a script that is creating (by sourcing data from airtable tabs) a large text result that I would like to store as a file attachment column in airtable. I cannot see how to take a text variable (e.g. 1000 lines of text) and turn it into an attachment in an airtable attachment column, all within a script. I would much prefer to be able to do this all from within the script, rather than POSTing the content to some file store site on the internet and then adding that URL to the attachment. thanks David
Sorry if this is a stupid question. I am trying to develop an extension and going through the getting started guide but I got stuck in the first page. The guide talks about Airtable's terminal as something obvious that everyone knows where to find it, but I can't find it anywhere! Itried to search for it, even typing it on google or searching here, but no luck. Can someone please help?
Hello, I want to access the access point https://api.airtable.com/v0/meta/whoami with my auth token as decribed in the doc but I always receive an error...This is the response received : {"error":{"type":"NOT_FOUND"}} Someone had the same problem ?Thank you for your answer !
I would like to create a script that creates a number of records based on a quantity field. Essentially, if there is a record that has a quantity (x) of more than 1, I want to copy and create that record x amount of times within the table, then lower the quantity for the record and each subsequent record to 1. I have some of the script set up. Are there any ideas on how I could specify the # of records to create, based on the quantity field, using createRecordsAsync in the Scripting Block? As usual, thanks for the help!
Hi, I'm trying to write a script that will extract a video link from a field, extract video details from that link, and then automatically input those details into specific fields in a table. However, the script is not functioning as intended. I would greatly appreciate it if someone could provide me with some guidance on how to fix this issue. Script:const AIRTABLE_API_KEY = 'Airtable API'; // Airtable API keyconst YOUTUBE_API_KEY = 'YouTube Data API Key'; // YouTube Data API keyconst baseId = 'Airtable Base ID'; // Airtable base IDconst tableName = 'Airtable Table name'; // Airtable table nameconst recordId = 'Airtable record ID'; // Airtable record ID // Get the value of the "Video" field from the Airtable recordconst url =&nbs
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.