Need development and API help? Ask your questions here!
Recently active
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
How can I change the Created by field code to tag the user when I have applied it to an Automation? Without the Automation the Created by field correctly shows the user's name, although when I apply an automation it says Created by Automation. Is there any alternative to this feature or is this inherent to the current application of the Created by field in Airtable?
Hi guys,I'm relatively new to scripting, so I've mostly used scripts I find in this amazing community and adapted them to my tables. Once such script I've tweaked to create junction tables. It automatically creates entries in a junction table when a linked record field is updated. It has been working pretty well for a 5-6 months now, then all of a sudden earlier today, it started giving the error:ERRORTypeError: Cannot read properties of null (reading '0')at main on line 38"Usually I can figure out what is going on and fix it, but this really has me stumped. I didn't touch the script today (I'm the only one who manages them). I took a snapshot of the base from this morning and the script works in that, so I tried to copy/paste the code from that to the live version, but it still didn't work. Which lead me to believe that has something to do with a change in the base, like a changed field or table name. So I thought, okay maybe someone accidentally changed a field name. Double chec
I want to get the available views/segment from Air table through Apiso please suggest me which plan will have this featureat this point i don't want to choose the enterprise plan
I want to help make my company better with scripts and extensions. However, I am not fluent with Github or Javascript.I am a quick learner. I think that there are some ideas that I have that could be accomplished through extensions and scripts. I am just wondering if anyone has some advice on how to get started? Maybe a beginning script or extensions I can build for AirTable that would be a proper introduction to it. I would love to create some functional buttons for my interface that link to scripts. Drew
Hi everyone! I’m happy to announce that we’ve released a new scripting API capability today, and this is available in both the Scripting App and the ‘Run a script’ Automation action. You can now select records by recordId, either by setting a new recordIds option when calling selectRecordsAsync or by using the new convenience method selectRecordAsync when you only need one record. This will be especially useful in Automations, where you can now easily select a Record based on a trigger or Find Records output. Examples: const recordIds = input.config().recordIds; const table = base.getTable('Team'); const recordsResult = await table.selectRecordsAsync({fields: table.fields, recordIds}); const records = recordsResult.records; for (const record of records) { console.log(`Record name: ${record.name}`); } and const recordId = input.config().recordId; const table = base.getTable('Team'); const record = await table.selectRecordAsync(recordId); if (record) { console.log(`Record name:
In the API definition for RecordQueryResult it says A RecordQueryResult represents a set of records. It’s a little bit like a one-off Airtable view: it contains a bunch of records, filtered to a useful subset of the records in the table. but in the API for Table there’s no way I see to filter when calling selectRecordsAsync(). Is there no way to query only a subset of rows in the table, i.e. the equivalent of a SQL WHERE clause? If so, what is the RecordQueryResult documentation referring to regarding ‘filtered to a useful subset’?
When sending an automation mail (using gmail or Airtable mail) how can I know if the mai was opened, resended, date opened etc Like in other email platforms like Mailchimp.
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.