Need development and API help? Ask your questions here!
Recently active
I’ve added Multiple Select field to my base. In the Fields section on the API page it displays all the Possible Values this Multiple Select field as an array. Is there a way to grab this Possible Values array upfront or do I have to loop through the records and build this array based on each record’s selected value(s)?
Hi, when building our product iOS Shortcuts Library for Airtable users, it's all based on the Airtable API. In recent days, we've gained a lot of experience using the current Airtable API. Here is an overview and sharing of our knowledge that you can use as a quick reference before diving into the lengthy API documentation.Key Concept: BaseID, TableID, RecordIDWhen using the Airtable API, you need to specify which base and table you want to interact with. Unlike the Graph UI, you need to specify their IDs. The easiest approach is to open a record in your browser, and you will find the ID in the URL path.What Are the Major Capabilities of the Current Airtable API?Although there are more than 30 different APIs, here are the 4 most important ones, ranked objectively: 1. Read records in a table using one of these two APIs:List Records: Returns all records in the given table. You can apply filters in the API parameters.Get Record: Returns detailed information about one specific record.2. Cr
Hi all,This seems pretty basic but I can't get it to work after a day of researching and patching together example code I've found. I have no Javascript experience.I simply want to run a script that entirely clears the contents of a column. Here's what I have: let subsTable = base.getTable('Sub Assemblies'); let clearQuery = await subsTable.selectRecordsAsync({ fields: [] }); function myObj(rec){return {'id':rec.id,'fields':{'BOM CREATE':""}}}; let updates=clearQuery.records.map(myObj); console.log('updates: ',updates[0].fields) while (updates.length > 0) { await subsTable.updateRecordsAsync(updates.slice(0, 50)); updates = updates.slice(50); } The error I'm getting is: j: Error: Failed schema validation: <root> must be an arrayline: 2nd from last Any help appreciated!
i have a airtable with links its 110 in number in airtable but when i use api to access those links i am getting only 100. rest 10 are missing when i use the api What might be the reason i have provided two pics one of data table and one is my code .
Objective: I am trying to create an Airtable automation that triggers a script to increment a "Revision Number" field each time a button is clicked. The button is configured in an Airtable interface.Expected Behavior: When the button is pressed, the automation should trigger a script that receives the record ID as an input variable. The script should then fetch the record from the "Quotation" table, increment the "Revision Number" by 1, and update the record.Issue Encountered:Error Message: The script continually logs that no record ID is provided ("No record ID provided."), indicating that the recordId input variable is undefined.Script Setup: The script is set to fetch the record ID passed from the automation trigger (button press) and use this ID to locate and update the specific record.Automation Configuration: The automation is triggered by a button press in an interface, and it's supposed to pass the record ID to the script.Steps Taken:Verified that the automation trigger is corr
Hello Airtable CommunityAll of the info I've found on this subject is ironically in reverse (trying to reflect Airtable in Excel).I would like to have information that is originally added to Excel, to be reflected in Airtable.Is this possible? Furthermore would it be possible to use a shared document to do so?We're using a document from my company's Microsoft 360 account, but I can't seem to find the document under the cloud connected accounts (XLSB format) when importing a new table in Airtable.Thank you
HiI am trying to use below code (Google Apps Script) to get data from Airtable. The fetch request succeeds but the fields are returned as text [Object]. I am not able to see actual data. However the request works from other HTTP clients like Bruno.I have observed another issue. The code with small change marked below used to return data perfectly till couple of days ago but suddenly started throwing error 422. Hence I made below change and the result is missing data.Even GET method results same.Please suggest how this can be resolved as this is a show stopper.Currently the result is like below{ id: 'recrR654MViYPpGG5', createdTime: '2024-01-30T10:38:29.000Z', fields: [Object] }My code is as belowlet invoicenumin = "EI000002"const scriptProperties = PropertiesService.getScriptProperties();airdbKey = scriptProperties.getProperty('airdbkey')const fieldObj = ["quantity","unitprice","lineamount","itemdescription"]let filter = "{invoicenum} = " + '\''+invoicenumin +'\''const atdata = {//"rec
Hey Airtable Community!I have a problem that's been bugging me for some time and I can't seem to solve it, so I decided to ask for your help.I have an automation on Make.com that pulls data from my bank account, looks for transactions by [transactionId] in my Airtable base and, if not present, adds a new record. The problem though is that the filter formula I'm using in my API call sometimes works and sometimes doesn't.What I mean is when I perform tests, everything runs fine and after a few days the formula stops working - it doesn't identify correctly the records that are already in the the table and adds them again, effectively duplicating existing records. When I trigger the Airtable API call manually, using the [transactionId] field with filterByformula, it returns records correctly, but when it is executed in the workflow, it doesn't work.This is the formula in the API call I'm using: FIND("<transactionId>", {transactionId})=1Any help or guidance about what might be ca
Hi Folks, I need to find the linked table id of a lookup type column. Airtable metadata api returns this information for record links type field but it does not return for lookup type fields. I share sample response of metadata api for those field types. { "type": "multipleLookupValues", "id": "fldXYZ", "name": "Column 1" }, { "type": "multipleRecordLinks", "options": { "linkedTableId": "tblXYZ", "isReversed": false, "prefersSingleRecordLink": false, "inverseLinkFieldId": "fldYYY" }, "id": "fldAAA", "name": "Column 2" }
Hello, I am building an Airtable integration for my product to use the Airtable API on behalf of users. I would like to use the Official API client which is airtable.jsIn the interactive documentation link given, I had a look at the "Javascript" tab to see code snippet about Authentication, but it is using apiKey.In the airtable.js documentation saying :"OAuth access tokens can also be used." I would like to know how.Do you have any code sample with OAuth or documentation showing how to use OAuth access with airtable.js please ?
Hi, I’m looking for a way to query the “line number” (based on the current manual sorting of a table) when iterating over the records. I don’t have a table column which reflects the actual sorting so I can’t use a column as sort criteria with selectRecordsAsync(). Please see this simplified example: let table = base.getTable("MyTableName"); let result = await table.selectRecordsAsync(); for (let record of result.records) { // if record matches a certain criteria -> output certain record fields // including the line number according to the current (manual) sorting sequence } Any hints are appreciated! Thanks, Stefan
Hello, I am looking for a solution for my cycling club that would allow me to create categories for outings and whose members could register by looking at the different outings offered in the calendar. People who offer outings would have the right to create outings but those who register could only add their name and remove it if they cancel.Is it possible do this apps with AirtableEnhanced Cycling Club Outing SchedulerKey Features:Categorized Outings: Allow the creation of multiple outing categories (e.g., Road Cycling, Mountain Biking, Leisure Rides). Each category can have different permission settings and details like difficulty levels and expected duration.Interactive Calendar Interface: Utilize an easy-to-navigate calendar interface where outings are displayed. Members can click on a date to see all available outings and their details.Member Registration System: Members can register for outings with a simple click. Upon registration, the member’s name will appear under the outing
I have a very simple web page that does an API GET call. Sometimes it takes several minutes for the information to be updated. Does Airtable have a caching protocol when fetching results from the table? Thanks.
I've been playing around with both the SDK and just using fetch() requests, the latter mainly because I can't find thorough documentation for the former. The SDK docs don't say much of anything and the generated API docs just give me clues. What's the deal?
I'm currently using my Google Workspace account (which has 1500 emails/day, not 100 emails/day) to send Gmails through AirTable integrations. However, I'm unable to tell exactly how many emails are being sent with each call (which can vary).In other third party softwares like Pabbly Connect, you're able to see the remaining quota after each call. Is there anyway we can also see this information in AirTable? I need this information in order to know how to load balance email sending across our different workspace accounts.
I've registered a new OAuth integration record on my dev instance of Airtable, however when trying to perform the first step of authorization by getting a code I am presented with the following error:"This third-party app failed to properly construct a request to Airtable: invalid client_id or mismatched redirect_uri"This is the URL I am using:https://airtable.com/oauth2/v1/authorize?client_id=1236efdd-af9c-492f-8885-4e5e08fa7890&redirect_uri=https://devtest.planr.io/ords/f?p=800%3A2723&response_type=code&state=436287f7af5f17f557e268439c72b382dce853220653118aec882823&code_challenge=d3N-LaD1qJ-l65YaZiCINK6cAm30GR7_cNX5VckyzhU&code_challenge_method=S256&scope=data.records:read%20data.recordComments:read%20schema.bases:readWhat am I doing wrong?
hey guys,I have a huge database of customers in metabase.comwhat i want to achieve is a script that will access metabase via api, query the bookings table and based on some criteria return value from field ID (booking id).https://www.metabase.com/docs/latest/api/card#post-apicardcard-idqueryNow, this is what i've done so far:1. I managed to create my session token via postman2. I run this script in airtable: const METABASE_API_URL = 'https://CCCCCCCCCC.metabaseapp.com/api/card/AAAAAAAA/query'; const METABASE_TOKEN = 'BBBBBBBBBBBBBBBBBB'; async function fetchMetabaseData() { try { const queryPayload = JSON.stringify({ type: 'native', native: { query: "SELECT id FROM bookings WHERE client_id = '102827'" } }); const headers = { 'Content-Type': 'application/json', 'Authorization': `Bearer ${METABASE_TOKEN}` }; const response = await fetch(METABASE_API_U
Hi All! Can anyone provide some scripting advice - I want to create a script that changes a field type from Multiple Select to a Text field when it runs, and another script to do the reverse. Thanks in advance for any feedback!
OpenAPI is an API specification format which provides a way of creating a standard format to represent a given REST API. There’s a large community of tools built on top of the OpenAPI definition, including mock servers, schema visualizers, and SDK generators for a given language. Using Custom Blocks and the OpenAPI Schema UI we can create block which reads a base’s schema, generates the corresponding OpenAPI definition, and then displays the resulting documentation. Users can then export this schema and run it through any of the open-sourced OpenAPI tools. The Swagger UI also provides a way to make API calls from the documentation, so it can also be used as a playground to experiment with the Airtable API and see those changes immediately reflected in your base. Full source at https://github.com/TheF1rstPancake/AirtableOpenAPICustomBlock
I added a button to a table that forms a task when the button is clicked.The task is an async call to a REST API using Javascript's fetch. I'd like to be able to display the state of the operation, including when its completed.The code:// make the REST API with an async function const response = await updateLicense(config.access_token, employeeNumber, licenseNumber); // dispay the results of the processing output.text(response) Unfortunately, the code doesn't wait for the updateLicense function to complete. Any ideas?
the url I am using (In Power Automate Desktop) ishttps://api.airtable.com/v0/appKJvw9LuKiqGcRt/tbljRNXydGMGabTcf?fields:{"Account No","Case Descriptive"}&view=Update Taxes Monthly - Dad&filterByFormula=AND({DNC Case Master} = 0, OR({Taxes Owed Last Updated} = '', {Days Since Taxes Updated} > 60))This runs without error but returns all fields not just the two I definedfields: {"Account No", "Case Descriptive"}I also tried:fields: {"Account No"}, "{Case Descriptive"}I am pretty sure I am defining fields incorrectly but not sure what is wrong.Please adviseTIA
HI! I have to check if record still exist before making updates on it, but when I use "find" JS API method I receive 403: You are not authorized to perform this operation response on non-existing records. Same situation with the update method.When I use these methods on existing records everything works fine. Also current API-user have permissions to create new records.I use Personal access token with data.records:read, data.records:write scopes.Please help me to figure out why I get so strange response on non-existing record.
I was wondering if anyone had a workaround for displaying/hiding fields on an interface programmatically. (Softr can't do it, bubble either, I'm trying to avoid going fully custom UI)What we want to achieve is the following:WHEN a field is created in a table by a user (they do through a form connected to a Make scenario, not thru the Airtable data view)THEN that field gets added to a specific grid within a page within an interfaceWe don't want our users to access the data view or interface editing page, and we're kind of stuck.If anyone's got any idea, that'd be great!
There are 131 fields in my table. After retrieving 2000 records and making them synchronize their fields, i only receive success for 300 records when using scripting to import them to my Airtable table. Why is this?
hello guysI have outdoor laser tag business , I’m running airtable about 5 months after every client booking birthday . I need login to other service enter the details: name kids , ages , address , city , and created birthday invitation. it’s looks like this : http://fiestaa.co.il/inv37.php?id=15111I’m thinking why I do it in this way . if I have the all details on airtable already . Why no use them to create dynamic link from my website . I need same design for the birthday invitation. It’s video background . Each client need birthday invitation so in click from airtable it’s create unique link . And update airtable with . The next step is to use make and send to client massage with the url to share his family & friends . Thanks , David
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.