Need development and API help? Ask your questions here!
Recently active
I am configuring a Learning Management System that has a master table of all trainings that could be assigned, which are then linked to an "employee type" table that contains every possible role. This is a modified re-creation of the "create new tasks for certain project type" script/tutorial found here: https://youtu.be/zHQjljEov30I was able to repurpose the script to create new tasks but I just realized, I think that the script is ignoring applicable trainings that are linked to multiple employee types. I am pretty sure the way the script is filtering through the templates is to blame. This section is what I think I need to fix. I am new to scripting and I'm not sure if there is a different way to basically say "if any linked records in "employee type" for task match the specified employee, return that task" Since right now I think it is only reading the first linked record employee type... does this make any sense? I can definitely link the whole base/script if unclear 🙂
Hi. I'm trying to create a new user via API. I'm passing names, and emails in the body payload but I always get an error, "Invalid request". Is there something I'm missing. Here's an example payload similar to what I'm using.{ "name": { "familyName": "Jane", "givenName": "Doe" }, "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" ], }, "userName": "foo@bar.com" }
What are the acceptable colour choices for single/multi selects in scripting?I've been creating new fields via a script and now I want to make a multi and single select, which is fine, I can do that much like so: await table.createFieldAsync("new", "multipleSelects", {choices:[{name:"test"}]}); But all the colours become grey and I'd like to specify the colour of the tag (or randomise it). I know there's a `colour` option for the array, but the documentation doesn't specify or give examples of what this should look like other than it being a string. I've tried using hex codes for colours, colour names etc., even the specific colour code of the default colours I can use, but I'm always getting this error message: j: Can't create field: invalid field config. Failed schema validation: <root>.options.choices.0.color does not match one of the possible values But I can't see anywhere that tells me what any of the "possible values" are!Can anyone help?Thanks
I’ve been trying to access the symbol of a currency field. However with no luck as my output returns undefined. I’ve been looking in the API reference and it seems the the field has who properties, symbol and precision. But how do I access the symbol value? const table = base.getTable('report'); let price = table.getField('price').symbol output.inspect(price) output.inspect(price[symbol])
This is a code that uses the Scryfall API to search for Magic the Gathering cards based on user input. The first line prompts the user to enter the name of the card they want to search for. The second line sends a request to the Scryfall API with the user's query, and the third line converts the response to JSON format.The code then checks if the API returned any search results. If there are no results, the code outputs "No results found." If there is only one result, the code creates a new record in a table called "Cards" in a service like Airtable with the card's information, and outputs a confirmation message. If there are multiple results, the code prompts the user to select the correct card from a list, and then creates a new record for that card in the "Cards" table.The issue arises when after the list of potential cards is loaded as search results, if it cant parse the card name it gives a bunch of options, no matter what option you choose, it wont actually add the choice as a r
In scripts we have input.buttonsAsync to create a n input button but if i would like to give a list with many options to choose from that is not very ideal. Is there any way to have a dropdown list (that is searchable & can have a default value)?On a side note is there also a way of having a radio button?
I released a custom extension I'd like to utilize in different bases within my own workspace. Is there any way to duplicate the extension in a different base without needing to create a new custom extension and re-lint it?
Around a month ago I discovered a discrepancy in the 5 requests per second per base rate limit when using an OAuth token.Executing this snippet with unique base ID's and a PAT results in success, executing the same snippet with an OAuth token results in a 429.I assumed maybe applying a global rate limit of 5 requests across per second across all bases would work but it didn't. For now I've settled on a global rate limit of 4 requests per second across all bases, it seems to work reliably.Airtable staff have confirmed that I'm running into an undocumented rate limit which can't yet be disclosed due to details not being finalised.Just wanted to share this to inform people and to find out whether others have encountered this.
Hey Folks, I am getting the following error when trying to access `v1/authorize` endpoint:```{"error": "invalid_request","error_description": "\\"code_challenge\\" must be a valid url-encoding of the the sha256 of the code_verifier variable generated (length 43, alphanumeric characters, \\"_\\", or \\"-\\"","state": "airtablebardello"}```The value of the code_challenge that I am sending to the server in that particular instance is "YjgwOGJjYTk5MGJjZTdjY2FjYjdkYmJjZDI1YzkxMGI5MDEwZDUxMzdlYjdhYmUwZDI0NWI0MWM5ODAzYjJiNw"Here is the full request modulo the client_id and redirect_uri: https://airtable.com/oauth2/v1/authorize?code_challenge_method=S256&state=airtablebardello&code_challenge=YjgwOGJjYTk5MGJjZTdjY2FjYjdkYmJjZDI1YzkxMGI5MDEwZDUxMzdlYjdhYmUwZDI0NWI0MWM5ODAzYjJiNw&client_id=xxx&response_type=code&redirect_uri=xxx&scope=data.records%3Aread+data.records%3Awrite+schema.bases%3Aread+schema.bases%3AwriteSpent quite a while but still couldn't figure out
Hi,I've registered an oAuth integration here and have given all permissions as seen in the below attached screenshot. I'm able to get the access token on the server side. The access token works for non metadata API calls. However when making metadata API calls like list bases or list tables, I'm getting the errorINVALID_PERMISSIONS_OR_MODEL_NOT_FOUND. I've tried with two different airtable accounts and through my application, terminal and postman as well. same result. Can you please help me resolve this problem? thank you! Error{"error": {"type": "INVALID_PERMISSIONS_OR_MODEL_NOT_FOUND","message": "Invalid permissions, or the requested model was not found. Check that your token has the required permissions and that the model names and/or ids are correct."}} oAuth integration config
I am looking to automate the assignment of people to call for my Airtable CRM - specifically I'd like an Automation to copy the first 20 records of my 'Hit Lister' Contact view and paste the contact names into the 'Touch Points' related table. Is there an automation or a script that could do this? I'm attaching a video below to better explain my use case:https://share.getcloudapp.com/DOukbKKKThank you!
Working on a project today with Airtable + Zapier (to send out some invitations), I had to make a few changes in the base as I was working. I gather that Zapier references most objects in Airtable by an object ID, so my impression is that, say, changing the name of a field or a view or a table will not break my Zap. Is that right?(Of course I understand that, if I want to point Zapier at a different table, different view, or different field, then I'd need to do that. I'm just asking about objects in the base that continue to serve same role, just with a modified name.)
Trying to push an update for my app, and when I hit block submit, I get this error from the Airtable server:Is something wrong with Airtable's extension servers?
Hello! I've created a script with the purpose of letting me know whether or not a customer exists based on an External id (could be: 123456789). When the ID is entered in the ID_field in Airtable the script should run and check in Billwerk if an ID matches. If so, give me a thumbs up in a Status field. Here is the Script: let apiKey = "XXXXXX"; let secret = "XXXXXXX" let endpoint = "https://api.billwerk.com/v1/customers"; // Define the Airtable table let table = base.getTable("tblovGgaXXXXX"); // Define the function to check if a customer exists in Billwerk async function checkCustomerExists() { // Get the input data from Airtable let airtableData = await table.selectRecordsAsync(); let inputData = airtableData.records.map((record) => record.getCellValue("External Id")); // Fetch the customer data from Billwerk let requestOptions = { headers: { Authorization: `Bearer ${apiKey}`, }, }; try { let response = await fetch(endpoint, requestOptions); let customer
Hey Guys, Just wondering if anyone can help me integrate & sync my airtable base to WordPress? Basically I have a real estate business and I’d like to display my listings into a WordPress theme. I saw that airpress is obsolete and no longer working I was wondering if there is an alternative solution? Thank you in advance!!!
Hello - I'm developing a deal tracking system to help my team win more business and report quicker to management. One management requirement is to show trends over time on the size of the deal pipeline.I can easily create a report or dashboard to show current statistics but management want to see how these statistics have changed over time. To do this I've created a new table in my Base for "Daily Stats" and I want to run a daily automation to calculate a snapshot of statistcs from my "Deals" table. Each statistic will have it's own field in the Daily Stats table with each record being the date/time of the automation. The type of stats I want to calculate are:- Total number of deals in the table- Number of open deals (filter out those with won and lost closed status')- Value of all open deals (each deal has a potential value, again need to be filtered)- Average cost of open deals (have a field already for costs)I can't figure a way to do this using formula/lookup/rollup fields wh
I understand why airtable chose to have attachment URLs expire, but I'd like to mirror some attachment data for users to be able to download things without a potentially brittle "sync".If the dynamic attachment URLs included e.g. a hash of the contents of the file (along with a random nonce), it would be trivial to detect when some content on the airtable side changed and make this problem trivial to solve.Is there already a mechanism to accomplish this that I missed? Or can this be added to a wish list?Thanks!
hey everybody! I'm struggling like crazy with a post request I'm trying to make from an airtable scripthere is what I am trying to do:From Airtable scripting, create an object that contains record data. DONESend that object through a post request to Google Apps Script. STRUGGLINGRead the data from google app scripts and use it to fill a template. NOT DONE YETThe reason why I am using this approach instead of pre-built Google Doc filling templates is because my data is complex and I need flexibility.Here is the final part of the Airtable code: let response = await remoteFetchAsync(url, { method: 'POST', body: JSON.stringify(getFacility(record)), headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', }, }); By logging the response, I get 401 unauthorised. Although, I am not sure what do I need to authorise, nor how. I could not find much information about this use case online. Any ideas? Thank you so much!!
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
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.