Need development and API help? Ask your questions here!
Recently active
Hello is it possible to use NodeJS coding within Airtable Scripts? I have a library of API codes that were configured with NodeJS. However, I seem to have issues with Axios and request-promise… Code Example: Code Example: Code Example: /////////////////////////////// Change these parameters ///////////////////////////////const API_UID = 'Oauth App UID from account settings';const PRIVATE_KEY = 'path/to/private/key.txt';/////////////////////////////const jwt = require('jsonwebtoken');const rp = require('request-promise');if (!global['URL']) { global.URL = require('url').URL;}const fs = require('fs');let privateKey = fs.readFileSync(PRIVATE_KEY);let uri = new URL(`[REDACTED]`);let aud = `${uri.protocol}//${uri.hostname}`, time = Math.trunc((new Date().getTime()) / 1000);let claim_set = { iss: API_UID, aud: aud, scope: 'admin_read admin_write', exp: time + 60, iat: time};let assertion = jwt.sign(claim_set, privateKey, {algorithm: 'RS256'});let payload = {
hello everyone, is there any way to filter the return using a GET call, I need it to return only the information of a column, which I call ID, I need my API return to show only the information corresponding to an ID, I can do that?
Hi,Does anyone have an idea on how to embed a stock chart into airtable that depends on the record chosen? I have an example of an iframe:<iframe referrerpolicy="origin" width="100%" height="470" style="background: #FFFFFF;padding: 10px; border: none; border-radius: 5px; box-shadow:0 2px 4px 0 rgba(0,0,0,.2)" src="https://jika.io/embed/area-chart?symbol=AAPL&selection=one_year&closeKey=close&boxShadow=true&graphColor=1652f0&textColor=161c2d&backgroundColor=FFFFFF&fontFamily=Nunito"></iframe>The symbol of the stock (eg symbol=AAPL ) I have in a coloum/record; so I would need the option to pass the symbol to the iframe to change the content displayed (stock item) depending on the chosen record. Then the iframe shall be embedded in the interface. Any ideas/help appreciated. Thank you!!
Hello,as explained in the title:I have a table "User" I have a single select field named "Color" 3 value possible: Red, Blue, Green Using make.com, I want to add dynamically a 4th option "yellow" So that the new possible value for this field would be: Red, Blue, Green, or YellowI am planning on doing it via Make.com using the API module and a PATCH but i wanted to check if it was possible to do it from an airtable perspective?thanks
Hello,I am a beginner and would like to use Airtable both as a database (clients, prospects, accounting) and as a CRM to schedule calls, SMS, and emails, similar to HubSpot, Zendesk, or PipeDrive. If Airtable allowed these actions directly from the database, it would closely resemble a CRM, but I’m not sure if this is natively possible.Since its interface already looks like a CRM, why doesn’t Airtable include built-in features for call reminders, SMS, or automated/one-click emails? If this isn’t available, is there a specific reason?From my research, it seems possible to achieve this using integrations with Make and external APIs, but a native solution would be much simpler.Here are the solutions I’m considering:Airtable / Make / Twilio or Messagebird: call reminders and SMS sending.Airtable / Make / Gmail / ChatGPT: automated email generation and sending (with manual validation) + email archiving.Airtable / Make / MailChimp or Klaviyo: email marketing campaigns.Looking forward to your
Hello everyone,I’m encountering an issue when trying to use the Sync API to upload a CSV file to Airtable. Every time I send my request, I receive the following error message:“Column names must be non-empty strings.”I’ve carefully checked my CSV file, and everything seems fine. The column headers are properly defined, and there are no empty values. What’s more confusing is that when I manually import the same CSV file into Airtable through the UI, it works perfectly without any errors.I have double-checked that:• The CSV file is correctly formatted.• Column headers are valid and properly named.• There are no empty column names.• The same file works fine when imported manually via the UI.Has anyone else faced this issue with the Sync API? Is there a specific requirement for the column headers when using this API that differs from the manual import?Code example :const res = await fetch(AIRTABLE_ENDPOINT, {method: "POST",headers: {"Content-Type": "text/csv",Authorization: `Bearer ${AIRTAB
Hello Team,I'm trying to connect my Voiceflow Project with Airtable, but I received a "can't send request," "Make sure the domain is publicly available or try a different URL". I tried to enable the API public access but I don't know to do that. Any help would be greatly appreciated. Thanks. Regards,louise
The Template M Query provided by Airtable at this link which integrates Airtable with Power BI, does not allow scheduling refreshes in Power BI:Instead of allowing you to schedule the refresh, Power BI shows this message warning that the "dataset includes a dynamic data source."Previously, the other Template M Query, with the past API_KEY, allowed to schedule refreshes. Therefore, I think there has to be a way to ensure scheduling with the recent personal_access_token.Has anyone had this problem as well? If so, does anyone know how to change the template to make it work?
Refresh Token logic intermittently failsWe're experiencing intermittent issues with the OAuth refresh token flow. While our initial token fetch consistently works (200 response from `/oauth2/v1/token`), some users encounter a 400 error during token refresh with:{"error": "invalid_grant","error_description": "Invalid token."}The peculiar aspect is that this only affects some users while working perfectly for others. The initial token exchange works flawlessly in all cases.I've compared our implementation with the official Airtable example repo and can't seem to find any breaking differences.Has anyone encountered similar issues or can suggest specific areas to investigate? We're particularly interested in understanding what could cause this intermittent behavior.Technical details of our implementation are available if needed.def refresh_airtable_token(token_type, refresh_token): """ Refresh the Airtable API token. """ token_url = "https://airtable.com/oauth2/v1/token" client_id = OAUT
API for searching in multiple basesHi community, My company developed an API to search multiple databases, we used Airtable for a talent pipeline for the company's recruiting team, and we found ourselves with the limit of 50,000 records (teams plan).Instead of upgrading the plan, we developed this solution. We divide our base by years and create several bases. And with this new program, we can search through all the databases quickly and effectively.I share screenshot In the API, you can search multiple fields (in the example, we search through name and Linkedin link), and then, it shows in which base the API found the specific record (Of course, you can choose which fields you want to display.)IF YOU ARE SHORT ON SPACE, YOU DO NOT NEED TO BUY A HIGHER PLAN, JUST CREATE MORE BASESThanks!Lucas
HeyI am using Postman to make an API call from Airtable to list all 14,000 of my records to store in a variable and pass onto voiceflow.This is my pre- request script: function getAllRecords() {const url = 'https://api.airtable.com/v0/baseID/tableID';let records = [];// First requestrequestAirtable(url, null, function(initial_response) {records.push(...initial_response.records);let offset = initial_response.offset;// Handle pagination recursivelyfunction fetchNextPage(offset) {if (!offset) {console.log(`✅ Data Fetch Complete! Total records: ${records.length}`);pm.environment.set("voiceflow_data", JSON.stringify({ fields: records }));return;}requestAirtable(url, offset, function(response) {records.push(...response.records);fetchNextPage(response.offset);});}fetchNextPage(offset);});}function requestAirtable(url, offset, callback) {const api_key = pm.environment.get("AIRTABLE_API_KEY"); // Securely store API keyif (offset) {url += `?offset=${offset}`;}const options = {url: url
Hello!I'm using the API extensively in powersave to create and update records.New records is created via `POST` and the attachment array gets processed just fine.But then, when a record is updated via `PATCH` the previous attachment seem to get partially corrupted. They can still be opened and viewed in full size but none of the thumbnail are available.I tried to send back the attachments in various formats:{ id }{ id, fileName, url }{ id: fileName }It seems to happen in all cases.Is there any way I can prevent this? Thanks a lot!
When you turn on the Rich Text Formatting option in a Long Text Field, you are limited in the Page Design Block. First of all, it is not possible to change the typefont, neither is it possible to change the font size. It is understandable that you cannot make the text bold, italic and so on, because that is what you do in the field itself. But, the font size and fonttype can not be change in the field itself. So, what is it gonna be: add features in the Long Field, or add them in the Block area? Regards, André
All this goofy 3rd party stuff to do a front end why doesn’t Airtable just buy Softr and be done with it? A unified cooment view like Slack would be good as well.
Hello, I'm having an issue with getting anything back when sending a post request.Using Voiceflow to integrate into airtable.comThe objective is for a patient/customer to be able to change their email and have the bot do it for them if the bot recognized that their email was different but first name, last name, number, etc were the same.There is no error, I'm getting a 200 back but the response is [] or emptyThe fields are filled out and I checked capitalizationScreenshots are below, any help would be appreciated.I checked the base ID and table for the API call and its correctI've tried just using a filterbyformula in a get request and it does the same thing and returns a ok 200 and empty response.
Hi everyone (reposting to correct category)I've created seemingly simple Zapier automations (zap) to bring subscription data into Airtable by creating/updating records in a Base table. While Zapier indicates success sending data to Airtable, no data shows up in Airtable base and table. I've been troubleshooting without success, so seeks suggestions here. Any thoughts are welcome!Zapier is connected to Airtable. I know this because I have another zap that works well with no issues to send the same source data to a different Airtable table in the same base. Also, I've confirmed that Zapier is "on" as a third-party app in Airtable Integrations.I have paid subscriptions to both platforms. In Zapier, I have not reached my task or zap limits, so that's not the issue. In building the zap in Zapier, the appropriate Base, Table, and fields in Airtable are available to select. Zap History shows success every single time. I use the Find Record in Airtable action to first seek for existing re
I am trying to create a google App Script, which contains columns mapping to an Airtable table. I would like to sync one-way from the Google Sheet, into Airtable. The first column is the primary key, and is used to match. If the record exists in Airtable, it will update. Else, it will create a new row.I am trying to execute the below function, to find out if the record exists already by primary key value (Note - NOT record ID). function upsertAirtableRecord(apiKey, baseId, tableName, primaryKey, fields, primaryKeyFieldName) { var url = 'https://api.airtable.com/v0/' + baseId + '/' + encodeURIComponent(tableName); // Search for the record to update var searchUrl = url + '?filterByFormula=(' + encodeURIComponent(`{${primaryKeyFieldName}}='${primaryKey}'`) + ')'; var options = { method: 'get', headers: { Authorization: 'Bearer ' + apiKey, }, }; This is returning an error: Exception: Request failed for https://api.airtable.com returned code
I am currently developing an integration with airtable base.It is very nice to have webhook notification from airtable api.1. How to respond properly to the notification?Once the record changes, the notification works via webhook.But it repeated more than once and I want to know how to stop it after receiving the first notification.2. How to clear payloads that already received?When the record changes with the attatchment field, there are two or more payloads for it. Here is a response data of payloads.{ "payloads": [ { "timestamp": "2025-02-05T15:24:39.621Z", "baseTransactionNumber": 300, "actionMetadata": { "source": "client", "sourceMetadata": { "user": { "id": "usre3JyKUosldgaGX", "email": "antman357357@gmail.com", "permissionLevel": "create", "name": "Ant Man", "pr
I had no idea what to call the subject for this post.....I want our company to donate £5 per 100 confirmed hours worked on site, to purchasing trees via ecologi.On the 5th of every month, I want the airtable to add up the total number of confirmed hours worked in the roster for the previous month.This number is to be divided by 100 with the result being x.x may be rounded up (optional at this stage), then the total amount is to be sent to our ecologi account using a webhook to zapier.Any leads onto how best to sum up the previous months totals please?Pro's and cons to watch out for?
Hello, With the API custom with a filterbyformula, I would like to collect all record, corresponding to my needs, from two differents fields. “Conversation?filterByFormula=%7Bexpediteur%7D%20%3D%20%27${user.email}%27” Like, in this case i would like to get all records into “expediteur” field where {user.email} corresponding. But now in my case, I would like the same but into two fields. (expediteur & destinataire) is it possible ? And how to write that ? Thanks you
I must be missing something very fundamental. I converted Airtable's sample extension into my own, and it's running beautifully over localhost:9000, displaying as an extension in my sample base, as you can see below. Everything functions when I check "simulate marketplace extension"But when I try submitting it for review, running "block submit" from the root (same place I run "block run" from) I got this:What permissions is it talking about?! What is the "requested model"? It's my own Airtable account, own workspace/base etc--and the code runs locally. What am I missing?Thanks!
Hello,I am trying to create a web app using Airtable and Softr. I have already created a fully functional application, but now I want to scale it so organizations can create their own profiles and customize them as they like without affecting other users. I am thinking of creating separate databases for all organizations and connecting them with a central database, similar to how we do it in native PostgreSQL. However, I seem to be stuck with Airtable. Can anyone help me achieve my goal?
I did a quick search and couldnt find what i am looking for so i apologize if this has been asked and answered already. I have a Word Press site using the Airpress plugin to pull data from one of my bases. Everything is working as it should but i am trying to figure how to input the airpress shortcodes into the header of my virtual pages for metatags. Has anyone been able to do this using Airpress? If not, is it possible, using the API, to build a custom template that will use airtable data for metatags? Airpress shortcodes work great in the body and so far it has done everything i need it to do except this.
I have this code that works well when filtering a field that is SIngle Line Text empName="Dummy Employee"let records = query.records.filter(record => record.getCellValue("Name") === empName); But If i want to filter a field that is a "Link to another record" field, it will not find it.let records = query.records.filter(record => record.getCellValue("Linked Name") === empName); I have a work around where I have a formula field that converts the value in the field "Linked Name" to a string, but i would like to tidy it up. Has anybody encountered such an issue? Thanks in advance
Hello Airtable Community,I am trying to upload an image via Base64 encoding using Airtable’s uploadAttachment API, but the uploaded image appears as a broken placeholder or a very tiny image instead of displaying properly.🔹 My Setup:Using Base64 encoding instead of a direct file URL.Posting via API to Airtable’s /uploadAttachment endpoint.The request is successfully received by Airtable, but the image does not display properly.🔹 Payload I’m Sending:{ "contentType": "image/jpeg", "file": "BASE64_ENCODED_STRING_HERE", "filename": "example.jpg" } 🔹 What I Have Tried So Far:✅ Verified the Base64 EncodingTested the Base64 string in an online decoder → it renders correctly.Confirmed the Base64 string is complete (not truncated).✅ Checked API ResponseAirtable successfully processes the request.The returned JSON includes a url for the image, but it does not display correctly.✅ Attempted Fixes:Tried adding data&colon;image/jpeg;base64, before t
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.